barrierbyls

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

Описание

пример

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

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

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

  • 'UI' — Удар - в

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

  • 'UO' — Нокаут

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

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

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

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

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

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

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

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

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

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

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

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

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

  • 0 — Европеец

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

Примечание

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

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

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

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

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

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

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

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

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

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

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

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

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

свернуть все

Ожидаемые цены на барьерные опционы, возвращенные как NINST- 1 матрица.

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

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

Массив временных рядов зависимых случайных варьируемых величин, возвращенных как NumPeriods- 1- 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