#api #interactive-brokers
Вопрос:
Я пытаюсь получить исторические данные для одного варианта GOOG из IB. Мой код на python таков:
ib = IB()
ib.connect('127.0.0.1', 7496, clientId=1)
#
contract = Contract()
contract.symbol = "GOOG"
contract.secType = "OPT"
contract.exchange= "SMART"
#contract.primaryExchange = "ISLAND"
contract.currency = "USD"
contract.lastTradeDateOrContractMonth = "20210917"
contract.strike = 2700
contract.right = "Call"
contract.multiplier = "100"
bars = ib.reqHistoricalData(contract, endDateTime='', durationStr='30 D', barSizeSetting='1 day', whatToShow='BID', useRTH=True, formatDate=1, keepUpToDate=True)
# convert to pandas dataframe:
df = util.df(bars)
print(df)
Я возвращаюсь:
Ошибка 162, ReqID 4: Сообщение об ошибке службы исторических рыночных данных:Нет данных типа EODChart для обмена «ЛУЧШИЙ» и типа безопасности «Опция» и «30 дней» и «1 день», контракт: Контракт(Тип= «ВЫБОР», символ= «GOOG», дата последней сделки или месяц заключения контракта=»20210917″, страйк=2700, право=»Вызов», множитель=»100″, обмен=»УМНЫЙ», валюта=»USD»)
Что я делаю не так?
Ответ №1:
Согласно документации IB, вы не можете получить доступ к «Данным на конец дня (EOD) для опций, FOP, ордеров и структурированных продуктов».