17 using MathNet.Numerics.Distributions;
41 : base(name, option, riskFreeRateModel, dividendYieldModel, mirrorOption, optionModel, ivModel)
56 : this($
"Vega({option},{mirrorOption},{optionModel})", option, riskFreeRateModel, dividendYieldModel, mirrorOption, optionModel, ivModel)
70 public Vega(
string name,
Symbol option, PyObject riskFreeRateModel, PyObject dividendYieldModel,
Symbol mirrorOption =
null,
72 : base(name, option, riskFreeRateModel, dividendYieldModel, mirrorOption, optionModel, ivModel)
85 public Vega(
Symbol option, PyObject riskFreeRateModel, PyObject dividendYieldModel,
Symbol mirrorOption =
null,
87 : this($
"Vega({option},{mirrorOption},{optionModel})", option, riskFreeRateModel, dividendYieldModel, mirrorOption, optionModel, ivModel)
103 : base(name, option, riskFreeRateModel, dividendYield, mirrorOption, optionModel, ivModel)
118 : this($
"Vega({option},{mirrorOption},{optionModel})", option, riskFreeRateModel, dividendYield, mirrorOption, optionModel, ivModel)
132 public Vega(
string name,
Symbol option, PyObject riskFreeRateModel, decimal dividendYield = 0.0m,
Symbol mirrorOption =
null,
134 : base(name, option, riskFreeRateModel, dividendYield, mirrorOption, optionModel, ivModel)
147 public Vega(
Symbol option, PyObject riskFreeRateModel, decimal dividendYield = 0.0m,
Symbol mirrorOption =
null,
149 : this($
"Vega({option},{mirrorOption},{optionModel})", option, riskFreeRateModel, dividendYield, mirrorOption, optionModel, ivModel)
163 public Vega(
string name,
Symbol option, decimal riskFreeRate = 0.05m, decimal dividendYield = 0.0m,
Symbol mirrorOption =
null,
165 : base(name, option, riskFreeRate, dividendYield, mirrorOption, optionModel, ivModel)
178 public Vega(
Symbol option, decimal riskFreeRate = 0.05m, decimal dividendYield = 0.0m,
Symbol mirrorOption =
null,
180 : this($
"Vega({option},{mirrorOption},{optionModel})", option, riskFreeRate, dividendYield, mirrorOption, optionModel, ivModel)
185 protected override decimal CalculateGreek(decimal timeTillExpiry)
194 var deltaSigma = 0.01m;
209 return (newPrice - price) / deltaSigma / 100;
213 var norm =
new Normal();
216 return UnderlyingPrice * math(Math.Sqrt, timeTillExpiry) * math(norm.Density, d1) * math(Math.Exp, -
DividendYield * timeTillExpiry) / 100;