Hi,
I've read that the recommended method for option selection is to use option chain provider to only add contracts
that are needed instead of using the universe option filter, as this will be about 10-15x faster.
But it seems that it's not possible to use the greeks to filter selection, unless already subscribed to the option chain, which means OptionChainProvider can't be used - Is this correct?
Alternatively is it possible to remove an option chain from subscription once a specific contract has been selected using the greeks, and then only add the specific contract?
Any info appreciated.
Thanks.
Jing Wu
Hi Ernest,
Here is my attempt to use Greeks with OptionChainProvider(). You could add the contract using symbol object first and get the Greeks value by calling the Greeks property of the OptionContract. I'm not sure how to use Greeks to select contracts, so I just Log the Greek value.
Ernest Shaggleford
Hi Jing,
I appreciate your reply, but this method still has to subscribe to each optionContract to set a pricing model before being able to determine the greek values, so it looks like there's no other way to do this.
Also isn't a warmup period required of at least 2 days for the pricing models?
Although would this method be more efficient than the typical method of subscribing to the complete option chain and using universe SetFilter as the coarse filter, followed by the OnData slice extraction of the OptionChain and fine filter using the greek attributes?
For live trading, doesn't the broker feed for an options chain already contain the greek attributes, or is it still necessary to set a pricing model on an optionContract to calculate the greeks?
Ideally the OptionChainProvider would provide the greeks as member attributes to support selection using the greeks before having to subscribe to an optionContract.
Thanks,
Ern.
Ernest Shaggleford
Hi Jing,
I've also found that the Greeks are not calculated correctly using this method. I logged Delta and Vega and Delta is always zero while Vega is sometimes non-zero.
In addition there doesn't seem to be a way to reduce the subscribed range of options contracts to say just the selected contract. There's no method to remove an option contract from subscription.
Thanks,
Ern.
Jing Wu
Hi Ernest,
I also find this is not efficient. Subscribing to an optionContract will request the price data required to perform the Greeks calculation so it's not feasible to get the Greeks value first before adding the contract and set the pricing model.
I agree WarmUp period is required for some pricing models to calculate the Greeks correctly.
If you are going to use Greeks or Implied Volatility in option algorithm, I suppose the combination of AddOption() and SetFilter() methods is more accurate and efficient.
In live trading, the broker doesn't contain the greek attributes so the calculation is necessary for algorithms to get the Greeks value.
Ernest Shaggleford
Jing - thankyou for the clarification.
Rolf Widmer
Has the Greeks property been ommitted from the API documentation? Didn't find it under OptionContract...
Alex Muci
Below an example of a delta-hedged straddle on the SPY (it is not polished, but it may be useful for some).
In a nutshell:
Alexandre Catarino
Thank you for the example, Alex Muci.
Rolf Widmer, please check out the docs, under Using Options Data, for the attributes of the options contracts where you can find the greeks. We are going to add information about each greek available.
Ernest Shaggleford
The material on this website is provided for informational purposes only and does not constitute an offer to sell, a solicitation to buy, or a recommendation or endorsement for any security or strategy, nor does it constitute an offer to provide investment advisory services by QuantConnect. In addition, the material offers no opinion with respect to the suitability of any security or specific investment. QuantConnect makes no guarantees as to the accuracy or completeness of the views expressed in the website. The views are subject to change, and may have become unreliable for various reasons, including changes in market conditions or economic circumstances. All investments involve risk, including loss of principal. You should consult with an investment professional before making any investment decisions.
To unlock posting to the community forums please complete at least 30% of Boot Camp.
You can continue your Boot Camp training progress from the terminal. We hope to see you in the community soon!