This release mainly solves some investpy.search_quotes
bugs and also adds more functionality to the data that can be retrieved from the resulting investpy.SearchObj
class instances while calling the function. Thanks a lot to all the people that reported this issues! 🔥
🐛 Bug Fixes
- Some of the
investpy
static files were not being properly read, as thepd.read_csv
function interprets the value 'NA' as thenp.nan
value, so that it gets automatically substituted. What in this case was a problem since there's a Canadian stock with symbol 'NA' so the pandas function was parsing it as a NaN which was making the Canadian static files useless as that information could not be accessed, as described in #346. investpy.SearchObj.retrieve_information
class method has been fixed, since Investing.com has updated the HTML format just for the stocks/equities, and the generic scraping method that we developed in that function was no longer working. So on, that method has been updated so as to retrieve it assuming the latest HTML format for stocks/equities, while assuming the old format for all the other ones #395, with the detail that whenever Investing.com applies the new HTML format to all the other financial products the transition will be automatic, since both approaches are being checked before retrieving the information.- Raised the same error (IndexError) whenever the data was not available due to an Investing.com error, not related at all with the parsing method, but with the availability of that data in the website (#212).
- The results provided by
investpy.search_quotes
are now consistent, since previously as then_results
parameter was added, it was making the function return a single element not just every time the parameter value was set to 1, which was the intention of that parameter, but also when there was just one search result even if the user specified a greater value or even None (retrieve all). So on, this was causing an inconsistency in the returned type as then_results=1
restriction was being applied even when the parameter was not set to 1, as reported in #339. - Some other minor fixes!
🎈 New Features
investpy.SearchObj
implements a new method to retrieve the technical indicators data from Investing.com for all the financial products, as long as that information is available, just using the method.retrieve_technical_indicators()
of eachinvestpy.SearchObj
class instance, as requested in #374, #391, and #392.- You can also retrieve the default currency of each financial product via the
investpy.SearchObj
class method.retrieve_currency()
, as this feature has been requested a lot lately as it's really important to get to know the currency in which the financial product's data is provided in, as requested in #172, #181, #381, and #390. - Since the Investing.com HTML has been updated (currently just for the stocks/equities but we think that this update will come sooner or later for all the other financial products available) we've included some conditions so as to use one data retrieval method or another depending on the HTML version lets say. So on, currently all the information provided by
investpy.SearchObj
class methods is aligned with the naming and format of the stocks'/equities' HTML, which means that we tried to align everything. - Now the
.retrieve_recent_data()
and.retrieve_historical_data()
class methods ofinvestpy.SearchObj
have been updated so as to include theChange Percentage (%)
value which is now provided by Investing.com, as spotted while going through #375. - The
pytest
tests for the CI have also been updated since some functions were not being properly tested and some others were not even tested. This new tests, along with the addition of Windows-OS as the new testing OS alognside Linux (#380), is making the tests more consistent and reliable. - Finally, the documentation has been also updated, as now it's using the Furo theme rather than the ReadTheDocs theme that it was using before, since I think Furo's theme is way cleaner and that, combined with the updated docs and explanations, will make the documentation much more readable and easy to go through.
📌 Notes
You can install the new version as it follows:
pip install investpy==1.0.7
Or just update the one you already have:
pip install investpy --upgrade
📖 Information
Anyways, feel free to open as many issues as you think the package needs in order to improve investpy! Any kind of help is appreciated since this is an open-source project.
Contact me via email, via LinkedIn, via Twitter or via GitHub.