barriersensbybls

Вычислите цену или чувствительность для европейских барьерных опций с помощью модели опционного ценообразования Black-Scholes

Описание

PriceSens = barriersensbybls(RateSpec,StockSpec,OptSpec,Strike,Settle,ExerciseDates,BarrierSpec,Barrier) вычисляет европейские цены барьерных опций или чувствительности с помощью модели ценообразования опций Black-Scholes.

PriceSens = barriersensbybls(___,Name,Value) добавляет необязательные аргументы пары "имя-значение".

Примеры

свернуть все

Вычислите цену европейского барьера вниз и вниз в опциях вызова с помощью следующих данных:

Rates = 0.035;
Settle = '01-Jan-2015';
Maturity = '01-April-2015';
Compounding = -1;
Basis = 1;

Задайте RateSpec.

 RateSpec = intenvset('ValuationDate', Settle, 'StartDates', Settle, 'EndDates', Maturity, ...
     'Rates', Rates, 'Compounding', Compounding, 'Basis', Basis)
RateSpec = struct with fields:
           FinObj: 'RateSpec'
      Compounding: -1
             Disc: 0.9913
            Rates: 0.0350
         EndTimes: 0.2500
       StartTimes: 0
         EndDates: 736055
       StartDates: 735965
    ValuationDate: 735965
            Basis: 1
     EndMonthRule: 1

Задайте StockSpec.

AssetPrice = 19;
Volatility = 0.40;
DivType = 'Continuous'; 
DivAmount = 0.035;
StockSpec = stockspec(Volatility, AssetPrice, DivType, DivAmount)
StockSpec = struct with fields:
             FinObj: 'StockSpec'
              Sigma: 0.4000
         AssetPrice: 19
       DividendType: {'continuous'}
    DividendAmounts: 0.0350
    ExDividendDates: []

Вычислим price, delta, и gamma для европейского барьера вниз и вниз в вариантах вызова с помощью модели ценообразования опций Black-Scholes.

OptSpec = 'Call';
Strike = 20;
Barrier = 18;
BarrierSpec = {'DO';'DI'};
OutSpec = {'price', 'delta', 'gamma'};

[Price, Delta, Gamma] = barriersensbybls(RateSpec, StockSpec, OptSpec, Strike, Settle,...
Maturity,  BarrierSpec, Barrier,'OutSpec', OutSpec)
Price = 2×1

    0.6287
    0.4655

Delta = 2×1

    0.6376
   -0.2036

Gamma = 2×1

    0.0255
    0.0773

Входные параметры

свернуть все

Структура процентной ставки (в годовом исчислении и постоянно сложной), определяемая RateSpec получен из intenvset. Для получения информации о спецификации процентной ставки смотрите intenvset.

Типы данных: struct

Спецификация запаса для базового актива. Для получения информации о спецификации запаса см. stockspec.

stockspec обрабатывает несколько типов базовых ресурсов. Для примера, для физических товаров цена StockSpec.Asset, волатильность StockSpec.Sigma, и удобное выражение StockSpec.DividendAmounts.

Типы данных: struct

Определение опции как 'call' или 'put', заданный как NINST-by- 1 массив ячеек из векторов символов или строковых массивов со значениями "call" или "put".

Типы данных: char | string | cell

Опциональное значение цены доставки, заданное как NINST-by- 1 матрица числовых значений.

Типы данных: double

Дата расчета или сделки для барьерной опции, заданная как NINST-by- 1 матрица с использованием серийных номеров дат, векторов символов даты или объектов datetime.

Типы данных: double | char | datetime

Даты выполнения опций, заданные как NINST-by- 1 матрица серийных номеров дат, векторов символов даты или объектов datetime.

Примечание

Для европейской опции существует только один ExerciseDates на дату истечения срока действия опции, которая является сроком погашения инструмента.

Типы данных: double | char | datetime

