Hi Jared,
If my understanding is correct, if real-time actual IV and Greeks are required for contract selection and trade management, which is typically how options are traded, then there are multiple issues that make it very difficult to impossible for the Live trading of options with the current LEAN implementation.
1. Real-time IV, that would be provided by a broker (market maker (MM) algo per instrument), is based on a multitude of factors, including underlying vol, option supply and demand, and indirectly (possibly directly) real-world known future events such as dividends, earnings releases, and so on, and is quite dynamic, and so is very different to HV. IV dictates the real-time options skew which can shift between positive and negative skew, based on many factors. Currently the QC LEAN implementation for modelling IV is using a constant vol model, BlackConstantVol, which in effect is just using the HV. This will not reflect the actual real-time IV provided by the broker/MM algo.
2. As the IV is a critical factor in the calculation of the option Greeks, using a modelled constant volatility for the IV, will not reflect the actual real-time Greek values provided by the broker/MM algo.
3. The warmup period requirement for the LEAN option pricing model calculation of the Greeks means that a specific option universe for an underlying has to be set up at algo initialisation. This is fine if only trading options on one underlying, as the universe filter can be used to ensure that the actual subscribed set of contracts is within the broker's data lines allowance. But if trading options on multiple underlyings, this requires an option universe per underlying to be present, and even with the universe filters, this will result in the total subscribed set of contracts exceeding the data lines allowance, thereby making it impossible to trade. There may be a way to dynamically change the current applied universe filters to not exceed the data lines allowance, but this may not be practical, as it would require continually switching between 'normal' filters and 'minimised' filters depending on the stage of the trade.
I'd suggest all of the above could be resolved for Live trading if LEAN used the actual real-time IV and Greek values provided by the broker/MM algo.
- Issues #1 and #2 are resolved as real-time IV and Greeks are available for contract selection and trade management
- Issue #3 is resolved as the option universe method for contract filtering and subscription is not needed. Instead, the option chain provider method for obtaining the option chain would be used, and then the real-time IV and Greeks would be made available in the option chain contract attributes for contract selection, perhaps with some coarse filtering to keep within the data lines allowance prior to actual subscription. Options on multiple underlyings could be selected, subscribed to and traded/managed using this approach, while keeping within the data lines allowance.
re: "The feature to source these from an external data source could be done. So I understand why -- why do you think IB would supply anything better than we can calculate in a model locally based on the live feed?"
Please see my reasons in issues #1 and #2 above.
There may possibly be a way to improve the LEAN implementation to better reflect real-time IV and the Greeks, by at least not using a constant vol model. But from my limited understanding of this area, as I'm not an expert by any means, I believe that the broker/MM algos are closely guarded IP, and as such trying to replicate these would be a big challenge. I'd suggest it would be easier to just use the values provided by the broker/MM algos.
Also, out of curiousity, is it possible to source historical options data that includes the snapshot of the actual live IV and Greek values ?
Many Thanks,
ES.