diff --git a/.idea/.DS_Store b/.idea/.DS_Store
new file mode 100644
index 00000000..1e6f0552
Binary files /dev/null and b/.idea/.DS_Store differ
diff --git a/.idea/dictionaries/.DS_Store b/.idea/dictionaries/.DS_Store
new file mode 100644
index 00000000..5008ddfc
Binary files /dev/null and b/.idea/dictionaries/.DS_Store differ
diff --git a/.idea/dictionaries/alvarobartt.xml b/.idea/dictionaries/alvarobartt.xml
deleted file mode 100644
index b758c3d8..00000000
--- a/.idea/dictionaries/alvarobartt.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
- etfs
- isin
- oneyear
-
-
-
\ No newline at end of file
diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index a672efee..1be837da 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -1,16 +1,20 @@
-
-
-
+
+
+
+
+
+
+
@@ -25,7 +29,7 @@
-
+
@@ -35,10 +39,10 @@
-
+
-
-
+
+
@@ -48,8 +52,160 @@
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -57,8 +213,8 @@
-
-
+
+
@@ -66,23 +222,37 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
-
+
-
-
+
+
@@ -91,195 +261,28 @@
-
+
-
+
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
@@ -296,13 +299,6 @@
- Max
- max
- Min
- smlID
- Data
- Data(
- Data(stock_date, stock_open, stock_high, stock_low, stock_close
return None
%Y
raise
@@ -316,7 +312,6 @@
bbva
bs4
beautiful
- print
resource_path = '/'.join(('resources',
Recent Data
name
@@ -326,6 +321,14 @@
0.8.2
ERR#020
Date
+ json.dumps(final
+ json.dumps
+ json.dumps(
+ sort_keys
+ available_lan
+ ,,
+ None
+ print
datetime.datetime.strptime(info[0].replace('.', '-'), '%d-%m-%Y')
@@ -382,26 +385,26 @@
-
-
-
-
+
+
+
+
+
+
+
-
-
-
-
+
@@ -456,7 +459,7 @@
-
+
@@ -482,7 +485,7 @@
-
+
@@ -512,9 +515,9 @@
-
+
-
+
@@ -602,10 +605,10 @@
-
+
-
+
@@ -643,32 +646,32 @@
-
+
+
-
+
-
-
+
-
-
-
+
+
+
-
+
-
+
-
+
-
-
+
+
@@ -735,16 +738,6 @@
-
-
-
-
-
-
-
-
-
-
@@ -765,9 +758,6 @@
-
-
-
@@ -783,98 +773,134 @@
-
+
-
-
+
+
-
+
+
+
+
-
-
+
+
-
+
-
-
+
+
-
+
-
-
+
+
-
+
-
-
+
+
+
+
+
-
-
+
+
+
+ Python
+ #/Users/alvaro/Desktop/TFG/investpy/investpy/__init__.py
+
+
+
+
+
+
+
+
-
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
-
+
+
+
+
+
+
-
-
+
+
@@ -885,170 +911,180 @@
-
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
+
+
-
-
+
+
-
+
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
+
-
-
+
+
diff --git a/.travis.yml b/.travis.yml
index 7f475467..ebcdae26 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -9,11 +9,11 @@ dist: xenial
install:
- pip install pandas==0.24.2
- - pip install requests==2.21.0
+ - pip install requests==2.22.0
- pip install lxml==4.3.3
- pip install unidecode==1.0.23
- - pip install investpy==0.8.4.3
- - pip install pytest==4.1.1
+ - pip install investpy==0.8.4.5
+ - pip install pytest==4.5
script:
- pytest
diff --git a/README.md b/README.md
index 90c121b6..627763d0 100644
--- a/README.md
+++ b/README.md
@@ -16,7 +16,7 @@ To conclude this section, I am in the need to specify that this is not the final
In order to get this package working you will need to install [**investpy**](https://pypi.org/project/investpy/) from PyPi via Terminal typing:
-``pip install investpy==0.8.4.4``
+``pip install investpy==0.8.4.5``
All the dependencies are already listed on the setup file of the package, but to sum them up, you will need the following requirements:
@@ -51,6 +51,7 @@ If needed you can open an [issue](https://github.com/alvarob96/investpy/issues)
* Updated docstrings as reStructuredText (via PyCharm)
* Modified JSON output to fit current standard for historical data
* Added function to retrieve information from listed ETFs (id, name, symbol and tag)
+*
## Additional Information
diff --git a/investpy/Data.py b/investpy/Data.py
index b506b136..c709d144 100644
--- a/investpy/Data.py
+++ b/investpy/Data.py
@@ -75,12 +75,13 @@ def fund_to_dict(self):
}
def fund_as_json(self):
- return {self.date.strftime('%d/%m/%Y'): {
- 'Open': self.open,
- 'High': self.high,
- 'Low': self.low,
- 'Close': self.close,
- }}
+ return {
+ 'date': self.date.strftime('%d/%m/%Y'),
+ 'open': self.open,
+ 'high': self.high,
+ 'low': self.low,
+ 'close': self.close,
+ }
def etf_to_dict(self):
return {
diff --git a/investpy/__init__.py b/investpy/__init__.py
index 67507193..9e102c77 100644
--- a/investpy/__init__.py
+++ b/investpy/__init__.py
@@ -6,13 +6,13 @@
__author__ = "Alvaro Bartolome "
import datetime
+import json
from random import randint
-import unidecode
import pandas as pd
import pkg_resources
import requests
-import json
+import unidecode
from lxml.html import fromstring
from investpy import user_agent as ua, equities as ts, funds as fs, etfs as es
@@ -22,6 +22,8 @@
# TODO: add country/market param and mapping of ‘resources/available_markets’ in order to allow users retrieve
# historical data from different markets.
+# DONE: available_languages replaced by available_markets
+
# TODO: create thread pools to increase scraping efficiency and improve ‘investpy’ performance => CHECK BOOK DOC
# TODO: generate sphinx documentation for version 1.0
@@ -51,6 +53,12 @@
# TODO: fix dosctrings and unify structure with Google docstrings or similar
+# WARNING: RE-GENERATE MARKET FILES BEFORE EVERY RELEASE
+
+# TODO: add 'clase de activo', 'isin' and 'emisor' to funds
+
+# DONE: updated equities, funds and etfs retrieval functions
+
def get_equities_list():
"""
@@ -164,10 +172,12 @@ def get_recent_data(equity, as_json=False, order='ascending'):
'recent':
[value.equity_as_json() for value in result]
}
- return json.dumps(json_)
+
+ return json.dumps(json_, sort_keys=False)
elif as_json is False:
df = pd.DataFrame.from_records([value.equity_to_dict() for value in result])
df.set_index('Date', inplace=True)
+
return df
else:
raise RuntimeError("ERR#004: data retrieval error while scraping.")
@@ -364,7 +374,7 @@ def get_historical_data(equity, start, end, as_json=False, order='ascending'):
raise RuntimeError("ERR#004: data retrieval error while scraping.")
if as_json is True:
- return json.dumps(final)
+ return json.dumps(final, sort_keys=False)
elif as_json is False:
return pd.concat(final)
else:
@@ -592,10 +602,12 @@ def get_fund_recent_data(fund, as_json=False, order='ascending'):
'recent':
[value.fund_as_json() for value in result]
}
- return json.dumps(json_)
+
+ return json.dumps(json_, sort_keys=False)
elif as_json is False:
df = pd.DataFrame.from_records([value.fund_to_dict() for value in result])
df.set_index('Date', inplace=True)
+
return df
else:
@@ -768,7 +780,7 @@ def get_fund_historical_data(fund, start, end, as_json=False, order='ascending')
raise RuntimeError("ERR#004: data retrieval error while scraping.")
if as_json is True:
- return json.dumps(final)
+ return json.dumps(final, sort_keys=False)
elif as_json is False:
return pd.concat(final)
else:
@@ -1032,10 +1044,12 @@ def get_etf_recent_data(etf, as_json=False, order='ascending'):
'recent':
[value.etf_as_json() for value in result]
}
- return json.dumps(json_)
+
+ return json.dumps(json_, sort_keys=False)
elif as_json is False:
df = pd.DataFrame.from_records([value.etf_to_dict() for value in result])
df.set_index('Date', inplace=True)
+
return df
else:
@@ -1201,14 +1215,14 @@ def get_etf_historical_data(etf, start, end, as_json=False, order='ascending'):
final.append(json_)
elif as_json is False:
df = pd.DataFrame.from_records([value.etf_to_dict() for value in result])
- df.set_index('date', inplace=True)
+ df.set_index('Date', inplace=True)
final.append(df)
else:
raise RuntimeError("ERR#004: data retrieval error while scraping.")
if as_json is True:
- return json.dumps(final)
+ return json.dumps(final, sort_keys=False)
elif as_json is False:
return pd.concat(final)
else:
diff --git a/investpy/equities.py b/investpy/equities.py
index cf0ca935..445a8668 100644
--- a/investpy/equities.py
+++ b/investpy/equities.py
@@ -49,7 +49,9 @@ def get_equity_names():
raise ConnectionError("ERR#015: error " + req.status_code + ", try again later.")
root_ = fromstring(req.text)
- path_ = root_.xpath(".//table[@id='cross_rate_markets_stocks_1']/tbody/tr")
+ path_ = root_.xpath(".//table[@id='cross_rate_markets_stocks_1']"
+ "/tbody"
+ "/tr")
results = list()
@@ -60,7 +62,11 @@ def get_equity_names():
for element_ in elements_.xpath('.//a'):
tag_ = element_.get('href').replace('/equities/', '')
full_name_ = element_.get('title').replace(' (CFD)', '')
- isin_ = get_isin_code(tag_)
+
+ try:
+ isin_ = get_isin_code(tag_)
+ except (ConnectionError, IndexError):
+ isin_ = None
data = {
"name": element_.text,
@@ -105,22 +111,30 @@ def get_isin_code(info):
req = requests.get(url, headers=head, timeout=5)
if req.status_code != 200:
- # raise ConnectionError("ERR#015: error " + req.status_code + ", try again later.")
- return None
+ raise ConnectionError("ERR#015: error " + req.status_code + ", try again later.")
root_ = fromstring(req.text)
- path_ = root_.xpath("/html/body/div[5]/section/div[4]/div[1]/div[2]/div[3]/span[2]")
+ path_ = root_.xpath(".//div[contains(@class, 'overViewBox')]"
+ "/div[@id='quotes_summary_current_data']"
+ "/div[@class='right']"
+ "/div")
- code = None
-
- if path_:
+ for p in path_:
try:
- code = path_[0].text_content().rstrip()
- time.sleep(.5)
+ if p.xpath("span[not(@class)]")[0].text_content().__contains__('ISIN'):
+ try:
+ code = p.xpath("span[@class='elp']")[0].text_content().rstrip()
+ time.sleep(.5)
+
+ return code
+ except IndexError:
+ raise IndexError("ERR#017: isin code unavailable or not found.")
+ else:
+ continue
except IndexError:
raise IndexError("ERR#017: isin code unavailable or not found.")
- return code
+ return None
def list_equities():
diff --git a/investpy/etfs.py b/investpy/etfs.py
index 4e9e93c5..001b4ed1 100644
--- a/investpy/etfs.py
+++ b/investpy/etfs.py
@@ -5,6 +5,8 @@
__author__ = "Alvaro Bartolome "
+import time
+
import pandas as pd
import requests
import json
@@ -40,7 +42,9 @@ def get_etf_names():
raise ConnectionError("ERR#015: error " + req.status_code + ", try again later.")
root_ = fromstring(req.text)
- path_ = root_.xpath(".//table[@id='etfs']/tbody/tr")
+ path_ = root_.xpath(".//table[@id='etfs']"
+ "/tbody"
+ "/tr")
results = list()
@@ -99,11 +103,11 @@ def list_etfs():
if etfs is None:
raise IOError("ERR#009: etf list not found or unable to retrieve.")
-
- return etfs['name'].tolist()
+ else:
+ return etfs['name'].tolist()
-def dict_etfs(columns=['id', 'name', 'symbol', 'tag'], as_json=False):
+def dict_etfs(columns=None, as_json=False):
"""
This function retrieves all the available etfs and returns a dictionary with the specified columns.
Available columns are: 'id', 'name', 'symbol' and 'tag'
@@ -114,8 +118,11 @@ def dict_etfs(columns=['id', 'name', 'symbol', 'tag'], as_json=False):
:returns a dictionary that contains all the available etf values specified in the columns
"""
- if not isinstance(columns, list):
- raise ValueError("ERR#020: specified columns argument is not a list, it can just be list type.")
+ if columns is None:
+ columns = ['id', 'name', 'symbol', 'tag']
+ else:
+ if not isinstance(columns, list):
+ raise ValueError("ERR#020: specified columns argument is not a list, it can just be list type.")
if not isinstance(as_json, bool):
raise ValueError("ERR#002: as_json argument can just be True or False, bool type.")
diff --git a/investpy/funds.py b/investpy/funds.py
index e1b7b76e..cebc5ae8 100644
--- a/investpy/funds.py
+++ b/investpy/funds.py
@@ -40,7 +40,9 @@ def get_fund_names():
raise ConnectionError("ERR#015: error " + req.status_code + ", try again later.")
root_ = fromstring(req.text)
- path_ = root_.xpath(".//table[@id='etfs']/tbody/tr")
+ path_ = root_.xpath(".//table[@id='etfs']"
+ "/tbody"
+ "/tr")
results = list()
@@ -49,19 +51,19 @@ def get_fund_names():
id_ = elements_.get('id').replace('pair_', '')
symbol = elements_.xpath(".//td[contains(@class, 'symbol')]")[0].get('title')
- nested = elements_.xpath(".//a")[0]
- info = nested.get('href').replace('/funds/', '')
+ nested = elements_.xpath(".//a")[0].get('title').rstrip()
+ info = elements_.xpath(".//a")[0].get('href').replace('/funds/', '')
if symbol:
data = {
- "name": nested.text,
+ "name": nested,
"symbol": symbol,
"tag": info,
"id": id_
}
else:
data = {
- "name": nested.text,
+ "name": nested,
"symbol": "undefined",
"tag": info,
"id": id_
@@ -107,7 +109,7 @@ def fund_information_to_json(df):
'Category': str(df['Category'][0])
}
- result = json.dumps(json_)
+ result = json.dumps(json_, sort_keys=False)
return result
@@ -132,5 +134,9 @@ def list_funds():
if funds is None:
raise IOError("ERR#005: fund list not found or unable to retrieve.")
+ else:
+ return funds['name'].tolist()
+
- return funds['name'].tolist()
+if __name__ == '__main__':
+ get_fund_names()
\ No newline at end of file
diff --git a/investpy/resources/available_languages.csv b/investpy/resources/available_markets.csv
similarity index 100%
rename from investpy/resources/available_languages.csv
rename to investpy/resources/available_markets.csv
diff --git a/investpy/resources/es/equities.csv b/investpy/resources/es/equities.csv
index ba8b8021..d27eb9f1 100644
--- a/investpy/resources/es/equities.csv
+++ b/investpy/resources/es/equities.csv
@@ -164,7 +164,6 @@ PharmaMar S.A.,959215,ES0169501030,PharmaMar,pharma-mar-sau
Gigas Hosting SA,960710,ES0105093001,Gigas Hosting SA,gigas-hosting-sa
Neol Biosolutions SA,960711,ES0105081006,Neol Biosolutions SA,neol-biosolutions-sa
Agile Content SA,961658,ES0105102000,Agile Content SA,agile-content-sa
-Think Smart SA,961659,ES0105097002,Think Smart SA,think-smart-sa
Zambal Spain Socimi SA,961773,ES0105080008,Zambal Spain Socimi SA,zambal-spain-socimi-sa
Oryzon Genomics SA,962024,ES0167733015,Oryzon Genomics,oryzon-genomics-sa
Tecnoquark Trust SA,962349,ES0105076006,Tecnoquark Trust SA,tecnoquark-trust-sa
@@ -234,3 +233,4 @@ Euripo Properties Socimi,1122284,ES0105387007,Euripo Properties,euripo-propertie
Proeduca Altus SA,1123486,ES0105400008,Proeduca Altus,proeduca-altus
Meridia Real Estate III Socimi SA,1123955,ES0105313003,Meridia RE III,meridia-re-iii
Iffe Futura SA,1123956,ES0171613005,Iffe Futura,iffe-futura
+Compania Espanola de Viviendas en Alquiler SA,1130889,ES0132955008,Viviendas en Alquiler,viviendas-en-alquiler
diff --git a/investpy/resources/es/etfs.csv b/investpy/resources/es/etfs.csv
index 03aa8ddb..c978d470 100644
--- a/investpy/resources/es/etfs.csv
+++ b/investpy/resources/es/etfs.csv
@@ -1,7 +1,7 @@
id,name,symbol,tag
37633,Lyxor Ibex 35 Doble Inverso Diario,2INVE,lyxor-ibex-35-x2-inverso
37631,Lyxor Ibex 35 Doble Apalancado Diario C-EUR,IBEXA,lyxor-ibex-35-doble-apalancado
-37632,Accion IBEX 35 Cotizado Armonizado FI,BBVAI,bbva-accion-ibex-35
47649,BBVA Accion DJ Eurostoxx 50,BBVAE,bbva-accion-dj-eurostoxx-50
-38897,Lyxor Ibex 35 Inverso Diario,INVEX,lyxor-ibex-35-invers
38898,Lyxor Ibex35 (DR) D-EUR,LYXIB,lyxor-ibex-35
+37632,Accion IBEX 35 Cotizado Armonizado FI,BBVAI,bbva-accion-ibex-35
+38897,Lyxor Ibex 35 Inverso Diario,INVEX,lyxor-ibex-35-invers
diff --git a/investpy/resources/es/funds.csv b/investpy/resources/es/funds.csv
index f2398386..d1f7ebcd 100644
--- a/investpy/resources/es/funds.csv
+++ b/investpy/resources/es/funds.csv
@@ -1,101 +1,101 @@
id,name,symbol,tag
-1073479,Old Mutual Global Equity Absolute Return A EUR Hed,0P00013398,old-mutual-global-equity-abs-a-acc
-1010294,Quality Inversion Conservadora FI,172273007,quality-inversion-conservadora-fi
-1085467,Julius Baer Multibond Local Emerging Bond Fund U,0P00000MSY,julius-baer-locemrgngbnd-usd-e
-1061760,BlackRock Strategic Funds - Fixed Income Strategie,0P0000LZO2,fixed-income-strategies-fund-a2-eur
-1010291,Quality Inversion Moderada FI,172242002,quality-inversion-moderada-fi
-1073183,Morgan Stanley Investment Funds - Global Opportuni,0P0000RZ2K,ms-global-opportunity-fund-bh-eur
-1073646,Deutsche Concept Kaldemorgen LC,0P0000T2ET,deutsche-concept-kaldemorgen-lc
-1061762,Deutsche Concept Kaldemorgen NC,0P0000T2EV,deutsche-concept-kaldemorgen-nc
-1073642,Pictet - Robotics HP EUR,0P0001788V,pictet-robotics-hp-eur
-1010149,Bankia Soy Asi Cauto FI,158976037,bankia-soy-asi-cauto-fi
-1063734,Sabadell Prudente Plus FI,0P00015Q8Q,sabadell-prudente-plus-fi
-1063733,Sabadell Prudente Empresa FI,0P00016RCN,sabadell-prudente-empresa-fi
-1063735,Sabadell Prudente Premier FI,0P00015Q8R,sabadell-prudente-premier-fi
-1009576,Sabadell Prudente Base FI,111187003,sabadell-prudente-base-fi
-1063736,Sabadell Prudente Pyme FI,0P00016RCM,sabadell-prudente-pyme-fi
-1009504,Albus Extra FI,107678015,albus-extra-fi
-1009503,Albus Platinum FI,107678007,albus-platinum-fi
-1063189,Caixabank Monetario Rendimiento Premium FI,0P0000V8VG,caixabank-monetario-premium-fi
-1063187,Caixabank Monetario Rendimiento Platinum FI,0P00000WDT,caixabank-monetario-platinum-fi
-1063185,Caixabank Monetario Rendimiento Esto¡ndar FI,0P0000V8VE,caixabank-monetario-estoindar-fi
-1063184,Caixabank Monetario Rendimiento Cartera FI,0P0000V8VH,caixabank-monetario-cartera-fi
-1063186,Caixabank Monetario Rendimiento Institucional FI,0P0000V8VI,caixabank-monetario-institucionalfi
-1063188,Caixabank Monetario Rendimiento Plus FI,0P0000V8VF,caixabank-monetario-plus-fi
-1009477,Caixabank Ahorro Estandar FI,105002002,caixabank-ahorro-estandar-fi
-1009479,Caixabank Ahorro Premium FI,105002036,caixabank-ahorro-premium-fi
-1063162,Caixabank Ahorro Institucional FI,0P000160SC,caixabank-ahorro-institucional-fi
-1009478,Caixabank Ahorro Plus FI,105002010,caixabank-ahorro-plus-fi
-1009513,Santander Select Moderado S FI,107781009,santander-select-moderado-s-fi
-1009514,Santander Select Moderado A FI,107781017,santander-select-moderado-a-fi
-1010030,Caixabank Iter Platinum FI,145458016,caixabank-iter-platinum-fi
-1010029,Caixabank Iter Extra FI,145458008,caixabank-iter-extra-fi
-1063145,CABK Equilibrio PP,0P000011YT,cabk-equilibrio-pp
-1009903,Caixabank Renta Fija Flexible Plus FI,138219037,caixabank-renta-fija-flexible-plus
-1009901,Caixabank Renta Fija Flexible Estandar FI,138219003,caixabank-renta-fija-flexible-estan
-1009902,Caixabank Renta Fija Flexible Patrimonio FI,138219011,caixabank-renta-fija-flexible-patri
-1063193,Caixabank Renta Fija Flexible Platinum FI,0P000148IK,caixabank-renta-fija-flexible-plat
-1063192,Caixabank Renta Fija Flexible Cartera FI,0P000160T8,caixabank-renta-fija-flexible-cart
-1063194,Caixabank Renta Fija Flexible Premium FI,0P000148IL,caixabank-renta-fija-flexible-prem
-1072968,Vontobel Fund - Emerging Markets Equity H EUR,0P00005VLV,vontobel-em-equity-h-eur
-1043265,Templeton Asian Growth A acc USD,0P00000B0R,templeton-asian-growth-a-acc-usd
-1073644,JPMorgan Funds - Europe Equity Plus Fund D Perf Ac,0P000094D4,jp-europe-equity-plus-d-perf-acc
-1010191,Caixabank Equilibrio Estandar FI,164539001,caixabank-equilibrio-estandar-fi
-1010193,Caixabank Equilibrio Plus FI,164539035,caixabank-equilibrio-plus-fi
-1010192,Caixabank Equilibrio Premium FI,164539019,caixabank-equilibrio-premium-fi
-1010121,Santander Tandem 0-30 FI,155818034,santander-tandem-0-30-fi
-1075198,Vanguard Pacific ex-Japan Stock Index Fund Investo,0P00012I6O,vanguard-pacific-exjp-stock-eur-acc
-1072234,Vanguard Japan Stock Index Fund Investor EUR Accum,0P00001QSE,vanguard-japan-stock-investor-e-acc
-1010195,Caixabank Crecimiento Plus FI,164540033,caixabank-crecimiento-plus-fi
-1010194,Caixabank Crecimiento Estandar FI,164540009,caixabank-crecimiento-estandar-fi
-1010356,Santander Select Patrimonio A FI,175835018,santander-select-patrimonio-a-fi
-1010355,Santander Select Patrimonio S FI,175835000,santander-select-patrimonio-s-fi
-1009928,Santander Rendimiento S FI,138534047,santander-rendimiento-s-fi
-1063833,Santander Rendimiento Cartera FI,0P00016ZNJ,santander-rendimiento-cartera-fi
-1009925,Santander Rendimiento A FI,138534005,santander-rendimiento-a-fi
-1009926,Santander Rendimiento B FI,138534021,santander-rendimiento-b-fi
-1009927,Santander Rendimiento C FI,138534039,santander-rendimiento-c-fi
-1073187,Morgan Stanley Investment Funds - US Growth Fund A,0P00000BN2,ms-us-growth-fund-a-usd
-1073186,Morgan Stanley Investment Funds - US Growth Fund A,0P00000SGC,ms-us-growth-fund-a
-1063139,CABK Destino 2022 PP,0P000170QF,cabk-destino-2022-pp
-1013692,Plancaixa Ambición Global PP,LP77001891,plancaixa-ambicion-global-pp
-1063738,Sabadell Rendimiento Cartera FI,0P0001774G,sabadell-rendimiento-cartera-fi
-1063737,Sabadell Rendimiento Canalizador FI,0P0001774F,sabadell-rendimiento-canalizador-fi
-1063739,Sabadell Rendimiento Empresa FI,0P0001774H,sabadell-rendimiento-empresa-fi
-1010317,Sabadell Rendimiento Base FI,173829039,sabadell-rendimiento-base-fi
-1063740,Sabadell Rendimiento Plus FI,0P0001774I,sabadell-rendimiento-plus-fi
-1063742,Sabadell Rendimiento Pyme FI,0P0001774K,sabadell-rendimiento-pyme-fi
-1063741,Sabadell Rendimiento Premier FI,0P0001774J,sabadell-rendimiento-premier-fi
-1063032,BBVA Multiactivo Conservador PP,0P00000ZZX,bbva-multiactivo-conservador-pp
-1009491,Santander Renta Fija Corto Plazo I FI,105931036,santander-renta-fija-corto-plazo-i
-1063835,Santander Renta Fija Corto Plazo A FI,0P00015KUS,santander-renta-fija-corto-plazo-a
-1010199,Caixabank Seleccion Tendencias Estandar FI,164853006,caixabank-seleccion-tendencias-esta
-1010200,Caixabank Seleccion Tendencias Plus FI,164853014,caixabank-seleccion-tendencias-plus
-1073650,Candriam Equities L Biotechnology Class C USD Cap,0P00000BOM,candriam-equities-biotech-c-usd-cap
-1009585,SPB RF Corto Plazo I FI,112793031,spb-rf-corto-plazo-i-fi
-1063849,SPB RF Corto Plazo A FI,0P00015L1O,spb-rf-corto-plazo-a-fi
-1062934,Bankia Cauto PP,0P00000WZY,bankia-cauto-pp
-1063523,Mi Plan Santander Prudente PP,0P0000UI86,mi-plan-santander-prudente-pp
-1009656,Bestinfond FI,114673033,bestinfond-fi
-1063522,Mi Plan Santander Moderado PP,0P0000UJ6B,mi-plan-santander-moderado-pp
-1073649,Franklin Biotechnology Discovery Fund A(acc)USD,0P00000SX6,franklin-biotech-discovery-a-acc
-1063400,Ibercaja Mixto Flexible 15 B FI,0P0000Q74L,ibercaja-mixto-flexible-15-b-fi
-1010050,Ibercaja Mixto Flexible 15 A FI,146944006,ibercaja-mixto-flexible-15-a-fi
-1010042,Ibercaja BP Renta Fija A FI,146791001,ibercaja-bp-renta-fija-a-fi
-1010043,Ibercaja BP Renta Fija B FI,146791019,ibercaja-bp-renta-fija-b-fi
-1066563,Amundi Index Solutions - Amundi Index MSCI Emergin,0P00012TNM,amundi-index-msci-em-aec
-1062939,Bankia Evolucion Prudente FI,0P00000GIY,bankia-evolucion-prudente-fi
-1009824,Cartera Optima Prudente B FI,133578031,cartera-optima-prudente-b-fi
-1063260,Cartera Optima Prudente A FI,0P000155MZ,cartera-optima-prudente-a-fi
-1009766,Kutxabank RF Carteras FI,125627002,kutxabank-rf-carteras-fi
-1010035,Santander Inversion Corto Plazo FI,145822005,santander-inversion-corto-plazo-fi
-1063781,Santander Acciones Espaonolas D FI,0P000195PC,santander-acciones-espaoolas-d-fi
-1063780,Santander Acciones Espaonolas Cartera FI,0P00016ZNL,santander-acciones-espaoolas-cart
-1009956,Santander Acciones Espanolas B FI,138823010,santander-acciones-espanolas-b-fi
-1009957,Santander Acciones Espanolas A FI,138823036,santander-acciones-espanolas-a-fi
-1009955,Santander Acciones Espanolas C FI,138823002,santander-acciones-espanolas-c-fi
-1009653,Bestinver Internacional FI,114638036,bestinver-internacional-fi
-1063047,BBVA Plan Multiactivo Moderado PP,0P000085O0,bbva-plan-multiactivo-moderado-pp
-1073182,CS Invm Fds 2 - Credit Suisse Lux Global Security ,0P0000YOFZ,cs-global-security-equity-bh-eur
-1009889,Caixabank Bolsa Seleccion Global Plus FI,138172004,caixabank-bolsa-seleccion-global-pl
-1010156,Bankia Soy Asi Flexible FI,159084039,bankia-soy-asi-flexible-fi
+1010294,Quality Inversión Conservadora Fi,172273007,quality-inversion-conservadora-fi
+1073639,Nordea 1 - Stable Return Fund E Eur,0P00001N5G,nordea-1-stable-return-fund-e-eur
+1073479,Merian Global Equity Absolute Return Fund A Eur Hedged Acc,0P00013398,old-mutual-global-equity-abs-a-acc
+1085467,Gam Multibond - Local Emerging Bond Usd E,0P00000MSY,julius-baer-locemrgngbnd-usd-e
+1010291,Quality Inversión Moderada Fi,172242002,quality-inversion-moderada-fi
+1073183,Morgan Stanley Investment Funds - Global Opportunity Fund Bh (eur),0P0000RZ2K,ms-global-opportunity-fund-bh-eur
+1061760,Blackrock Strategic Funds - Fixed Income Strategies Fund A2 Eur,0P0000LZO2,fixed-income-strategies-fund-a2-eur
+1061762,Dws Concept Kaldemorgen Eur Nc,0P0000T2EV,deutsche-concept-kaldemorgen-nc
+1073646,Dws Concept Kaldemorgen Eur Lc,0P0000T2ET,deutsche-concept-kaldemorgen-lc
+1009514,Mi Fondo Santander Moderado A Fi,107781017,santander-select-moderado-a-fi
+1009513,Mi Fondo Santander Moderado S Fi,107781009,santander-select-moderado-s-fi
+1063185,Caixabank Monetario Rendimiento Estándar Fi,0P0000V8VE,caixabank-monetario-estoindar-fi
+1063184,Caixabank Monetario Rendimiento Cartera Fi,0P0000V8VH,caixabank-monetario-cartera-fi
+1063186,Caixabank Monetario Rendimiento Institucional Fi,0P0000V8VI,caixabank-monetario-institucionalfi
+1063187,Caixabank Monetario Rendimiento Platinum Fi,0P00000WDT,caixabank-monetario-platinum-fi
+1063188,Caixabank Monetario Rendimiento Plus Fi,0P0000V8VF,caixabank-monetario-plus-fi
+1063189,Caixabank Monetario Rendimiento Premium Fi,0P0000V8VG,caixabank-monetario-premium-fi
+1073642,Pictet - Robotics Hp Eur,0P0001788V,pictet-robotics-hp-eur
+1010149,Bankia Soy Así Cauto Universal Fi,158976037,bankia-soy-asi-cauto-fi
+1009478,Caixabank Ahorro Plus Fi,105002010,caixabank-ahorro-plus-fi
+1009479,Caixabank Ahorro Premium Fi,105002036,caixabank-ahorro-premium-fi
+1063162,Caixabank Ahorro Institucional Fi,0P000160SC,caixabank-ahorro-institucional-fi
+1009477,Caixabank Ahorro Estándar Fi,105002002,caixabank-ahorro-estandar-fi
+1063735,Sabadell Prudente Premier Fi,0P00015Q8R,sabadell-prudente-premier-fi
+1063734,Sabadell Prudente Plus Fi,0P00015Q8Q,sabadell-prudente-plus-fi
+1063733,Sabadell Prudente Empresa Fi,0P00016RCN,sabadell-prudente-empresa-fi
+1009576,Sabadell Prudente Base Fi,111187003,sabadell-prudente-base-fi
+1063736,Sabadell Prudente Pyme Fi,0P00016RCM,sabadell-prudente-pyme-fi
+1009503,Albus Platinum Fi,107678007,albus-platinum-fi
+1009504,Albus Extra Fi,107678015,albus-extra-fi
+1063193,Caixabank Renta Fija Flexible Platinum Fi,0P000148IK,caixabank-renta-fija-flexible-plat
+1009901,Caixabank Renta Fija Flexible Estándar Fi,138219003,caixabank-renta-fija-flexible-estan
+1009902,Caixabank Renta Fija Flexible Patrimonio Fi,138219011,caixabank-renta-fija-flexible-patri
+1009903,Caixabank Renta Fija Flexible Plus Fi,138219037,caixabank-renta-fija-flexible-plus
+1063192,Caixabank Renta Fija Flexible Cartera Fi,0P000160T8,caixabank-renta-fija-flexible-cart
+1063194,Caixabank Renta Fija Flexible Premium Fi,0P000148IL,caixabank-renta-fija-flexible-prem
+1063145,Cabk Equilibrio Pp,0P000011YT,cabk-equilibrio-pp
+1043265,Templeton Asian Growth Fund A(acc)usd,0P00000B0R,templeton-asian-growth-a-acc-usd
+1010030,Caixabank Iter Platinum Fi,145458016,caixabank-iter-platinum-fi
+1010029,Caixabank Iter Extra Fi,145458008,caixabank-iter-extra-fi
+1072968,Vontobel Fund - Emerging Markets Equity H (hedged) Eur,0P00005VLV,vontobel-em-equity-h-eur
+1066563,Amundi Index Solutions - Amundi Index Msci Emerging Markets Ae-c,0P00012TNM,amundi-index-msci-em-aec
+1010195,Caixabank Crecimiento Plus Fi,164540033,caixabank-crecimiento-plus-fi
+1073186,Morgan Stanley Investment Funds - Us Growth Fund A,0P00000SGC,ms-us-growth-fund-a
+1073187,Morgan Stanley Investment Funds - Us Growth Fund A,0P00000BN2,ms-us-growth-fund-a-usd
+1010356,Mi Fondo Santander Patrimonio A Fi,175835018,santander-select-patrimonio-a-fi
+1010355,Mi Fondo Santander Patrimonio S Fi,175835000,santander-select-patrimonio-s-fi
+1010193,Caixabank Evolución Plus Fi,164539035,caixabank-equilibrio-plus-fi
+1010192,Caixabank Evolución Premium Fi,164539019,caixabank-equilibrio-premium-fi
+1073644,Jpmorgan Funds - Europe Equity Plus Fund D (perf) (acc) - Eur,0P000094D4,jp-europe-equity-plus-d-perf-acc
+1009928,Santander Rendimiento S Fi,138534047,santander-rendimiento-s-fi
+1009925,Santander Rendimiento A Fi,138534005,santander-rendimiento-a-fi
+1009926,Santander Rendimiento B Fi,138534021,santander-rendimiento-b-fi
+1009927,Santander Rendimiento C Fi,138534039,santander-rendimiento-c-fi
+1063833,Santander Rendimiento Cartera Fi,0P00016ZNJ,santander-rendimiento-cartera-fi
+1063139,Cabk Destino 2022 Pp,0P000170QF,cabk-destino-2022-pp
+1072234,Vanguard Japan Stock Index Fund Investor Eur Accumulation,0P00001QSE,vanguard-japan-stock-investor-e-acc
+1063032,Bbva Multiactivo Conservador Pp,0P00000ZZX,bbva-multiactivo-conservador-pp
+1063741,Sabadell Rendimiento Premier Fi,0P0001774J,sabadell-rendimiento-premier-fi
+1063740,Sabadell Rendimiento Plus Fi,0P0001774I,sabadell-rendimiento-plus-fi
+1063738,Sabadell Rendimiento Cartera Fi,0P0001774G,sabadell-rendimiento-cartera-fi
+1063737,Sabadell Rendimiento Canalizador Fi,0P0001774F,sabadell-rendimiento-canalizador-fi
+1063742,Sabadell Rendimiento Pyme Fi,0P0001774K,sabadell-rendimiento-pyme-fi
+1063739,Sabadell Rendimiento Empresa Fi,0P0001774H,sabadell-rendimiento-empresa-fi
+1010317,Sabadell Rendimiento Base Fi,173829039,sabadell-rendimiento-base-fi
+1063835,Santander Renta Fija Corto Plazo A Fi,0P00015KUS,santander-renta-fija-corto-plazo-a
+1009491,Santander Renta Fija Corto Plazo I Fi,105931036,santander-renta-fija-corto-plazo-i
+1010199,Caixabank Selección Tendencias Estándar Fi,164853006,caixabank-seleccion-tendencias-esta
+1010200,Caixabank Selección Tendencias Plus Fi,164853014,caixabank-seleccion-tendencias-plus
+1009585,Spb Rf Corto Plazo I Fi,112793031,spb-rf-corto-plazo-i-fi
+1063849,Spb Rf Corto Plazo A Fi,0P00015L1O,spb-rf-corto-plazo-a-fi
+1013692,Cabk Crecimiento Pp,LP77001891,plancaixa-ambicion-global-pp
+1073650,Candriam Equities L Biotechnology Class C Usd Cap,0P00000BOM,candriam-equities-biotech-c-usd-cap
+1010035,Santander Inversión Corto Plazo Fi,145822005,santander-inversion-corto-plazo-fi
+1073649,Franklin Biotechnology Discovery Fund A(acc)usd,0P00000SX6,franklin-biotech-discovery-a-acc
+1062934,Bankia Cauto Pp,0P00000WZY,bankia-cauto-pp
+1010043,Ibercaja Bp Renta Fija B Fi,146791019,ibercaja-bp-renta-fija-b-fi
+1010042,Ibercaja Bp Renta Fija A Fi,146791001,ibercaja-bp-renta-fija-a-fi
+1063522,Mi Plan Santander Moderado Pp,0P0000UJ6B,mi-plan-santander-moderado-pp
+1009656,Bestinfond Fi,114673033,bestinfond-fi
+1063523,Mi Plan Santander Prudente Pp,0P0000UI86,mi-plan-santander-prudente-pp
+1009766,Kutxabank Rf Carteras Fi,125627002,kutxabank-rf-carteras-fi
+1063047,Bbva Plan Multiactivo Moderado Pp,0P000085O0,bbva-plan-multiactivo-moderado-pp
+1063260,Cartera óptima Prudente A Fi,0P000155MZ,cartera-optima-prudente-a-fi
+1009824,Cartera óptima Prudente B Fi,133578031,cartera-optima-prudente-b-fi
+1063400,Ibercaja Mixto Flexible 15 B Fi,0P0000Q74L,ibercaja-mixto-flexible-15-b-fi
+1010050,Ibercaja Mixto Flexible 15 A Fi,146944006,ibercaja-mixto-flexible-15-a-fi
+1062939,Bankia Evolución Prudente Universal Fi,0P00000GIY,bankia-evolucion-prudente-fi
+1063141,Cabk Destino 2030 Pp,0P000170QH,cabk-destino-2030-pp
+1010156,Bankia Soy Así Flexible Universal Fi,159084039,bankia-soy-asi-flexible-fi
+1009889,Caixabank Bolsa Selección Global Plus Fi,138172004,caixabank-bolsa-seleccion-global-pl
+1009890,Caixabank Bolsa Selección Global Premium Fi,138172012,caixabank-bolsa-seleccion-global-pr
+1009891,Caixabank Bolsa Selección Global Estándar Fi,138172038,caixabank-bolsa-seleccion-global-es
+1073182,Cs Invm Fds 2 - Credit Suisse (lux) Global Security Equity Fund Bh Eur,0P0000YOFZ,cs-global-security-equity-bh-eur
+1062956,Bankia Moderado Pp,0P000013XR,bankia-moderado-pp
+1009653,Bestinver Internacional Fi,114638036,bestinver-internacional-fi
+1063259,Cartera óptima Moderada A Fi,0P000155MW,cartera-optima-moderada-a-fi
+1009842,Cartera óptima Moderada B Fi,133878035,cartera-optima-moderada-b-fi
+1010115,Ing Direct Fondo Naranja Renta Fija Fi,152772036,ing-direct-fondo-naranja-renta-fija
+1063389,Ibercaja Crecimiento Dinámico B Fi,0P0000S2C0,ibercaja-crecimiento-dinoimico-b-fi
diff --git a/setup.py b/setup.py
index 0410b50c..68d09858 100644
--- a/setup.py
+++ b/setup.py
@@ -11,10 +11,10 @@ def readme():
setup(
name='investpy',
- version='0.8.4.4',
+ version='0.8.4.5',
packages=find_packages(),
url='https://github.com/alvarob96/investpy',
- download_url='https://github.com/alvarob96/investpy/archive/0.8.4.4.tar.gz',
+ download_url='https://github.com/alvarob96/investpy/archive/0.8.4.5.tar.gz',
license='MIT License',
author='Alvaro Bartolome',
author_email='alvarob96@usal.es',