雅虎!金融市场数据下载程序
yfinance的Python项目详细描述
雅虎!金融市场数据下载器
从Yahoo! finance退役以来 他们的历史数据api,很多依赖它停止工作的程序。
yfinance旨在通过提供可靠的线程, 从雅虎下载历史市场数据的方法!金融。
注
这个库最初命名为fix-yahoo-finance,但是 后来我把它改名为yfinance,因为我不再认为它只是一个“修复程序”。 出于向后竞争的原因,fix-yahoo-finance现在导入并 使用yfinance,但应直接安装并使用yfinance。
==>;查看此Blog post以获得包含代码示例的详细教程。
快速启动
自动售票模块
Ticker模块,它允许您访问 以更像Python的方式记录数据:
importyfinanceasyfmsft=yf.Ticker("MSFT")# get stock infomsft.info# get historical market datahist=msft.history(period="max")# show actions (dividends, splits)msft.actions# show dividendsmsft.dividends# show splitsmsft.splits# show financialsmsft.financials# show balance heetmsft.balance_sheet# show cashflowmsft.cashflow# show options expirationsmsft.options# get option chain for specific expirationopt=msft.option_chain('YYYY-MM-DD')# data available via: opt.calls, opt.puts
如果要使用代理服务器下载数据,请使用:
importyfinanceasyfmsft=yf.Ticker("MSFT")msft.history(...,proxy="PROXY_SERVER")msft.get_actions(proxy="PROXY_SERVER")msft.get_dividends(proxy="PROXY_SERVER")msft.get_splits(proxy="PROXY_SERVER")msft.get_balance_sheet(proxy="PROXY_SERVER")msft.get_cashflow(proxy="PROXY_SERVER")msgt.option_chain(...,proxy="PROXY_SERVER")
要初始化多个Ticker对象,请使用
importyfinanceasyftickers=yf.Tickers('msft aapl goog')# ^ returns a named tuple of Ticker objects# access each ticker using (example)tickers.msft.infotickers.aapl.history(period="1mo")tickers.goog.actions
获取多个票务器的数据
importyfinanceasyfdata=yf.download("SPY AAPL",start="2017-01-01",end="2017-04-30")
我还添加了一些使生活更轻松的选项:)
data=yf.download(# or pdr.get_data_yahoo(...# tickers list or string as welltickers="SPY AAPL MSFT",# use "period" instead of start/end# valid periods: 1d,5d,1mo,3mo,6mo,1y,2y,5y,10y,ytd,max# (optional, default is '1mo')period="ytd",# 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,# use threads for mass downloading? (True/False/Integer)# (optional, default is True)treads=True,# proxy URL scheme use use when downloading?# (optional, default is None)proxy=None)
pandas_datareader覆盖
如果您的代码使用pandas_datareader,并且希望更快地下载数据, 您可以“劫持”pandas_datareader.data.get_data_yahoo()方法来使用 yfinance同时确保返回的数据与 pandas\u数据读取器'sget_data_yahoo()。
frompandas_datareaderimportdataaspdrimportyfinanceasyfyf.pdr_override()# <== that's all it takes :-)# download dataframedata=pdr.get_data_yahoo("SPY",start="2017-01-01",end="2017-04-30")
安装
使用pip:
安装yfinance。$ pip install yfinance --upgrade --no-cache-dir
使用conda:
安装yfinance。$ conda install -c ranaroussi yfinance
可选(如果要使用pandas_datareader)
- pandas_datareader>;=0.4.0
法律问题
yfinance在apache软件许可证下分发。有关详细信息,请参见发行版中的LICENSE.txt文件。
P.S.
请给我一张便条,上面有你的任何反馈。
ran唤醒