barriersensbyls

Рассчитать цену и чувствительность для европейских или американских барьерных опций можно используя симуляции Монте-Карло

Описание

пример

[PriceSens,Paths,Times,Z] = barriersensbyls(RateSpec,StockSpec,OptSpec,Strike,Settle,ExerciseDates,BarrierSpec,Barrier) вычисляет цены или чувствительность барьерной опции на одном базовом активе с помощью модели Лонгстафа-Шварца. barriersensbyls вычисляет цены европейских и американских барьерных опций.

Для американских опций Longstaff-Schwartz методом наименьших квадратов используется для вычисления премии за ранние упражнения.

пример

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

Примеры

свернуть все

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

Rates = 0.0325;
Settle = '01-Jan-2016';
Maturity = '01-Jan-2017';
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.9680
            Rates: 0.0325
         EndTimes: 1
       StartTimes: 0
         EndDates: 736696
       StartDates: 736330
    ValuationDate: 736330
            Basis: 1
     EndMonthRule: 1

Задайте StockSpec.

 AssetPrice = 40;
 Volatility = 0.20;
 StockSpec = stockspec(Volatility,AssetPrice)
StockSpec = struct with fields:
             FinObj: 'StockSpec'
              Sigma: 0.2000
         AssetPrice: 40
       DividendType: []
    DividendAmounts: 0
    ExDividendDates: []

Рассчитать дельту и гамму американского барьера вниз в опции пут.

Strike = 45;
OptSpec = 'put';
Barrier = 35;
BarrierSpec = 'DI';
AmericanOpt = 1;

OutSpec = {'delta','gamma'};

[Delta,Gamma] = barriersensbyls(RateSpec,StockSpec,OptSpec,Strike,Settle,...
Maturity,BarrierSpec,Barrier,'NumTrials',2000,'AmericanOpt',AmericanOpt,'OutSpec',OutSpec)
Delta = -0.6346
Gamma = -0.3091

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

свернуть все

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

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

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

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

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

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

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

Значение цены доставки опции, заданное в виде скалярного числа.

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

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

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

Даты упражнения опции, заданные как серийный номер даты, вектор символов даты или объект datetime:

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

  • Для американской опции используйте 1-by- 2 вектор контуров дат упражнения. Опция может быть использована в любую дату между или включая пару дат в этой строке. Если только один не - NaN дата указана, опция может быть реализована между Settle и одинарная дата, указанная в ExerciseDates.

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

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

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

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

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

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

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

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

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

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

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

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

Уровень барьера, заданный в виде скалярного числа.

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

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

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

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

Тип опции, заданный как разделенная разделенными запятой парами, состоящая из 'AmericanOpt' и скалярный флаг с одним из следующих значений:

  • 0 - Европейский

  • 1 - Американский

Примечание

Для американских опций Longstaff-Schwartz методом наименьших квадратов используется для вычисления премии за ранние упражнения. Для получения дополнительной информации о методе наименьших квадратов смотрите https ://people.math.etz.ch/% 7Ehjfurrer/training/LongstaffSchwartzAmericanOptionsLeastSquareMonteCarlo.pdf.

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

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

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

Количество независимых путей выборки (испытания симуляции), заданное как разделенная разделенными запятой парами, состоящая из 'NumTrials' и скаляр неотрицательное целое число.

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

Количество периодов симуляции в пробной версии, заданное как разделенная разделенными запятой парами, состоящая из 'NumPeriods' и скаляр неотрицательное целое число.

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

Массив временных рядов зависимых случайных вариатов, заданный как разделенная разделенными запятой парами, состоящая из 'Z' и a NumPeriods-by- 1-by- NumTrials 3-D массив временных рядов. The Z значение генерирует вектор движения Brownian (то есть процессы Винера), который управляет симуляцией.

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

Индикатор для антитетической выборки, заданный как разделенная разделенными запятой парами, состоящая из 'Antithetic' и скалярное значение true или false.

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

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

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

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

свернуть все

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

Моделируемые пути коррелированных переменных состояния, возвращенные как NumPeriods + 1-by- 1-by- NumTrials 3-D массив временных рядов моделируемых путей коррелированных переменных состояния. Каждая строка Paths - транспонирование вектора X (t) состояния в момент t для данного исследования.

Время наблюдения, сопоставленное с моделируемыми путями, возвращается как NumPeriods + 1-by- 1 вектор-столбец, сопоставленный с моделируемыми путями. Каждый элемент Times связана с соответствующей строкой Paths.

Массив временных рядов зависимых случайных вариаций, возвращаемый как NumPeriods-by- 1-by- NumTrials трехмерный массив, когда Z задается как входной параметр. Если на Z входной параметр не задан, тогда Z выходной аргумент содержит случайные изменения, сгенерированные внутри.

Подробнее о

свернуть все

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

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

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

Ссылки

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

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

[3] Броди, М., П. Глассерман и С. Коу. «Непрерывность коррекции для дискретных барьерных опций». Математические финансы. Том 7.4, 1997, стр. 3250-349.

[4] Moon, K.S. «Эффективный алгоритм Монте-Карло для ценообразования, барьерные опции». Коммуникации Корейского математического общества. Том 23.2, 2008 стр. 85-294.

[5] Papatheodorou, B. «Расширенные методы Монте-Карло для ценообразования и хеджирования экзотических опций». Дипломная работа Оксфордского университета, 2005 год.

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

Введенный в R2016b