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

yfinanceng的Python项目详细描述


雅虎!金融ng python3/熊猫市场数据下载器

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

自从Yahoo! finance退役以来 他们的历史数据API,许多依赖它停止工作的程序。在

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

该库最初命名为yfinance,但是 我已经将它重命名为yfinanceng,因为我不再认为它只是一个“修复”,作者是 没有及时维护或合并PRs。在

Changelog »

快速入门

股票代码模块

Ticker模块,它允许您访问 股票数据以一种神秘的方式:

importyfinancengasyfmsft=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.financialsmsft.quarterly_financials# show major holdersmsft.major_holders# show institutional holdersmsft.institutional_holders# show balance heetmsft.balance_sheetmsft.quarterly_balance_sheet# show cashflowmsft.cashflowmsft.quarterly_cashflow# show earningsmsft.earningsmsft.quarterly_earnings# show sustainabilitymsft.sustainability# show analysts recommendationsmsft.recommendations# show next event (earnings, etc)msft.calendar# show ISIN code - *experimental*# ISIN = International Securities Identification Numbermsft.isin# show options expirationsmsft.options# get option chain for specific expirationopt=msft.option_chain('YYYY-MM-DD')# data available via: opt.calls, opt.puts

如果要使用代理服务器下载数据,请使用:

^{pr2}$

要初始化多个Ticker对象,请使用

importyfinancengasyftickers=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

正在获取多个tickers的数据

importyfinancengasyfdata=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)threads=True,# proxy URL scheme use use when downloading?# (optional, default is None)proxy=None)

pandas_datareaderoverride

如果您的代码使用pandas_datareader,并且您想更快地下载数据, 您可以“劫持”pandas_datareader.data.get_data_yahoo()方法来使用 yfinanceng同时确保返回的数据的格式与 pandas\u datareaderget_data_yahoo()。在

frompandas_datareaderimportdataaspdrimportyfinancengasyfyf.pdr_override()# <== that's all it takes :-)# download dataframedata=pdr.get_data_yahoo("SPY",start="2017-01-01",end="2017-04-30")

安装

使用pip安装yfinanceng

$ pip install yfinanceng --upgrade --no-cache-dir

使用conda安装yfinanceng

$ conda install -c larroy yfinanceng

要求

可选(如果要使用pandas_datareader

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

推荐PyPI第三方库


热门话题
java无法启动应用程序:JNLP错误   java根据用户输入在PreparedStatement中使用setTime()或setNull()   java EJB与同步   java以object为键通过hashmap进行搜索   java中的模10^9+7   针对包含其他对象的对象的java OOP最佳实践   如何将字符串作为HTML代码从Java文件读取到JSP页面?   java我的POM怎么了?“解析表达式..检测到递归表达式循环”   用于Hbase的Mapreduce的java NoSuchMethodError   JAVAlang.SecurityException:权限拒绝:启动意图{act=安卓.Intent.action.MAIN cat=[安卓.Intent.category.LAUNCHER]   数组初始化谜语Java   通过arraylist搜索时的java句柄关联