Как получить данные цепочки опционов из API Interactive Brokers TWSPython

Программы на Python
Ответить
Anonymous
 Как получить данные цепочки опционов из API Interactive Brokers TWS

Сообщение Anonymous »

Я пытаюсь создать данные цепочки опционов так же, как крупные биржи представляют их на своих веб-сайтах IE: сортировка по датам истечения срока действия, затем цены исполнения и отображение бидов/асков для пут/коллов и т. д.
Я пытаюсь получить данные, но мне удалось получить только цену истечения срока действия и цены исполнения.
Я использую их библиотеку ibapi с TWS
Я пробовал использовать reqSecDefOptParams(), но продолжает получать такие ошибки, как: Ошибка: 1 321 Ошибка проверки запроса.-'cB': причина - Неверный тип безопасности -
Вот мой код:
from ibapi.client import EClient
from ibapi.wrapper import EWrapper
from ibapi.contract import Contract

class OptionDataApp(EWrapper, EClient):
def __init__(self):
EClient.__init__(self, self)

def error(self, reqId, errorCode, errorString):
print("Error:", reqId, errorCode, errorString)

def contractDetails(self, reqId, contractDetails):
contract = contractDetails.contract
print("Symbol:", contract.symbol)
print("Expiry:", contract.lastTradeDateOrContractMonth)
print("Strike Price:", contract.strike)
self.request_option_chain(contract)

def request_option_chain(self, contract):
self.reqSecDefOptParams(
1, contract.exchange, "", contract.tradingClass, contract.conId
)

def contractDetailsEnd(self, reqId):
self.disconnect()

def main():
app = OptionDataApp()
app.connect("127.0.0.1", 7496, clientId=0)
contract = Contract()
contract.symbol = "AAPL" # Specify the symbol for which you want option data
contract.secType = "OPT"
contract.exchange = "SMART"
contract.currency = "USD"
app.reqContractDetails(1, contract)
app.run()

if __name__ == "__main__":
main()

Этот код печатает все цены экспирации/страйка одну за другой, вот так:
Symbol: AAPL
Expiry: 20230811
Strike Price: 105.0
Symbol: AAPL
Expiry: 20230811
Strike Price: 115.0

И затем в конце (с некоторыми перемешанными в приведенных выше данных) много таких ошибок:
Error: 1 321 Error validating request.-'cB' : cause - Invalid security type -
Error: 1 321 Error validating request.-'cB' : cause - Invalid security type -
Error: 1 321 Error validating request.-'cB' : cause - Invalid security type -
Error: 1 321 Error validating request.-'cB' : cause - Invalid security type -


Подробнее здесь: https://stackoverflow.com/questions/766 ... rs-tws-api
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»