BlackScholes

StockSharp.Algo.Derivatives

O modelo para calcular os valores gregos pela fórmula de Black-Scholes.

Implementa: IBlackScholes

Construtores

BlackScholes
protected BlackScholes(IMarketDataProvider dataProvider, DateTime? expirationTime)
blackScholes = BlackScholes(dataProvider, expirationTime)

Construtor base para modelos herdados.

dataProvider
O fornecedor de dados de mercado.
expirationTime
Momento de expiração da opção explícita. Se null, é usada meia- noite de ExpiryDate quando disponível.
BlackScholes
public BlackScholes(Security option, Security underlyingAsset, IMarketDataProvider dataProvider, DateTime? expirationTime)
blackScholes = BlackScholes(option, underlyingAsset, dataProvider, expirationTime)

Inicializa uma nova instância de BlackScholes para uma opção específica com seu ativo subjacente.

option
Contrato de opções.
underlyingAsset
- Um activo subjacente.
dataProvider
O fornecedor de dados de mercado.
expirationTime
Momento de expiração da opção explícita. Se null, é usada meia- noite de ExpiryDate quando disponível.
BlackScholes
protected BlackScholes(Security underlyingAsset, IMarketDataProvider dataProvider, DateTime? expirationTime)
blackScholes = BlackScholes(underlyingAsset, dataProvider, expirationTime)

Inicializa uma nova instância do BlackScholes para um ativo subjacente apenas (modelos de não-opção).

underlyingAsset
- Um activo subjacente.
dataProvider
O fornecedor de dados de mercado.
expirationTime
Momento de expiração da opção explícita. Se null, é usada meia- noite de ExpiryDate quando disponível.

Propriedades

DataProvider
public virtual IMarketDataProvider DataProvider { get; }
value = blackScholes.DataProvider

O fornecedor de dados de mercado.

DefaultDeviation
public decimal? DefaultDeviation { get; }
value = blackScholes.DefaultDeviation

O desvio padrão por padrão.

Dividend
public virtual decimal Dividend { get; set; }
value = blackScholes.Dividend
blackScholes.Dividend = value

O montante dos dividendos sobre as acções.

ExpirationTime
public virtual DateTime? ExpirationTime { get; set; }
value = blackScholes.ExpirationTime
blackScholes.ExpirationTime = value

Momento de expiração explícito. Se nulo, é usada meia- noite de ExpiryDate quando disponível.

Option
public virtual Security Option { get; }
value = blackScholes.Option

Contrato de opções.

OptionType
protected OptionTypes OptionType { get; }
value = blackScholes.OptionType

Tipo de opção.

RiskFree
public decimal RiskFree { get; set; }
value = blackScholes.RiskFree
blackScholes.RiskFree = value

A taxa de juro livre de risco.

RoundDecimals
public virtual int RoundDecimals { get; set; }
value = blackScholes.RoundDecimals
blackScholes.RoundDecimals = value

O número de casas decimais nos valores calculados. O valor por omissão é - 1, o que significa que não há arredondamentos de valores.

UnderlyingAsset
public virtual Security UnderlyingAsset { get; set; }
value = blackScholes.UnderlyingAsset
blackScholes.UnderlyingAsset = value

- Um activo subjacente.

Métodos

CalcDelta
protected virtual decimal CalcDelta(decimal deviation, decimal assetPrice, double timeToExp)
result = blackScholes.CalcDelta(deviation, assetPrice, timeToExp)

To calculate the option delta from resolved inputs, before rounding.

deviation
Standard deviation.
assetPrice
Underlying asset price.
timeToExp
The option period before the expiration.

Retorna: Option delta.

CalcGamma
protected virtual decimal CalcGamma(decimal deviation, decimal assetPrice, double timeToExp)
result = blackScholes.CalcGamma(deviation, assetPrice, timeToExp)

To calculate the option gamma from resolved inputs, before rounding.

deviation
Standard deviation.
assetPrice
Underlying asset price.
timeToExp
The option period before the expiration.

Retorna: Option gamma.

CalcPremium
protected virtual decimal CalcPremium(decimal deviation, decimal assetPrice, double timeToExp)
result = blackScholes.CalcPremium(deviation, assetPrice, timeToExp)

To calculate the option premium from the model inputs already resolved by Decimal}).

deviation
Standard deviation.
assetPrice
Underlying asset price.
timeToExp
The option period before the expiration.

Retorna: The option premium.

CalcRho
protected virtual decimal CalcRho(decimal deviation, decimal assetPrice, double timeToExp)
result = blackScholes.CalcRho(deviation, assetPrice, timeToExp)

To calculate the option rho from resolved inputs, before rounding.

deviation
Standard deviation.
assetPrice
Underlying asset price.
timeToExp
The option period before the expiration.

Retorna: Option rho.

CalcTheta
protected virtual decimal CalcTheta(decimal deviation, decimal assetPrice, double timeToExp)
result = blackScholes.CalcTheta(deviation, assetPrice, timeToExp)

To calculate the option theta from resolved inputs, before rounding.

deviation
Standard deviation.
assetPrice
Underlying asset price.
timeToExp
The option period before the expiration.

Retorna: Option theta.

CalcVega
protected virtual decimal CalcVega(decimal deviation, decimal assetPrice, double timeToExp)
result = blackScholes.CalcVega(deviation, assetPrice, timeToExp)

To calculate the option vega from resolved inputs, before rounding.

deviation
Standard deviation.
assetPrice
Underlying asset price.
timeToExp
The option period before the expiration.

Retorna: Option vega.

D1
protected virtual double D1(decimal deviation, decimal assetPrice, double timeToExp)
result = blackScholes.D1(deviation, assetPrice, timeToExp)

