I don¡¯t think there is any such guarantee. tickPrice comes from the exchange; while tickOptionComputation likely comes from IBKR models. Probably the reason they¡¯re separate in the API. Sometimes there are no greeks (eg at start of trading when there is high
volatility so the model can¡¯t calculate a reliable number yet) so you may receive prices but no greeks. I think you either wait until the snapshot is completed, or you stream tickPrices and then manually monitor until you have received all data you need.
toggle quoted message
Show quoted text
On Aug 19, 2022, at 10:32 AM, Crow via groups.io <aaroncook394@...> wrote:
I pull option quotes for single strikes by calling reqMktData() described here:
Regulatory Snapshots. The fifth argument to reqMktData specifies a regulatory snapshot request to US stocks and options. Regulatory snapshots require TWS/IBG v963 and API 973.02 or higher and specific market data subscriptions.. For stocks, there are individual
exchange-specific market data subscriptions necessary to receive streaming quotes.
|
I receive bid,ask, and last/close via calls the callback method tickPrice().? After that, the option greeks are sent to another call back called?tickOptionComputation()
described here:
The Implied Volatility of an underlying based on its current option prices is returned in tick 24. See Available Tick Types. The IB 30-day volatility is the at-market volatility estimated for a maturity thirty calendar days forward of the current trading day,
and is based on option prices from two consecutive expiration months.
|
Is there any guarantee that the tick option callback will only arrive after all tickPrice() callbacks have been made?? The reason that I ask is because I usually only request snapshots
and as mentioned in the first link, the?()
call only comes 11 seconds after the request is made.? Why 11 seconds?? I have no idea, but I want to move on after I have all the callbacks.? Some strikes might be missing a bid or ask quote so I'll never know for sure how many tickPrice() calls to expect.?
But if the?tickOptionComputation()?is only called after all tickPrice calls have been
completed, then I know that I'm done after receiving the tickOptionComputation().? Is that the case?