Lean  $LEAN_TAG$
QuantConnect.Indicators.ImpliedVolatility Class Reference

Implied Volatility indicator that calculate the IV of an option using Black-Scholes Model More...

Inheritance diagram for QuantConnect.Indicators.ImpliedVolatility:
[legend]

Public Member Functions

 ImpliedVolatility (string name, Symbol option, IRiskFreeInterestRateModel riskFreeRateModel, IDividendYieldModel dividendYieldModel, Symbol mirrorOption=null, OptionPricingModelType? optionModel=null)
 Initializes a new instance of the ImpliedVolatility class More...
 
 ImpliedVolatility (Symbol option, IRiskFreeInterestRateModel riskFreeRateModel, IDividendYieldModel dividendYieldModel, Symbol mirrorOption=null, OptionPricingModelType? optionModel=null)
 Initializes a new instance of the ImpliedVolatility class More...
 
 ImpliedVolatility (string name, Symbol option, PyObject riskFreeRateModel, PyObject dividendYieldModel, Symbol mirrorOption=null, OptionPricingModelType? optionModel=null)
 Initializes a new instance of the ImpliedVolatility class More...
 
 ImpliedVolatility (Symbol option, PyObject riskFreeRateModel, PyObject dividendYieldModel, Symbol mirrorOption=null, OptionPricingModelType? optionModel=null)
 Initializes a new instance of the ImpliedVolatility class More...
 
 ImpliedVolatility (string name, Symbol option, IRiskFreeInterestRateModel riskFreeRateModel, decimal dividendYield=0.0m, Symbol mirrorOption=null, OptionPricingModelType? optionModel=null)
 Initializes a new instance of the ImpliedVolatility class More...
 
 ImpliedVolatility (Symbol option, IRiskFreeInterestRateModel riskFreeRateModel, decimal dividendYield=0.0m, Symbol mirrorOption=null, OptionPricingModelType? optionModel=null)
 Initializes a new instance of the ImpliedVolatility class More...
 
 ImpliedVolatility (string name, Symbol option, PyObject riskFreeRateModel, decimal dividendYield=0.0m, Symbol mirrorOption=null, OptionPricingModelType? optionModel=null)
 Initializes a new instance of the ImpliedVolatility class More...
 
 ImpliedVolatility (Symbol option, PyObject riskFreeRateModel, decimal dividendYield=0.0m, Symbol mirrorOption=null, OptionPricingModelType? optionModel=null)
 Initializes a new instance of the ImpliedVolatility class More...
 
 ImpliedVolatility (string name, Symbol option, decimal riskFreeRate=0.05m, decimal dividendYield=0.0m, Symbol mirrorOption=null, OptionPricingModelType? optionModel=null)
 Initializes a new instance of the ImpliedVolatility class More...
 
 ImpliedVolatility (Symbol option, decimal riskFreeRate=0.05m, decimal dividendYield=0.0m, Symbol mirrorOption=null, OptionPricingModelType? optionModel=null)
 Initializes a new instance of the ImpliedVolatility class More...
 
void SetSmoothingFunction (Func< decimal, decimal, decimal > function)
 Set the smoothing function of IV, using both call and put IV value More...
 
void SetSmoothingFunction (PyObject function)
 Set the smoothing function of IV, using both call and put IV value More...
 
- Public Member Functions inherited from QuantConnect.Indicators.OptionIndicatorBase
override void Reset ()
 Resets this indicator and all sub-indicators More...
 

Public Attributes

override bool IsReady => UseMirrorContract ? _isReady && Price.Current.Time == OppositePrice.Current.Time && OppositePrice.IsReady : _isReady
 Gets a flag indicating when this indicator is ready and fully initialized More...
 
- Public Attributes inherited from QuantConnect.Indicators.OptionIndicatorBase
OptionRight Right => OptionSymbol.ID.OptionRight
 Gets the option right (call/put) of the option More...
 
decimal Strike => OptionSymbol.ID.StrikePrice
 Gets the strike price of the option More...
 