Para calcular o parâmetro d1 da estimativa de probabilidade de preenchimento da opção.

deviation
Desvio padrão.
assetPrice
- O preço dos activos subjacentes.
timeToExp
O período de opção antes do termo.

Retorna: O parâmetro d1.

Delta
public virtual decimal? Delta(DateTime currentTime, decimal? deviation, decimal? assetPrice)
result = blackScholes.Delta(currentTime, deviation, assetPrice)

Para calcular a opção delta.

currentTime
A hora atual.
deviation
Desvio padrão.
assetPrice
- O preço dos activos subjacentes.

Retorna: A opção delta. Se o valor é igual a , então o cálculo de valor atualmente é impossível.

Gamma
public virtual decimal? Gamma(DateTime currentTime, decimal? deviation, decimal? assetPrice)
result = blackScholes.Gamma(currentTime, deviation, assetPrice)

Para calcular a opção gama.

currentTime
A hora atual.
deviation
Desvio padrão.
assetPrice
- O preço dos activos subjacentes.

Retorna: A opção gama. Se o valor é igual a , então o cálculo de valor atualmente é impossível.

GetAssetPrice
public decimal? GetAssetPrice(decimal? assetPrice)
result = blackScholes.GetAssetPrice(assetPrice)

Para obter o preço do ativo subjacente.

assetPrice
O preço do activo subjacente, se for especificado.

Retorna: Se o valor for igual a , então o cálculo de valor é atualmente impossível.

GetExpirationTimeLine
public virtual double? GetExpirationTimeLine(DateTime currentTime)
result = blackScholes.GetExpirationTimeLine(currentTime)

O tempo antes do cálculo da expiração.

currentTime
A hora atual.

Retorna: O tempo restante até expirar. Se o valor for igual a , então o cálculo de valor atualmente é impossível.

GetInputs
protected ValueTuple<decimal, decimal, double>? GetInputs(DateTime currentTime, decimal? deviation, decimal? assetPrice)
result = blackScholes.GetInputs(currentTime, deviation, assetPrice)

What every value of the model is computed from: the deviation the caller gives or the one quoted, the asset price the caller gives or the last trade, and the time left to expiry.

currentTime
The current time.
deviation
The standard deviation, or for the quoted one.
assetPrice
The price of the underlying asset, or for its last trade.

Retorna: The inputs, or when one of them is not known.

ImpliedVolatility
public virtual decimal? ImpliedVolatility(DateTime currentTime, decimal premium, decimal? assetPrice)
result = blackScholes.ImpliedVolatility(currentTime, premium, assetPrice)

To calculate the implied volatility.

currentTime
The current time.
premium
The option premium.
assetPrice
Underlying asset price.

Retorna: The implied volatility. If the value is equal to , then the value calculation currently is impossible.

IsExpired
internal bool IsExpired(DateTime currentTime)
result = blackScholes.IsExpired(currentTime)

Whether the option has expired by the given moment, as the model takes its expiry.

currentTime
The current time.

Retorna: when the expiry is known and is not later than .

Payoff
internal decimal? Payoff(decimal? assetPrice)
result = blackScholes.Payoff(assetPrice)

What the option pays at its expiry, before rounding: its intrinsic value at the price of the underlying asset.

assetPrice
The price of the underlying asset if it is specified.

Retorna: The payoff. If the value is equal to , then the price of the underlying asset is unknown.

PayoffDelta
internal decimal? PayoffDelta(decimal? assetPrice)
result = blackScholes.PayoffDelta(assetPrice)

The slope of what the option pays at its expiry: the asset it delivers, one for one while it is in the money.

assetPrice
The price of the underlying asset if it is specified.

Retorna: The delta of the payoff. If the value is equal to , then the price of the underlying asset is unknown.

Premium
public virtual decimal? Premium(DateTime currentTime, decimal? deviation, decimal? assetPrice)
result = blackScholes.Premium(currentTime, deviation, assetPrice)

Para calcular o prémio de opção.

currentTime
A hora atual.
deviation
Desvio padrão.
assetPrice
- O preço dos activos subjacentes.

Retorna: O prémio de opção. Se o valor for igual a , então o cálculo de valor atualmente é impossível.

Rho
public virtual decimal? Rho(DateTime currentTime, decimal? deviation, decimal? assetPrice)
result = blackScholes.Rho(currentTime, deviation, assetPrice)

Para calcular a opção rho.

currentTime
A hora atual.
deviation
Desvio padrão.
assetPrice
- O preço dos activos subjacentes.

Retorna: A opção rho. Se o valor é igual a , então o cálculo de valor atualmente é impossível.

Theta
public virtual decimal? Theta(DateTime currentTime, decimal? deviation, decimal? assetPrice)
result = blackScholes.Theta(currentTime, deviation, assetPrice)

Para calcular a opção theta.

currentTime
A hora atual.
deviation
Desvio padrão.
assetPrice
- O preço dos activos subjacentes.

Retorna: A opção theta. Se o valor for igual a , então o cálculo de valor atualmente é impossível.

TryRound
protected decimal? TryRound(decimal? value)
result = blackScholes.TryRound(value)

Para arredondar para RoundDecimals.

value
O valor inicial.

Retorna: O valor arredondado.

Vega
public virtual decimal? Vega(DateTime currentTime, decimal? deviation, decimal? assetPrice)
result = blackScholes.Vega(currentTime, deviation, assetPrice)

Para calcular a opção vega.

currentTime
A hora atual.
deviation
Desvio padrão.
assetPrice
- O preço dos activos subjacentes.

Retorna: A opção vega. Se o valor é igual a , então o cálculo de valor atualmente é impossível.