在以前几篇对股票数据做分析和预测的文章后,很多读者对如何获取股票数据很有兴趣。下面就介绍下美股的历史数据获取api来回馈读者。
美股的历史数据获取api
众所周知,Yahoo财经废掉了他们的历史数据api,导致许多依赖它的程序也遭遇了危机。但不用怕!新的股票历史数据引擎来了。
yfinance
提供可靠线程和Pythonic方式从Yahoo!下载历史市场数据来提供金融数据。
Yahoo财经废掉了他们的历史数据api
名字由来
最初被命名fix-yahoo-finance,但作者已将其重命名为yfinance。因为不再认为它仅仅是"修复"。由于向后兼容的原因,fix-yahoo-finance现在导入和使用yfinance,但用户现在可以直接安装和使用yfinance。
快速开始
安装
安装yfinance使用pip:
$ pip install yfinance --upgrade --no-cache-dir
Ticker模块
该Ticker模块,允许您以更好的Pythonic方式访问股票代码数据:
如果要使用代理服务器下载数据,请使用:
要初始化多个Ticker对象,请使用
获取多个代码的数据
import yfinance as yf data = yf.download("SPY AAPL", start="2017-01-01", end="2017-04-30")
有趣的调用方法
:
1. data = yf.download( # or pdr.get_data_yahoo(...
2. # tickers list or string as well
3. tickers = "SPY AAPL MSFT",
4.
5. # use "period" instead of start/end
6. # valid periods: 1d,5d,1mo,3mo,6mo,1y,2y,5y,10y,ytd,max
7. # (optional, default is '1mo')
8. period = "ytd",
9.
10. # fetch data by interval (including intraday if period < 60 days)
11. # valid intervals: 1m,2m,5m,15m,30m,60m,90m,1h,1d,5d,1wk,1mo,3mo
12. # (optional, default is '1d')
13. interval = "1m",
14.
15. # group by ticker (to access via data['SPY'])
16. # (optional, default is 'column')
17. group_by = 'ticker',
18.
19. # adjust all OHLC automatically
20. # (optional, default is False)
21. auto_adjust = True,
22.
23. # download pre/post regular market hours data
24. # (optional, default is False)
25. prepost = True,
26.
27. # use threads for mass downloading? (True/False/Integer)
28. # (optional, default is True)
29. treads = True,
30.
31. # proxy URL scheme use use when downloading?
32. # (optional, default is None)
33. proxy = None
34. )
pandas_datareader 兼容调用
如果您的代码使用pandas_datareader并且您希望更快地下载数据,则可以"重载" pandas_datareader.data.get_data_yahoo()方法以使用 yfinance,为
确保返回的数据与pandas_datareader的格式相同,请调用get_data_yahoo()。
1. from pandas_datareader import data as pdr
2.
3. import yfinance as yf
4. yf.pdr_override() # <== that's all it takes :-)
5.
6. # download dataframe
7. data = pdr.get_data_yahoo("SPY", start="2017-01-01", end="2017-04-30")
本文地址:http://www.cj8803.cn/100067.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 931614094@qq.com 举报,一经查实,本站将立刻删除。