OptionStyle Style => OptionSymbol.ID.OptionStyle
 Gets the option style (European/American) of the option More...
 
bool UseMirrorContract => _oppositeOptionSymbol != null
 Flag if mirror option is implemented for parity type calculation More...
 

Protected Member Functions

override decimal Calculate (IndicatorDataPoint input)
 Computes the next value More...
 
virtual decimal CalculateIV (decimal timeTillExpiry)
 Computes the IV of the option More...
 
- Protected Member Functions inherited from QuantConnect.Indicators.OptionIndicatorBase
 OptionIndicatorBase (string name, Symbol option, IRiskFreeInterestRateModel riskFreeRateModel, IDividendYieldModel dividendYieldModel, Symbol mirrorOption=null, OptionPricingModelType? optionModel=null, int period=2)
 Initializes a new instance of the OptionIndicatorBase class More...
 
override decimal ComputeNextValue (IndicatorDataPoint input)
 Computes the next value of this indicator from the given state. This will round the result to 7 decimal places. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from QuantConnect.Indicators.OptionIndicatorBase
static OptionPricingModelType GetOptionModel (OptionPricingModelType? optionModel, OptionStyle optionStyle)
 Gets the option pricing model based on the option style, if not specified More...
 
- Protected Attributes inherited from QuantConnect.Indicators.OptionIndicatorBase
Symbol _underlyingSymbol => OptionSymbol.Underlying
 Underlying security's symbol object More...
 
- Properties inherited from QuantConnect.Indicators.OptionIndicatorBase
Symbol OptionSymbol [get]
 Option's symbol object More...
 
Symbol _oppositeOptionSymbol [get]
 Mirror option symbol (by option right), for implied volatility More...
 
OptionPricingModelType _optionModel [get, set]
 Option pricing model used to calculate indicator More...
 
IRiskFreeInterestRateModel _riskFreeInterestRateModel [get]
 Risk-free rate model More...
 
IDividendYieldModel _dividendYieldModel [get]
 Dividend yield model, for continuous dividend yield More...
 
DateTime Expiry [get]
 Gets the expiration time of the option More...
 
Identity RiskFreeRate [get, set]
 Risk Free Rate More...
 
Identity DividendYield [get, set]
 Dividend Yield More...
 
IndicatorBase< IndicatorDataPointPrice [get]
 Gets the option price level More...
 
IndicatorBase< IndicatorDataPointOppositePrice [get]
 Gets the mirror option price level, for implied volatility More...
 
IndicatorBase< IndicatorDataPointUnderlyingPrice [get]
 Gets the underlying's price level More...
 
int WarmUpPeriod [get, set]
 Required period, in data points, for the indicator to be ready and fully initialized. More...
 
- Properties inherited from QuantConnect.Indicators.IIndicatorWarmUpPeriodProvider
int WarmUpPeriod [get]
 Required period, in data points, for the indicator to be ready and fully initialized. More...
 

Detailed Description

Implied Volatility indicator that calculate the IV of an option using Black-Scholes Model

Definition at line 29 of file ImpliedVolatility.cs.

Constructor & Destructor Documentation

◆ ImpliedVolatility() [1/10]

QuantConnect.Indicators.ImpliedVolatility.ImpliedVolatility ( string  name,
Symbol  option,
IRiskFreeInterestRateModel  riskFreeRateModel,
IDividendYieldModel  dividendYieldModel,
Symbol  mirrorOption = null,
OptionPricingModelType optionModel = null 
)

Initializes a new instance of the ImpliedVolatility class

Parameters
nameThe name of this indicator
optionThe option to be tracked
riskFreeRateModelRisk-free rate model
dividendYieldModelDividend yield model
mirrorOptionThe mirror option for parity calculation
optionModelThe option pricing model used to estimate IV

Definition at line 43 of file ImpliedVolatility.cs.

◆ ImpliedVolatility() [2/10]

