使用python下载股票和期权数据

时间:2018-12-19 00:11:49

标签: python finance yahoo-finance stock google-finance

我需要下载历史“股票数据”和当前的“期权价格数据”以获得股票报价。 有人可以指出我正确的包裹吗? 我尝试了yahoo-finance程序包,但是它不起作用。 有人可以张贴代码段下载相同的代码。 我已经看到几个帖子可以下载股票数据,而没有一个可以下载期权数据。因此,对下载两者的任何帮助将不胜感激。

以下是来自Yahoo Finance的历史数据和期权数据的链接,仅供您参考。

https://finance.yahoo.com/quote/MSFT/history?p=MSFT https://finance.yahoo.com/quote/MSFT/options?p=MSFT

谢谢 拉加瓦

3 个答案:

答案 0 :(得分:0)

Yahoo Finance已更改了许多API端点。因此,pandas_datareader软件包已弃用了对Yahoo的支持。 目前,类似这样的方法可能会有所帮助: http://www.blackarbs.com/blog/how-to-build-a-sequential-option-scraper-with-python-and-requests/7/8/2017 它是Beautiful Soup和其他软件包的组合,用于从网络上抓取数据。 如果您想使用旧版的Pandas,则可以应用此修复程序-但请考虑仅是临时解决方案:https://pypi.org/project/fix-yahoo-finance/ 德克

答案 1 :(得分:0)

您可以使用yahoo_fin软件包获取当前的期权数据和历史股价数据(请参见此处:http://theautomatic.net/yahoo_fin-documentation/)。它带有两个模块,stock_info和options。

要获取当前的期权数据,您可以执行以下操作:

from yahoo_fin import options

# gets the data for nearest upcoming expiration date
options.get_option_chain("nflx")

# specific expiration date
options.get_options_chain("nflx", "04/26/2019")


# get call options only
options.get_calls("nflx", "04/26/2019")


# get put options only
options.get_puts("nflx", "04/26/2019")

对于历史股价数据,您可以执行以下操作:

from yahoo_fin import stock_info as si

# pulls historical OHLC data into a pandas data frame
si.get_data("nflx")

# or some other ticker
si.get_data("insert ticker here")

答案 2 :(得分:0)

我使用robin_stocks python库解决了这个问题,该库具有出色的文档。

呼叫robin_stocks.options.get_chains('TSLA')将返回字典,其中包含特定股票的通用选项数据。密钥'expiration_dates'包含选项到期的日期列表作为其值。

注意:您确实需要一个Robinhood帐户才能访问它。