barriersensbybls

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

Описание

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

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 для европейского барьера вниз и вниз в колл-опционах с помощью модели ценообразования опционов Блэка-Шоулза.

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- 1 массив ячеек из символьных векторов или строковые массивы со значениями "call" или "put".

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

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

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

Урегулирование или торговая дата барьерного опциона, заданного как NINST- 1 матрица с помощью последовательных чисел даты, векторов символов даты или объектов datetime.

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

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

Примечание

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

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

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

  • 'UI' — Удар - в

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

  • 'UO' — Нокаут

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

  • 'DI' — Вниз удар - в

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

  • 'DO' — Вниз удар

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

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

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

Уровень барьера, заданный как NINST- 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- 1 матрица числовых значений. Для Удара - в опциях, Rebate заплачен при истечении. Для опций Нокаута, Rebate заплачен когда Barrier достигнут.

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

Задайте выходные параметры, заданные как разделенная запятой пара, состоящая из 'OutSpec' и NOUT- 1 или 1- 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- 1 матрица.

Больше о

свернуть все

Барьерный опцион

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

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

Ссылки

[1] Оболочка, J. Опции, фьючерсы и Другие Производные Четвертый Выпуск. Prentice Hall, 2000, стр 646–649.

[2] Aitsahlia, F., Л. Имхоф и Т.Л. Лай. “Оценивая и страхуясь американского удара - в опциях”. Журнал Производных. Издание 11.3, 2004, стр 44–50.

[3] Рубинштайн М. и Э. Райнер. “Устраняя препятствия”. Риск. Издание 4 (8), 1991, стр 28–35.

Введенный в R2017b