From 5263f0e6d3693212b1b1ff7f237ee799277fed32 Mon Sep 17 00:00:00 2001 From: alvarob96 Date: Fri, 17 May 2019 20:33:16 +0200 Subject: [PATCH] updated resources and requirements & fixed errors - fixed scraping errors (xpath) - added todo tasks - completed done tasks - 0.8.5 version preparation - efficiency/errors checks need --- .idea/.DS_Store | Bin 0 -> 6148 bytes .idea/dictionaries/.DS_Store | Bin 0 -> 6148 bytes .idea/dictionaries/alvarobartt.xml | 9 - .idea/workspace.xml | 890 +++++++++--------- .travis.yml | 6 +- README.md | 3 +- investpy/Data.py | 13 +- investpy/__init__.py | 32 +- investpy/equities.py | 36 +- investpy/etfs.py | 19 +- investpy/funds.py | 20 +- ...le_languages.csv => available_markets.csv} | 0 investpy/resources/es/equities.csv | 2 +- investpy/resources/es/etfs.csv | 4 +- investpy/resources/es/funds.csv | 200 ++-- setup.py | 4 +- 16 files changed, 654 insertions(+), 584 deletions(-) create mode 100644 .idea/.DS_Store create mode 100644 .idea/dictionaries/.DS_Store delete mode 100644 .idea/dictionaries/alvarobartt.xml rename investpy/resources/{available_languages.csv => available_markets.csv} (100%) diff --git a/.idea/.DS_Store b/.idea/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..1e6f0552e08951d849cfd1b7615119d534609f3a GIT binary patch literal 6148 zcmeHK!Ab)$5S`SjX;th&P(1C$TZI;@Jqb(IgEwJC4=TFr7G0>D(%o9LR`x&ikNg0C z$C)Ipl-iq!lo^=3$z&!WFH2?v0HV&|B(SYyJZORylx@I_WS&rkOaM?9kf({F&{y@6(wn<@+oq2`T2!KDT}hWQoQo+ zRnJTPw3{^i&IR>O{PaGs_Nh{>k?jX(QL}elT02m2>PK<2qm!esi6NKgQ5>pXLv`aY z(erp_K+1wFT$eWc{q5>bZMW>y>U)E-)34VnXz%O|1_imkRoy?nd3bv6zYJdA49@~T zNiC}uhwzTZ)Ga@How%jqJB%6T5AztA0cL<1m>CA_1t*tgW=FgcW`G&^Ee7a*a8LOL*J5T6M^J=GMKr0xJ~4zzN55m^T#K1OlMX_!jPux) zg?*t2y*m0G9S*`Z$SpI#42&}{XSyY-|3}l`|KmyAV+NRknPNcX552<%ZpqfxiOo^1 ubx?0mNhmHeI7&f7mtu^iQoMnx1^o^gh_1!VAbL>vM?llS4Kwhk4157wu2w7n literal 0 HcmV?d00001 diff --git a/.idea/dictionaries/.DS_Store b/.idea/dictionaries/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..5008ddfcf53c02e82d7eee2e57c38e5672ef89f6 GIT binary patch literal 6148 zcmeH~Jr2S!425mzP>H1@V-^m;4Wg<&0T*E43hX&L&p$$qDprKhvt+--jT7}7np#A3 zem<@ulZcFPQ@L2!n>{z**++&mCkOWA81W14cNZlEfg7;MkzE(HCqgga^y>{tEnwC%0;vJ&^%eQ zLs35+`xjp>T0 - - - 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 @@ - - - + + + + + + + @@ -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 @@ - + @@ -482,7 +485,7 @@ - + - - - + - - - + + + - + - + - + - - + + @@ -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',