Yahoo! finance has decommissioned their historical data API, causing many programs that relied on it to stop working.
fix-yahoo-finance fixes the problem by scraping the data from Yahoo! finance
and returning a Pandas DataFrame in the same format as pandas_datareader's
get_data_yahoo()
.
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.
==> Check out this Blog post for a detailed tutorial with code examples.
The Ticker
module, which allows you to access
ticker data in amore Pythonic way:
import fix_yahoo_finance as yf
msft = yf.Ticker("MSFT")
# get stock info
msft.info
# get historical market data
hist = msft.history(period="max")
# show actions (dividends, splits)
msft.actions
# show dividends
msft.dividends
# show splits
msft.splits
import fix_yahoo_finance as yf
data = yf.download("SPY AAPL", start="2017-01-01", end="2017-04-30")
I've also added some options to make life easier :)
data = yf.download( # or pdr.get_data_yahoo(...
# tickers list or string as well
tickers = "SPY IWM TLT",
# use "period" instead of start/end
# valid periods: 1d,5d,1mo,3mo,6mo,1y,2y,5y,10y,ytd,max
# (optional, default is '1mo')
period = "mtd",
# fetch data by interval (including intraday if period < 60 days)
# valid intervals: 1m,2m,5m,15m,30m,60m,90m,1h,1d,5d,1wk,1mo,3mo
# (optional, default is '1d')
interval = "1m",
# 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,
# download pre/post regular market hours data
# (optional, default is False)
prepost = True
)
from pandas_datareader import data as pdr
import fix_yahoo_finance as yf
yf.pdr_override() # <== that's all it takes :-)
# download dataframe
data = pdr.get_data_yahoo("SPY", start="2017-01-01", end="2017-04-30")
Install fix_yahoo_finance
using pip
:
$ pip install fix_yahoo_finance --upgrade --no-cache-dir
- pandas_datareader >= 0.4.0
fix-yahoo-finance is distributed under the Apache Software License. See the LICENSE.txt file in the release for details.
Please drop me an note with any feedback you have.
Ran Aroussi