雅虎!金融市场数据下载程序

yfinance的Python项目详细描述


雅虎!金融市场数据下载器

Python versionPyPi versionPyPi statusPyPi downloadsTravis-CI build statusCodeFactorStar this repoFollow me on twitter

Yahoo! finance退役以来 他们的历史数据api,很多依赖它停止工作的程序。

yfinance旨在通过提供可靠的线程, 从雅虎下载历史市场数据的方法!金融。

这个库最初命名为fix-yahoo-finance,但是 后来我把它改名为yfinance,因为我不再认为它只是一个“修复程序”。 出于向后竞争的原因,fix-yahoo-finance现在导入并 使用yfinance,但应直接安装并使用yfinance

Changelog »


==>;查看此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

P.S.

请给我一张便条,上面有你的任何反馈。

ran唤醒

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java IntelliJ找不到依赖项选项卡   java向字符串数组string[]添加元素并在Junit中测试结果   如何在eclipse中获取活动java项目的名称   如何使用java在mysql中插入时间   java ArrayList更新了插入一行,但Jtable仍然没有刷新   如何在JavaSwing中命名坐标(点)   java Matcher/模式不打印   java错误地设置了arraylist   使用UsernamePasswordCredential提供程序的java列表Azure AD   java在HTTP请求中设置UTC时间   未加载事件:jquery完整日历Java集成   java Maven插件依赖项无法从内部repo解析依赖项   Maven更新重置Java版本   java如何向中添加图片。带有Apache POI XWPF的docx,但不指定其大小   Java最大函数递归