exponenta event banner

barriersensbyls

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

Описание

пример

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

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

пример

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

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

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

  • 'UI' - Up Stock-in

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

  • 'UO' - Вырубка вверх

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

  • 'DI' - Посадка вниз

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

  • 'DO' - Сбивка вниз

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

ВыборТип барьераОкупаемость при пересечении барьераОкупаемость, если барьер не пересечен
Вызов/вводВыбивание внизБесполезныйСтандартный вызов/ввод
Вызов/вводDown Knock-inВызов/вводБесполезный
Вызов/вводВырубка вверхБесполезныйСтандартный вызов/ввод
Вызов/вводUp Stock-inСтандартный вызов/вводБесполезный

Типы данных: 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 - американский

Примечание

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

свернуть все

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

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

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

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

Подробнее

свернуть все

Вариант барьера

Вариант «Барьер» имеет не только цену страйка, но и уровень барьера, а иногда и скидку.

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

Ссылки

[1] Халл, J. Опционы, фьючерсы и другие деривативы Четвертое издание. Prentice Hall, 2000, стр. 646-649.

[2] Айтсалия, Ф., Л. Имхоф и Т. Л. Лай. «Ценообразование и хеджирование американских опционов.» Журнал производных. т. 11.3, 2004, стр. 44-50.

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

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

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

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

Представлен в R2016b