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

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第三方库


热门话题
swing Java JScrollBar设计   java如何按名称显示输出   java如何将多个ArrayList连接成一个?   java存储SSLSocketFactory为静态字段   java获得了奇怪的csv文件时间输出   java类在JSP中没有该属性   java ehcache程序未运行   java如何对数组的所有元素应用或操作?   sqlite如何用Java编写adb shell命令   java泛型中的动态数据类型   javajaxrs@Path阻止加载静态资源   java如何在安卓中从主字符串中获取特定字符串?   java与FLAG_LAYOUT_NO_LIMITS相反   关于OpenJDK 11和OpenJFX 11(&Proguard)的java迁移问题   eclipse设置Selenium for Java(创建Firefox驱动程序所需的JAR和导入)   java如何将空字符串更新为oracle Clob   对象为什么在Java中同时重写equals()和hashCode()?   java从另一个类获取变量的正确方法