В TWS API есть функция reqContractDetails
для получения деталей контракта, но она медленная. Поскольку, как это делает TWS API, c говорит, что результирующий поток событий с результатами (список опционных контрактов) будет ограничен.
И он предлагает вместо этого использовать функцию reqSecDefOptParams
, которая отвечает списком expirations
и strikes
для цепочки опционов.
Вопрос: - как в дальнейшем использовать эти expirations
и strikes
для получения индивидуальных опционных контрактов?
Можно вызвать reqContractDetails
, чтобы получить индивидуальный контракт для каждой комбинации expiration
и strike
. Таким образом, вместо 1 вызова reqContractDetails
, который отвечает ограниченным списком из N событий - вместо этого будет выполнено N вызовов reqContractDetails
для получения 1 события.
Но кажется, что даже в таких отдельных вызовах - он все еще дросселируется, скажем, после 50 звонков, следующие звонки на reqContractDetails
дросселируются (я вижу в журналах, что сначала 20-50 звонков отвечают быстро, а затем просто блокируются и ждут много).
Есть ли какой-нибудь лучший способ получить данные? Мне нужно получить полную цепочку опционов с всеми контрактами .