QuantConnect.Indicators.ImpliedVolatility.ImpliedVolatility ( Symbol  option,
IRiskFreeInterestRateModel  riskFreeRateModel,
IDividendYieldModel  dividendYieldModel,
Symbol  mirrorOption = null,
OptionPricingModelType optionModel = null 
)

Initializes a new instance of the ImpliedVolatility class

Parameters
optionThe option to be tracked
riskFreeRateModelRisk-free rate model
dividendYieldModelDividend yield model
mirrorOptionThe mirror option for parity calculation
optionModelThe option pricing model used to estimate IV

Definition at line 76 of file ImpliedVolatility.cs.

◆ ImpliedVolatility() [3/10]

QuantConnect.Indicators.ImpliedVolatility.ImpliedVolatility ( string  name,
Symbol  option,
PyObject  riskFreeRateModel,
PyObject  dividendYieldModel,
Symbol  mirrorOption = null,
OptionPricingModelType optionModel = null 
)

Initializes a new instance of the ImpliedVolatility class

Parameters
nameThe name of this indicator
optionThe option to be tracked
riskFreeRateModelRisk-free rate model
dividendYieldModelDividend yield model
mirrorOptionThe mirror option for parity calculation
optionModelThe option pricing model used to estimate IV

Definition at line 92 of file ImpliedVolatility.cs.

◆ ImpliedVolatility() [4/10]

QuantConnect.Indicators.ImpliedVolatility.ImpliedVolatility ( Symbol  option,
PyObject  riskFreeRateModel,
PyObject  dividendYieldModel,
Symbol  mirrorOption = null,
OptionPricingModelType optionModel = null 
)

Initializes a new instance of the ImpliedVolatility class

Parameters
optionThe option to be tracked
riskFreeRateModelRisk-free rate model
dividendYieldModelDividend yield model
mirrorOptionThe mirror option for parity calculation
optionModelThe option pricing model used to estimate IV

Definition at line 107 of file ImpliedVolatility.cs.

◆ ImpliedVolatility() [5/10]

QuantConnect.Indicators.ImpliedVolatility.ImpliedVolatility ( string  name,
Symbol  option,
IRiskFreeInterestRateModel  riskFreeRateModel,
decimal  dividendYield = 0.0m,
Symbol  mirrorOption = null,
OptionPricingModelType optionModel = null 
)

Initializes a new instance of the ImpliedVolatility class

Parameters
nameThe name of this indicator
optionThe option to be tracked
riskFreeRateModelRisk-free rate model
dividendYieldDividend yield, as a constant
mirrorOptionThe mirror option for parity calculation
optionModelThe option pricing model used to estimate IV

Definition at line 123 of file ImpliedVolatility.cs.

◆ ImpliedVolatility() [6/10]

QuantConnect.Indicators.ImpliedVolatility.ImpliedVolatility ( Symbol  option,
IRiskFreeInterestRateModel  riskFreeRateModel,
decimal  dividendYield = 0.0m,
Symbol  mirrorOption = null,
OptionPricingModelType optionModel = null 
)

Initializes a new instance of the ImpliedVolatility class

Parameters
optionThe option to be tracked
riskFreeRateModelRisk-free rate model
dividendYieldDividend yield, as a constant
mirrorOptionThe mirror option for parity calculation
optionModelThe option pricing model used to estimate IV

Definition at line 137 of file ImpliedVolatility.cs.

◆ ImpliedVolatility() [7/10]

QuantConnect.Indicators.ImpliedVolatility.ImpliedVolatility ( string  name,
Symbol  option,
PyObject  riskFreeRateModel,
decimal  dividendYield = 0.0m,
Symbol  mirrorOption = null,
OptionPricingModelType optionModel = null 
)

Initializes a new instance of the ImpliedVolatility class

Parameters
nameThe name of this indicator
optionThe option to be tracked
riskFreeRateModelRisk-free rate model
dividendYieldDividend yield, as a constant
mirrorOptionThe mirror option for parity calculation
optionModelThe option pricing model used to estimate IV

