Temporary fix for Pandas Datareader's get_data_yahoo()
Yahoo! Finance Fix for Pandas Datareader
fix-yahoo-finance offers a temporary fix to the problem by using Selenium to scrape the data from Yahoo! finance and return a Pandas DataFrame/Panel in the same format as the original get_data_yahoo() method.
Yahoo! finance has decommissioned their historical data API, causing many programs that relied on the get_data_yahoo() to stop working.
By basically “hijacking” pandas_datareader.data.get_data_yahoo() method, fix-yahoo-finance’s implantation is easy and only requires to import fix_yahoo_finance into your code.
from pandas_datareader import data as pdr import fix_yahoo_finance # <== that's all it takes :-) # download dataframe data = pdr.get_data_yahoo("SPY", start="2017-01-01", end="2017-04-30") # download Panel data = pdr.get_data_yahoo(["SPY", "IWM"], start="2017-01-01", end="2017-04-30")
I’ve also added some options to make life easier :)
Below is the full list of acceptable parameters:
data = pdr.get_data_yahoo( # tickers list (single tickers accepts a string as well) tickers = ["SPY", "IWM", "..."], # start date (YYYY-MM-DD / datetime.datetime object) # (optional, defaults is 1950-01-01) start = "2017-01-01", # end date (YYYY-MM-DD / datetime.datetime object) # (optional, defaults is Today) end = "2017-04-30", # return a multi-index dataframe # (optional, default is Panel, which is deprecated) as_panel = False, # group by ticker (to access via data['SPY']) # (optional, default is 'column') group_by = 'ticker', # adjust all OHLC automatically # (optional, default is False) auto_adjust = True )
- Install fix_yahoo_finance using pip:
$ pip install fix_yahoo_finance --upgrade --no-cache-dir
- Install Chrome Driver
$ wget https://chromedriver.storage.googleapis.com/2.29/chromedriver_linux64.zip $ unzip chromedriver_linux64.zip $ mv chromedriver /usr/local/sbin/chromedriver
* The above code is for Linux 64bit. Other OS version are listed here.
Setting Chrome Driver Location
If you can’t / won’t install the Chrome driver in your system’s $PATH, you can explicitly tell fix-yahoo-finance the location of the Chrome driver executable:
import fix_yahoo_finance fix_yahoo_finance.set_chromedriver_path('/path/to/chromedriver')
Then, simply continue normally.
fix-yahoo-finance is distributed under the GNU Lesser General Public License v3.0. See the LICENSE.txt file in the release for details.
Please drop me an note with any feedback you have.
Release history Release notifications
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
|Filename, size||File type||Python version||Upload date||Hashes|
|Filename, size fix-yahoo-finance-0.0.2.tar.gz (8.4 kB)||File type Source||Python version None||Upload date||Hashes View hashes|