Тип опции барьера, заданный как NINST-by- 1 массив ячеек из векторов символов со следующими значениями:

  • 'UI' - Нокинг Вверх

    Эта опция вступает в силу, когда цена базового актива переходит выше уровня барьера. Это дает держателю опции право, но не обязательство, покупать или продавать (звонить/ставить) базовое обеспечение по цене забастовки, если базовый актив становится выше барьерного уровня в течение срока действия опции.

  • 'UO' - Нокаут Вверх

    Эта опция дает держателю опциона право, но не обязательство, покупать или продавать (звонить/ставить) базовое обеспечение по цене забастовки, пока базовый актив не переходит выше барьерного уровня в течение срока действия опциона. Эта опция прекращается, когда цена базового актива переходит выше уровня барьера. Обычно с опцией «вверх и наружу» скидка выплачивается, если спотовая цена базового объекта достигает или превышает уровень барьера.

  • 'DI' - Нисходящий ввод

    Эта опция вступает в силу, когда цена базового запаса переходит ниже уровня барьера. Он дает держателю опции право, но не обязательство, покупать или продавать (звонить/ставить) базовую гарантию по цене забастовки, если базовая гарантия идет ниже барьерного уровня в течение срока действия опции. С опцией down-and-in скидка выплачивается, если спотовая цена базового компонента не достигает уровня барьера в течение срока действия опции.

  • 'DO' - Нисходящий нокдаун

    Эта опция предоставляет держателю опциона право, но не обязательство, покупать или продавать (звонить/ставить) базовый актив по цене доставки, пока базовый актив не опустится ниже уровня барьера в течение срока действия опциона. Эта опция прекращается, когда цена базового обеспечения переходит ниже уровня барьера. Обычно держатель опции получает сумму скидки, если срок действия опции истекает бесполезно.

ОпцияТип барьераОкупаемость при пересечении барьераОкупаемость, если барьер не пересечен
Вызов/РазмещениеНисходящий выбойБесполезныйСтандартный вызов/размещение
Вызов/РазмещениеНисходящий вводВызов/РазмещениеБесполезный
Вызов/РазмещениеНокаут ВверхБесполезныйСтандартный вызов/размещение
Вызов/РазмещениеНокин-ин вверхСтандартный вызов/размещениеБесполезный

Типы данных: char | cell

Уровень барьера, заданный как NINST-by- 1 матрица числовых значений.

Типы данных: double

Аргументы в виде пар имя-значение

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

Пример: Price = barriersensbybls(RateSpec,StockSpec,OptSpec,Strike,Settle,Maturity,BarrierSpec,Barrier,'Rebate',1000,'OutSpec','Delta')

Значения скидки, заданные как разделенная разделенными запятой парами, состоящая из 'Rebate' и NINST-by- 1 матрица числовых значений. Для опций Knock-in, Rebate выплачивается по истечении срока действия. Для опций Knock-out, Rebate оплачивается, когда Barrier достигается.

Типы данных: double

Задайте выходы, заданные как разделенная разделенными запятой парами, состоящая из 'OutSpec' и a NOUT- by- 1 или 1-by- NOUT массив ячеек из векторов символов с возможными значениями 'Price', 'Delta', 'Gamma', 'Vega', 'Lambda', 'Rho', 'Theta', и 'All'.

OutSpec = {'All'} указывает, что выход Delta, Gamma, Vega, Lambda, Rho, Theta, и Price, в таком порядке. Это то же самое, что и установка OutSpec включать каждую чувствительность.

Пример: OutSpec = {'delta','gamma','vega','lambda','rho','theta','price'}

Типы данных: char | cell

Выходные аргументы

свернуть все

Ожидаемые цены во время 0 или чувствительности (определяются с помощью OutSpec) для барьерных опций, возвращенного как NINST-by- 1 матрица.

Подробнее о

свернуть все

Барьерные Опции

Барьерная опция имеет не только цену доставки, но и уровень барьера, а иногда и скидку.

Скидка является фиксированной суммой, которая выплачивается, если опция не может быть реализована, поскольку уровень барьера достигнут или не достигнут. Выплата для этого типа опции зависит от того, пересекает ли базовый актив предопределенное значение триггера (уровень барьера), обозначенное Barrier, в течение срока действия опции. Для получения дополнительной информации см. Раздел «Опция барьера».

Ссылки

[1] Hull, J. Options, Futures and Other Derivatives Fourth Edition. Prentice Hall, 2000, с. 646-649.

[2] Aitsahlia, F., L. Imhof, and T.L. Lai. «Ценообразование и хеджирование американских опций». Журнал производных. Том 11.3, 2004, стр. 44-50.

[3] Рубинштейн М. и Э. Райнер. «Разрушение барьеров». Риск. Том 4 (8), 1991, стр. 28-35.

Введенный в R2016b