Yahoo! Finance market data downloader +fix for Pandas Datareader's get_data_yahoo()
Project description
Yahoo! Finance Fix for Pandas Datareader
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.
Quick Start
The Ticker module
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
Fetching data for multiple tickers
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
)
pandas_datareader override
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")
Installation
Install fix_yahoo_finance using pip:
$ pip install fix_yahoo_finance --upgrade --no-cache-dir
Requirements
Optional (if you want to use pandas_datareader)
pandas_datareader >= 0.4.0
Legal Stuff
fix-yahoo-finance is distributed under the Apache Software License. See the LICENSE.txt file in the release for details.
P.S.
Please drop me an note with any feedback you have.
Ran Aroussi
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.