DerivativesHelper
Класс расширения для производных.
Методы
public static double D1(decimal assetPrice, decimal strike, decimal riskFree, decimal dividend, decimal deviation, double timeToExp)
result = DerivativesHelper.D1(assetPrice, strike, riskFree, dividend, deviation, timeToExp)
Вычислить параметр d1 оценки вероятности исполнения опциона.
- assetPrice
- Цена базового актива.
- strike
- Страйк-цена.
- riskFree
- Безрисковая процентная ставка.
- dividend
- Размер дивидендов по акциям.
- deviation
- Стандартное отклонение.
- timeToExp
- Период опциона до истечения срока его действия.
Возвращает: Параметр d1 оценки вероятности исполнения опциона.
public static double D2(double d1, decimal deviation, double timeToExp)
result = DerivativesHelper.D2(d1, deviation, timeToExp)
Рассчитать параметр d2 оценки вероятности исполнения опциона.
- d1
- Параметр d1 оценки вероятности исполнения опциона.
- deviation
- Стандартное отклонение.
- timeToExp
- Период опциона до истечения срока его действия.
Возвращает: Параметр d2 оценки вероятности исполнения опциона.
public static decimal Delta(OptionTypes optionType, decimal assetPrice, double d1)
result = DerivativesHelper.Delta(optionType, assetPrice, d1)
Для расчета дельты опциона.
- optionType
- Тип опции.
- assetPrice
- Цена базового актива.
- d1
- Параметр d1 оценки вероятности исполнения опциона.
Возвращает: Опцион дельта.
public static double ExpRate(decimal riskFree, double timeToExp)
result = DerivativesHelper.ExpRate(riskFree, timeToExp)
Для расчета времени экспонента.
- riskFree
- Безрисковая процентная ставка.
- timeToExp
- Период опциона до истечения срока его действия.
Возвращает: Временный экспонент.
public static IEnumerable<Security> Filter(IEnumerable<Security> options, decimal strike)
result = DerivativesHelper.Filter(options, strike)
Чтобы отфильтровать параметры по страйку Strike.
- options
- Опции для фильтрации.
- strike
- Страйк-цена.
Возвращает: Отфильтрованные варианты.
public static IEnumerable<Security> Filter(IEnumerable<Security> options, OptionTypes type)
result = DerivativesHelper.Filter(options, type)
Чтобы отфильтровать параметры по типу OptionType.
- options
- Опции для фильтрации.
- type
- Тип опции.
Возвращает: Отфильтрованные варианты.
public static IEnumerable<Security> Filter(IEnumerable<Security> securities, DateTime? expirationDate)
result = DerivativesHelper.Filter(securities, expirationDate)
Фильтровать инструменты по дате истечения ExpiryDate.
- securities
- Инструменты для фильтрации.
- expirationDate
- Срок годности.
Возвращает: Инструменты отфильтрованы.
public static IEnumerable<Security> FilterByUnderlying(IEnumerable<Security> securities, Security asset)
result = DerivativesHelper.FilterByUnderlying(securities, asset)
Фильтровать инструменты по базовому активу.
- securities
- Инструменты для фильтрации.
- asset
- Базовый актив.
Возвращает: Инструменты отфильтрованы.
public static decimal Gamma(decimal assetPrice, decimal deviation, double timeToExp, double d1)
result = DerivativesHelper.Gamma(assetPrice, deviation, timeToExp, d1)
Рассчитать вариант гаммы.
- assetPrice
- Цена базового актива.
- deviation
- Стандартное отклонение.
- timeToExp
- Период опциона до истечения срока его действия.
- d1
- Параметр d1 оценки вероятности исполнения опциона.
Возвращает: Вариант гамма.
public static Security GetAsset(Security derivative, ISecurityProvider provider)
result = DerivativesHelper.GetAsset(derivative, provider)
Чтобы получить базовый актив.
- derivative
- Производная.
- provider
- Поставщик информации об инструментах.
Возвращает: Базовый актив.
public static IEnumerable<Security> GetAtTheMoney(Security underlyingAsset, ISecurityProvider securityProvider, decimal assetPrice)
result = DerivativesHelper.GetAtTheMoney(underlyingAsset, securityProvider, assetPrice)
Чтобы получить деньги (банкомат).
- underlyingAsset
- Базовый актив.
- securityProvider
- Поставщик информации об инструментах.
- assetPrice
- Цена актива.
Возвращает: По денежным параметрам.
public static IEnumerable<Security> GetAtTheMoney(Security underlyingAsset, IEnumerable<Security> allStrikes, decimal assetPrice)
result = DerivativesHelper.GetAtTheMoney(underlyingAsset, allStrikes, assetPrice)
Чтобы получить деньги (банкомат).
- underlyingAsset
- Базовый актив.
- allStrikes
- Все удары.
- assetPrice
- Цена актива.
Возвращает: По денежным параметрам.
public static Security GetCall(Security future, ISecurityProvider provider, decimal strike, DateTime expirationDate)
result = DerivativesHelper.GetCall(future, provider, strike, expirationDate)
Чтобы получить колл на базовый фьючерс.
- future
- Базовые фьючерсы.
- provider
- Поставщик информации об инструментах.
- strike
- Удар.
- expirationDate
- Дата истечения опциона.
Возвращает: Опция «Позвонить».
public static Security GetCentralStrike(Security underlyingAsset, ISecurityProvider securityProvider, DateTime expirationDate, OptionTypes optionType, decimal assetPrice)
result = DerivativesHelper.GetCentralStrike(underlyingAsset, securityProvider, expirationDate, optionType, assetPrice)
Чтобы нанести главный удар.
- underlyingAsset
- Базовый актив.
- securityProvider
- Поставщик информации об инструментах.
- expirationDate
- Дата истечения опциона.
- optionType
- Тип опции.
- assetPrice
- Текущая рыночная цена актива. Он используется для расчета основного удара.
Возвращает: Главный удар.
public static Security GetCentralStrike(IEnumerable<Security> allStrikes, decimal assetPrice)
result = DerivativesHelper.GetCentralStrike(allStrikes, assetPrice)
Чтобы нанести главный удар.
- allStrikes
- Все удары.
- assetPrice
- Текущая рыночная цена актива. Он используется для расчета основного удара.
Возвращает: Главный удар. Если невозможно получить текущую рыночную цену актива, он будет возвращен.
public static IEnumerable<Security> GetDerivatives(Security asset, ISecurityProvider provider, DateTime? expirationDate)
result = DerivativesHelper.GetDerivatives(asset, provider, expirationDate)
Получить деривативы по базовому активу.
- asset
- Базовый актив.
- provider
- Поставщик информации об инструментах.
- expirationDate
- Срок годности.
Возвращает: Список производных.
public static double? GetExpirationTimeLine(DateTime expirationTime, DateTime currentTime, TimeSpan timeLine)
result = DerivativesHelper.GetExpirationTimeLine(expirationTime, currentTime, timeLine)
Чтобы получить период опциона до истечения срока его действия.
- expirationTime
- Срок истечения опциона.
- currentTime
- Текущее время.
- timeLine
- Продолжительность общего периода.
Возвращает: Период опциона до истечения срока его действия. Если значение равно , то расчет значения в настоящий момент невозможен.
public static double? GetExpirationTimeLine(DateTime expirationTime, DateTime currentTime)
result = DerivativesHelper.GetExpirationTimeLine(expirationTime, currentTime)
Чтобы получить период опциона до истечения срока его действия.
- expirationTime
- Срок истечения опциона.
- currentTime
- Текущее время.
Возвращает: Период опциона до истечения срока его действия. Если значение равно , то расчет значения в настоящий момент невозможен.
public static SecurityMessage GetFutureInfo(string futureName, string optionCode, ExchangeBoard board)
result = DerivativesHelper.GetFutureInfo(futureName, optionCode, board)
Получить информацию о фьючерсе по его названию (базовый актив, дата истечения и т.д.).
- futureName
- Название фьючерса.
- optionCode
- Код опции.
- board
- Информация о доске.
Возвращает: Информация о фьючерсах.
public static IEnumerable<Security> GetInTheMoney(Security underlyingAsset, ISecurityProvider securityProvider, decimal assetPrice)
result = DerivativesHelper.GetInTheMoney(underlyingAsset, securityProvider, assetPrice)
Чтобы попасть в денежные опционы (ITM).
- underlyingAsset
- Базовый актив.
- securityProvider
- Поставщик информации об инструментах.
- assetPrice
- Цена актива.
Возвращает: В денежных вариантах.
public static IEnumerable<Security> GetInTheMoney(Security underlyingAsset, IEnumerable<Security> allStrikes, decimal assetPrice)
result = DerivativesHelper.GetInTheMoney(underlyingAsset, allStrikes, assetPrice)
Чтобы попасть в денежные опционы (ITM).
- underlyingAsset
- Базовый актив.
- allStrikes
- Все удары.
- assetPrice
- Цена актива.
Возвращает: В денежных вариантах.
public static decimal GetIntrinsicValue(Security option, decimal assetPrice)
result = DerivativesHelper.GetIntrinsicValue(option, assetPrice)
Чтобы получить внутреннее значение опции.
- option
- Опционный контракт.
- assetPrice
- Цена базового актива.
Возвращает: Внутренняя ценность. Если невозможно получить текущую рыночную цену актива, он будет возвращен.
public static Security GetOppositeOption(Security option, ISecurityProvider provider)
result = DerivativesHelper.GetOppositeOption(option, provider)
Чтобы получить противоположный вариант (для колла получить пут, для пут получить колл).
- option
- Опционный контракт.
- provider
- Поставщик информации об инструментах.
Возвращает: Противоположный вариант.
public static Security GetOption(Security future, ISecurityProvider provider, decimal strike, DateTime expirationDate, OptionTypes optionType)
result = DerivativesHelper.GetOption(future, provider, strike, expirationDate, optionType)
Чтобы получить опцион на базовый фьючерс.
- future
- Базовые фьючерсы.
- provider
- Поставщик информации об инструментах.
- strike
- Удар.
- expirationDate
- Дата истечения опциона.
- optionType
- Тип опции.
Возвращает: Опционный контракт.
public static Security GetOptionInfo(string optionName, ExchangeBoard board)
result = DerivativesHelper.GetOptionInfo(optionName, board)
Получить информацию об опционе по его названию (базовый актив, страйк, дата истечения и т. д.).
- optionName
- Имя опции.
- board
- Информация о доске.
Возвращает: Информация об опции.
public static IEnumerable<Security> GetOutOfTheMoney(Security underlyingAsset, ISecurityProvider securityProvider, decimal assetPrice)
result = DerivativesHelper.GetOutOfTheMoney(underlyingAsset, securityProvider, assetPrice)
Варианты выхода из денег (ОТМ).
- underlyingAsset
- Базовый актив.
- securityProvider
- Поставщик информации об инструментах.
- assetPrice
- Цена актива.
Возвращает: Варианты без денег.
public static IEnumerable<Security> GetOutOfTheMoney(Security underlyingAsset, IEnumerable<Security> allStrikes, decimal assetPrice)
result = DerivativesHelper.GetOutOfTheMoney(underlyingAsset, allStrikes, assetPrice)
Варианты выхода из денег (ОТМ).
- underlyingAsset
- Базовый актив.
- allStrikes
- Все удары.
- assetPrice
- Цена актива.
Возвращает: Варианты без денег.
public static Security GetPut(Security future, ISecurityProvider provider, decimal strike, DateTime expirationDate)
result = DerivativesHelper.GetPut(future, provider, strike, expirationDate)
Чтобы получить пут на базовый фьючерс.
- future
- Базовые фьючерсы.
- provider
- Поставщик информации об инструментах.
- strike
- Удар.
- expirationDate
- Дата истечения опциона.
Возвращает: Опцион «Пут».
public static decimal GetStrikeStep(Security underlyingAsset, ISecurityProvider provider, DateTime? expirationDate)
result = DerivativesHelper.GetStrikeStep(underlyingAsset, provider, expirationDate)
Чтобы получить размер шага удара.
- provider
- Поставщик информации об инструментах.
- underlyingAsset
- Базовый актив.
- expirationDate
- Дата окончания опциона (для указания конкретной серии).
Возвращает: Размер шага удара.
public static decimal GetTimeValue(Security option, decimal currentPrice, decimal assetPrice)
result = DerivativesHelper.GetTimeValue(option, currentPrice, assetPrice)
Чтобы получить значение временной опции.
- option
- Опционный контракт.
- currentPrice
- Цена контракта.
- assetPrice
- Цена базового актива.
Возвращает: Временное значение.
public static Security GetUnderlyingAsset(Security derivative, ISecurityProvider provider)
result = DerivativesHelper.GetUnderlyingAsset(derivative, provider)
Получить базовый актив с помощью дериватива.
- derivative
- Производная.
- provider
- Поставщик информации об инструментах.
Возвращает: Базовый актив.
public static QuoteChangeMessage ImpliedVolatility(IOrderBookMessage depth, ISecurityProvider securityProvider, IMarketDataProvider dataProvider, DateTime currentTime, decimal riskFree, decimal dividend)
result = DerivativesHelper.ImpliedVolatility(depth, securityProvider, dataProvider, currentTime, riskFree, dividend)
Создать стакан волатильных ордеров из обычного стакана ордеров.
- depth
- Котировки стакана заявок которого будут заменены на котировки волатильности.
- securityProvider
- Поставщик информации об инструментах.
- dataProvider
- Поставщик рыночных данных.
- currentTime
- Текущее время.
- riskFree
- Безрисковая процентная ставка.
- dividend
- Размер дивидендов по акциям.
Возвращает: Волатильность стакана заявок.
public static QuoteChangeMessage ImpliedVolatility(IOrderBookMessage depth, IBlackScholes model, DateTime currentTime)
result = DerivativesHelper.ImpliedVolatility(depth, model, currentTime)
Создать стакан волатильных ордеров из обычного стакана ордеров.
- depth
- Котировки стакана заявок которого будут заменены на котировки волатильности.
- model
- Модель расчета значений греков по формуле Блэка-Шоулза.
- currentTime
- Текущее время.
Возвращает: Волатильность стакана заявок.
public static decimal? ImpliedVolatility(decimal premium, Func<decimal, decimal?> getPremium)
result = DerivativesHelper.ImpliedVolatility(premium, getPremium)
Для расчета подразумеваемой волатильности.
- premium
- Опционная премия.
- getPremium
- Рассчитать премию по волатильности.
Возвращает: Подразумеваемая волатильность. Если значение равно , то расчет значения в настоящий момент невозможен.
public static OptionTypes Invert(OptionTypes type)
result = DerivativesHelper.Invert(type)
Изменить тип опции на противоположный.
- type
- Начальное значение.
Возвращает: Противоположное значение.
public static bool IsExpired(Security security, IExchangeInfoProvider exchangeInfoProvider, DateTime currentTime)
result = DerivativesHelper.IsExpired(security, exchangeInfoProvider, currentTime)
Чтобы проверить, завершил ли инструмент действие.
- security
- финансовый инструмент.
- exchangeInfoProvider
- Поставщик бирж и торговых площадок.
- currentTime
- Текущее время.
Возвращает: если инструмент закончил свое действие.
public static decimal Premium(OptionTypes optionType, decimal strike, decimal assetPrice, decimal riskFree, decimal dividend, decimal deviation, double timeToExp, double d1)
result = DerivativesHelper.Premium(optionType, strike, assetPrice, riskFree, dividend, deviation, timeToExp, d1)
Рассчитать опционную премию.
- optionType
- Тип опции.
- strike
- Страйк-цена.
- assetPrice
- Цена базового актива.
- riskFree
- Безрисковая процентная ставка.
- dividend
- Размер дивидендов по акциям.
- deviation
- Стандартное отклонение.
- timeToExp
- Период опциона до истечения срока его действия.
- d1
- Параметр d1 оценки вероятности исполнения опциона.
Возвращает: Опционная премия.
public static decimal Rho(OptionTypes optionType, decimal strike, decimal assetPrice, decimal riskFree, decimal deviation, double timeToExp, double d1)
result = DerivativesHelper.Rho(optionType, strike, assetPrice, riskFree, deviation, timeToExp, d1)
Для расчета варианта ро.
- optionType
- Тип опции.
- strike
- Страйк-цена.
- assetPrice
- Цена базового актива.
- riskFree
- Безрисковая процентная ставка.
- deviation
- Стандартное отклонение.
- timeToExp
- Период опциона до истечения срока его действия.
- d1
- Параметр d1 оценки вероятности исполнения опциона.
Возвращает: Вариант ро.
public static decimal Theta(OptionTypes optionType, decimal strike, decimal assetPrice, decimal riskFree, decimal deviation, double timeToExp, double d1, decimal daysInYear)
result = DerivativesHelper.Theta(optionType, strike, assetPrice, riskFree, deviation, timeToExp, d1, daysInYear)
Для расчета опциона тета.
- optionType
- Тип опции.
- strike
- Страйк-цена.
- assetPrice
- Цена базового актива.
- riskFree
- Безрисковая процентная ставка.
- deviation
- Стандартное отклонение.
- timeToExp
- Период опциона до истечения срока его действия.
- d1
- Параметр d1 оценки вероятности исполнения опциона.
- daysInYear
- Дней в году.
Возвращает: Вариант тета.
public static decimal Vega(decimal assetPrice, double timeToExp, double d1)
result = DerivativesHelper.Vega(assetPrice, timeToExp, d1)
Для расчета варианта Вега.
- assetPrice
- Цена базового актива.
- timeToExp
- Период опциона до истечения срока его действия.
- d1
- Параметр d1 оценки вероятности исполнения опциона.
Возвращает: Вариант вега.