Hello guys! I am pulling a stock option chain by calling reqContractDetails() for an option contract with no strike and expiry specified. I works fine and the available contracts for different strikes and expiry dates are returned in a row of contractDetails() callbacks. However, the delay of between the call to reqContractDetails() and the first call back of contractDetails() is a bit high/enormous - I measure 30-50 secs. Measuring the same delay for a STK contract I get less than 1 sec. Has anyone experienced the same? I would highly appreciate your help. Thank you!
I'd don't think I am. I understand that reqContractDetails() for one option (i.e., for specific strike/expiry/right tuple) will probably be faster (though technically I see no reason why - delay is between the RQ and the 1st, not last, response). However, this is not what I aim to do. I want to get all available strike/expiry pairs for a symbol (and not to get extra info on a specific stike/expiry/right option contract). And the delay/latency that I get is extremely high. I wonder if you experienced the same and maybe found a way to resolve it. Thank you.
I remember I had this behavior when I was using the the IB API. Let me check and circle back if i remember. It has been an year since I moved to the Tradier API.
Getting a full option chain from IB API does seem to take unusually long, especially considering most of the other functionality is very snappy and same type of a request from most other datafeeds is very fast. Have not gotten around the issue yet, so if you find a way to improve, please post.
it's slow because I assume the IB system has to "poll" for the availability of all those options with different strikes and maturity, and since the options market is quite fractured, I am surprised it can do all this in 50 sec, because that's amazingly fast for all the heavy work there is behind it.
Well, not quite. In computer time, 50 seconds is an eternity. I am not just complaining about performance without a point of reference. I can get the same option chain from TD Ameritrade, Yahoo, Tradier, and IQFeed in a fraction of the time, so I know it can be done.
those services might not provide a full list of options chain available, just a static view with a delayed PIT while IB might do a real-time scan from hundreds of sources Market Data is a funny business, not everyone is providing the same level of service and the same data. Part of the illusion of price feeds. might be better for you to get the data from a different source, even though it might be less accurate. Options pricing is also another issue, most of the bid/ask are not real, they come and go in very large swings (ex: volume dropping 90% and then x3 a few sec later, then drop again by 90%) every few ms, like someone testing the water and leaving immediately, and their spread can be huge despite their given intrinsic value, it's quite scary.