【问题标题】:How to pull Call/Put Option prices with pandas-datareader in Python?如何在 Python 中使用 pandas-datareader 拉取看涨/看跌期权价格?
【发布时间】:2019-06-20 09:36:09
【问题描述】:
我有以下代码。我试图从雅虎和谷歌中提取数据,两者都不起作用。它正在抛出以下消息
from pandas_datareader.data import Options
fb_options = Options('TSLA', 'yahoo')
options_df = fb_options.get_options_data(expiry=fb_options.expiry_dates[0])
print(options_df.tail())
错误消息:由于 API 中的大量中断而没有
引入稳定的替代品。拉取请求以重新启用这些数据
欢迎使用连接器。
还有其他方法可以检索期权价格吗?
【问题讨论】:
标签:
python
options
quantitative-finance
trading
pandas-datareader
【解决方案1】:
以下内容现在对我有用
import pandas_datareader as pdr
aapl = Options('aapl')
calls = aapl.get_call_data()
部分输出:
Last Bid Ask Chg Vol Open_Int IV Underlying_Price Last_Trade_Date
200.0 2020-07-02 call AAPL200702C00200000 164.50 151.60 156.20 0.000000 13.0 13.0 1.962891 353.63 2020-06-23 13:30:03
替代方法
import yfinance as yf # https://github.com/ranaroussi/yfinance
aapl= yf.Ticker("AAPL")
# aapl.options # list of dates
DF_calls, DF_puts = aapl.option_chain(aapl.options[0]) # returns 2 DataFrames
Link to my project code
【解决方案2】:
Yahoo 终止了对其选项 API 的支持,因此,Yahoo 选项阅读器和 get_options_data 在 pandas_datareader 0.7.0 中为 deprecated(标记为删除)。不幸的是,pandas_datareader 中没有其他读者提供期权价格。
除了 TD Ameritrade(见 this 端点)之外,(据我所知)没有可免费使用的期权数据 API,但您必须是 TD Ameritrade 账户持有人才能访问其开发者 API( link)。