barrierbyls

Ценовой европеец или американские барьерные опционы с помощью симуляций Монте-Карло

Синтаксис

[Price,Paths,Times,Z] = barrierbyls(RateSpec,StockSpec,OptSpec,Strike,Settle,ExerciseDates,BarrierSpec,Barrier)
[Price,Paths,Times,Z] = barrierbyls(___,Name,Value)

Описание

пример

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

Для американских опций метод наименьших квадратов Лонгштафф-Шварца используется, чтобы вычислить раннюю премию осуществления.

пример

[Price,Paths,Times,Z] = barrierbyls(___,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;

Price = barrierbyls(RateSpec,StockSpec,OptSpec,Strike,Settle,Maturity,BarrierSpec,...
Barrier,'NumTrials',2000,'AmericanOpt',AmericanOpt)
Price = 4.7306

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

свернуть все

Структура термина процентной ставки (пересчитанный на год и постоянно составляемый), заданный 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 вектор контуров даты осуществления. Опция может быть осуществлена в любую дату между или включая пару дат на той строке. Если только одна non-NaN дата перечислена, опция может быть осуществлена между Settle и одной перечисленной датой в ExerciseDates.

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

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

  • 'UI' — стучит - в

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

  • 'UO' — Нокаут

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

  • 'DI' — вниз стучит - в

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

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

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

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

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

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

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

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

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

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

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

  • 0 — Европеец

  • 1 — Американец

Примечание

Для американских опций метод наименьших квадратов Лонгштафф-Шварца используется, чтобы вычислить раннюю премию осуществления. Для получения дополнительной информации о методе наименьших квадратов см. https://people.math.ethz.ch/%7Ehjfurrer/teaching/LongstaffSchwartzAmericanOptionsLeastSquareMonteCarlo.pdf.

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

Значение уступки, заданное как пара, разделенная запятой, состоящая из 'Rebate' и числового скаляра. Для Удара - в опциях, Rebate заплачен при истечении. Для опций Нокаута заплачен Rebate, когда Barrier достигнут.

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

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

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

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

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

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

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

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

Типы данных: логический

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

свернуть все

Ожидаемые цены на барьерные опционы, возвращенные как 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] Оболочка, J. Опции, фьючерсы и Другие Производные. Четвертый Выпуск. Prentice Hall, 2000, стр 646–649.

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

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

Введенный в R2017b

Для просмотра документации необходимо авторизоваться на сайте