Definition at line 153 of file ImpliedVolatility.cs.

◆ ImpliedVolatility() [8/10]

QuantConnect.Indicators.ImpliedVolatility.ImpliedVolatility ( Symbol  option,
PyObject  riskFreeRateModel,
decimal  dividendYield = 0.0m,
Symbol  mirrorOption = null,
OptionPricingModelType optionModel = null 
)

Initializes a new instance of the ImpliedVolatility class

Parameters
optionThe option to be tracked
riskFreeRateModelRisk-free rate model
dividendYieldDividend yield, as a constant
mirrorOptionThe mirror option for parity calculation
optionModelThe option pricing model used to estimate IV

Definition at line 168 of file ImpliedVolatility.cs.

◆ ImpliedVolatility() [9/10]

QuantConnect.Indicators.ImpliedVolatility.ImpliedVolatility ( string  name,
Symbol  option,
decimal  riskFreeRate = 0.05m,
decimal  dividendYield = 0.0m,
Symbol  mirrorOption = null,
OptionPricingModelType optionModel = null 
)

Initializes a new instance of the ImpliedVolatility class

Parameters
nameThe name of this indicator
optionThe option to be tracked
riskFreeRateRisk-free rate, as a constant
dividendYieldDividend yield, as a constant
mirrorOptionThe mirror option for parity calculation
optionModelThe option pricing model used to estimate IV

Definition at line 184 of file ImpliedVolatility.cs.

◆ ImpliedVolatility() [10/10]

QuantConnect.Indicators.ImpliedVolatility.ImpliedVolatility ( Symbol  option,
decimal  riskFreeRate = 0.05m,
decimal  dividendYield = 0.0m,
Symbol  mirrorOption = null,
OptionPricingModelType optionModel = null 
)

Initializes a new instance of the ImpliedVolatility class

Parameters
optionThe option to be tracked
riskFreeRateRisk-free rate, as a constant
dividendYieldDividend yield, as a constant
mirrorOptionThe mirror option for parity calculation
optionModelThe option pricing model used to estimate IV

Definition at line 198 of file ImpliedVolatility.cs.

Member Function Documentation

◆ SetSmoothingFunction() [1/2]

void QuantConnect.Indicators.ImpliedVolatility.SetSmoothingFunction ( Func< decimal, decimal, decimal >  function)

Set the smoothing function of IV, using both call and put IV value

Parameters
functionthe smoothing function

Definition at line 209 of file ImpliedVolatility.cs.

◆ SetSmoothingFunction() [2/2]

void QuantConnect.Indicators.ImpliedVolatility.SetSmoothingFunction ( PyObject  function)

Set the smoothing function of IV, using both call and put IV value

Parameters
functionthe smoothing function

Definition at line 218 of file ImpliedVolatility.cs.

◆ Calculate()

override decimal QuantConnect.Indicators.ImpliedVolatility.Calculate ( IndicatorDataPoint  input)
protectedvirtual

Computes the next value

Parameters
inputThe input given to the indicator
Returns
The input is returned unmodified.

Implements QuantConnect.Indicators.OptionIndicatorBase.

Definition at line 235 of file ImpliedVolatility.cs.

Here is the call graph for this function:

◆ CalculateIV()

virtual decimal QuantConnect.Indicators.ImpliedVolatility.CalculateIV ( decimal  timeTillExpiry)
protectedvirtual

Computes the IV of the option

Parameters
timeTillExpirythe time until expiration in years
Returns
Smoothened IV of the option

Definition at line 298 of file ImpliedVolatility.cs.

Here is the caller graph for this function:

Member Data Documentation

◆ IsReady

override bool QuantConnect.Indicators.ImpliedVolatility.IsReady => UseMirrorContract ? _isReady && Price.Current.Time == OppositePrice.Current.Time && OppositePrice.IsReady : _isReady

Gets a flag indicating when this indicator is ready and fully initialized

Definition at line 228 of file ImpliedVolatility.cs.


The documentation for this class was generated from the following file: