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

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 AudioEffect不支持双簧管?   增加内存后出现java IntelliJ堆大小错误   在unix/linux中工作的java中将unicode字符串转换为ASCII   java是否缺少正确对齐输出的值?   java Spring 3 MVC:动态表单中的onetomany(创建/更新时添加/删除)   java在接口中创建两个通用参数   lambda使用Java 8从嵌套列表中使用forEach查找项的替代方法是什么?   Java正则表达式匹配10位电话号码,中间有空格   linux将log4j外部化。使用命令行Java的属性文件   带有SSL的java简单RMI服务器   java无法为事务[…]打开JPA EntityManager无法获取驱动程序类“null”和URL“null”的连接   Android设备上的java Oauth Foursquare   for循环的ImageButton名称的java骰子模拟浓缩   java有没有简单的1d条形码阅读器?   如何在调用resultset后解决“无效字符串或缓冲区长度”。从java到访问mdb的getString()连接   在Java8中,是否可以使用JVM参数来控制何时(或在什么条件下)卸载类?