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 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

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.

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

Para calcular a volatilidade implícita.

currentTime
A hora atual.
premium
O prémio de opção.

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

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.