BlackScholes
El modelo para calcular los valores griegos por la fórmula Black-Scholes.
Implementa: IBlackScholes
Constructores
protected BlackScholes(IMarketDataProvider dataProvider, DateTime? expirationTime)
blackScholes = BlackScholes(dataProvider, expirationTime)
Constructor de base para modelos heredados.
- dataProvider
- El proveedor de datos del mercado.
- expirationTime
- Explicit option expiration moment. Si null, la medianoche de ExpiryDate se utiliza cuando está disponible.
public BlackScholes(Security option, Security underlyingAsset, IMarketDataProvider dataProvider, DateTime? expirationTime)
blackScholes = BlackScholes(option, underlyingAsset, dataProvider, expirationTime)
Inicia una nueva instancia de BlackScholes@ para una opción específica con su activo subyacente.
- option
- Contrato de opciones.
- underlyingAsset
- Activo subyacente.
- dataProvider
- El proveedor de datos del mercado.
- expirationTime
- Explicit option expiration moment. Si null, la medianoche de ExpiryDate se utiliza cuando está disponible.
protected BlackScholes(Security underlyingAsset, IMarketDataProvider dataProvider, DateTime? expirationTime)
blackScholes = BlackScholes(underlyingAsset, dataProvider, expirationTime)
Inicia una nueva instancia de BlackScholes para un activo subyacente (modelos no operativos).
- underlyingAsset
- Activo subyacente.
- dataProvider
- El proveedor de datos del mercado.
- expirationTime
- Explicit option expiration moment. Si null, la medianoche de ExpiryDate se utiliza cuando está disponible.
Propiedades
public virtual IMarketDataProvider DataProvider { get; }
value = blackScholes.DataProvider
El proveedor de datos del mercado.
public decimal DefaultDeviation { get; }
value = blackScholes.DefaultDeviation
La desviación estándar por defecto.
public virtual decimal Dividend { get; set; }
value = blackScholes.Dividend
blackScholes.Dividend = value
El importe de dividendo en acciones.
public DateTime? ExpirationTime { get; set; }
value = blackScholes.ExpirationTime
blackScholes.ExpirationTime = value
Explicit expiration moment. Si null, la medianoche de ExpiryDate se utiliza cuando está disponible.
protected OptionTypes OptionType { get; }
value = blackScholes.OptionType
Tipo de opción.
public decimal RiskFree { get; set; }
value = blackScholes.RiskFree
blackScholes.RiskFree = value
La tasa de interés libre de riesgo.
public virtual int RoundDecimals { get; set; }
value = blackScholes.RoundDecimals
blackScholes.RoundDecimals = value
El número de lugares decimales a valores calculados. El valor predeterminado es -1, lo que significa que no hay redondeo de valores.
public virtual Security UnderlyingAsset { get; set; }
value = blackScholes.UnderlyingAsset
blackScholes.UnderlyingAsset = value
Activo subyacente.
Métodos
protected virtual double D1(decimal deviation, decimal assetPrice, double timeToExp)
result = blackScholes.D1(deviation, assetPrice, timeToExp)
Para calcular el parámetro d1 de la estimación de probabilidad de realización de la opción.
- deviation
- Desviación estándar.
- assetPrice
- Precio de activos subyacente.
- timeToExp
- El período de opción antes de la expiración.
Devuelve: El parámetro d1.
public virtual decimal? Delta(DateTime currentTime, decimal? deviation, decimal? assetPrice)
result = blackScholes.Delta(currentTime, deviation, assetPrice)
Para calcular la opción delta.
- currentTime
- El momento actual.
- deviation
- Desviación estándar.
- assetPrice
- Precio de activos subyacente.
Devuelve: La opción delta. Si el valor es igual a , entonces el cálculo de valor actualmente es imposible.
public virtual decimal? Gamma(DateTime currentTime, decimal? deviation, decimal? assetPrice)
result = blackScholes.Gamma(currentTime, deviation, assetPrice)
Para calcular la gamma de opción.
- currentTime
- El momento actual.
- deviation
- Desviación estándar.
- assetPrice
- Precio de activos subyacente.
Devuelve: La opción gamma. Si el valor es igual a , entonces el cálculo de valor actualmente es imposible.
public decimal? GetAssetPrice(decimal? assetPrice)
result = blackScholes.GetAssetPrice(assetPrice)
Para obtener el precio del activo subyacente.
- assetPrice
- El precio del activo subyacente si se especifica.
Devuelve: El precio del activo subyacente. Si el valor es igual a , entonces el cálculo de valor actualmente es imposible.
public virtual double? GetExpirationTimeLine(DateTime currentTime)
result = blackScholes.GetExpirationTimeLine(currentTime)
El tiempo antes del cálculo de caducidad.
- currentTime
- El momento actual.
Devuelve: El tiempo restante hasta la expiración. Si el valor es igual a , entonces el cálculo de valor actualmente es imposible.
public virtual decimal? ImpliedVolatility(DateTime currentTime, decimal premium)
result = blackScholes.ImpliedVolatility(currentTime, premium)
Para calcular la volatilidad implícita.
- currentTime
- El momento actual.
- premium
- La prima de opción.
Devuelve: La volatilidad implícita. Si el valor es igual a , entonces el cálculo de valor actualmente es imposible.
public virtual decimal? Premium(DateTime currentTime, decimal? deviation, decimal? assetPrice)
result = blackScholes.Premium(currentTime, deviation, assetPrice)
Para calcular la prima de opción.
- currentTime
- El momento actual.
- deviation
- Desviación estándar.
- assetPrice
- Precio de activos subyacente.
Devuelve: La prima de opción. Si el valor es igual a , entonces el cálculo de valor actualmente es imposible.
public virtual decimal? Rho(DateTime currentTime, decimal? deviation, decimal? assetPrice)
result = blackScholes.Rho(currentTime, deviation, assetPrice)
Para calcular la opción rho.
- currentTime
- El momento actual.
- deviation
- Desviación estándar.
- assetPrice
- Precio de activos subyacente.
Devuelve: La opción rho. Si el valor es igual a , entonces el cálculo de valor actualmente es imposible.
public virtual decimal? Theta(DateTime currentTime, decimal? deviation, decimal? assetPrice)
result = blackScholes.Theta(currentTime, deviation, assetPrice)
Para calcular la opción theta.
- currentTime
- El momento actual.
- deviation
- Desviación estándar.
- assetPrice
- Precio de activos subyacente.
Devuelve: La opción theta. Si el valor es igual a , entonces el cálculo de valor actualmente es imposible.
protected decimal? TryRound(decimal? value)
result = blackScholes.TryRound(value)
A la vuelta a RoundDecimals@.
- value
- El valor inicial.
Devuelve: El valor redondeado.
public virtual decimal? Vega(DateTime currentTime, decimal? deviation, decimal? assetPrice)
result = blackScholes.Vega(currentTime, deviation, assetPrice)
Para calcular la opción vega.
- currentTime
- El momento actual.
- deviation
- Desviación estándar.
- assetPrice
- Precio de activos subyacente.
Devuelve: La opción vega. Si el valor es igual a , entonces el cálculo de valor actualmente es imposible.