Как получить цены опциона Call/Put с помощью pandas-datareader в Python?

У меня есть следующий код. Я пытался получить данные из yahoo и google, оба не работают. Он выдает сообщение ниже

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())

Сообщение об ошибке: Параметры Yahoo были немедленно объявлены устаревшими из-за больших сбоев в API без введения стабильной замены. Запросы на вытягивание для повторного включения этих коннекторов данных приветствуются.

Есть ли другой способ получить цены опционов? Заранее спасибо!


person Erik    schedule 27.01.2019    source источник


Ответы (2)


Следующее работает для меня прямо сейчас

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

Ссылка на код моего проекта

person Ali Pardhan    schedule 27.06.2020

Yahoo прекратила поддержку своего API параметров, и поэтому считыватель параметров Yahoo и get_options_data были устарели. в pandas_datareader 0.7.0 (помечено для удаления). К сожалению, в pandas_datareader нет других читателей, которые предоставляют цены опционов.

Насколько мне известно, не существует бесплатных API для данных опционов, кроме TD Ameritrade (см. это конечная точка), хотя вы должны быть владельцем учетной записи TD Ameritrade, чтобы получить доступ к их API разработчика (ссылка ).

person Addison Lynch    schedule 28.01.2019