dblbarriersensbyfd

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

Синтаксис

[PriceSens,PriceGrid,AssetPrices,Times] = dblbarriersensbyfd(RateSpec,StockSpec,OptSpec,Strike,Settle,ExerciseDates,BarrierSpec,Barrier)
[PriceSens,PriceGrid,AssetPrices,Times] = dblbarriersensbyfd(___,Name,Value)

Описание

пример

[PriceSens,PriceGrid,AssetPrices,Times] = dblbarriersensbyfd(RateSpec,StockSpec,OptSpec,Strike,Settle,ExerciseDates,BarrierSpec,Barrier) вычисляет европейский или американский вызов или помещенную двойную цену барьерного опциона и чувствительность одного базового актива с помощью метода конечной разности. dblbarrierbyfd принимает, что барьер постоянно проверяется.

пример

[PriceSens,PriceGrid,AssetPrices,Times] = dblbarriersensbyfd(___,Name,Value) задает опции с помощью одного или нескольких аргументов пары "имя-значение" в дополнение к входным параметрам в предыдущем синтаксисе.

Примеры

свернуть все

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

Rate = 0.05;
Settle = '01-Jun-2018';
Maturity = '01-Dec-2018';
Basis = 1;

Задайте RateSpec.

RateSpec = intenvset('ValuationDate', Settle, 'StartDates', Settle, 'EndDates', Maturity,'Rates', Rate, 'Compounding', -1, 'Basis', Basis);

Задайте StockSpec.

AssetPrice = 100; 
Volatility = 0.25;
StockSpec = stockspec(Volatility, AssetPrice);

Задайте двойной барьерный опцион.

LBarrier = 80; 
UBarrier = 130; 
Barrier = [UBarrier LBarrier];
BarrierSpec = 'DKO';
OptSpec = 'Call';
Strike = 110;
Rebate = 1;
OutSpec = {'price'; 'vega'; 'theta'};

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

[Price, Vega, Theta] = dblbarriersensbyfd(RateSpec, StockSpec, OptSpec, Strike, Settle, Maturity, BarrierSpec, Barrier,'Rebate', Rebate, 'AmericanOpt', 1,'Outspec', OutSpec)
Price = 4.0002
Vega = -1.9180e+03
Theta = -6.6509

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

свернуть все

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

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

Спецификация запаса для базового актива, заданного StockSpec, получена из 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 | datetime

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

  • 'DKI' — дважды стучит - в

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

  • 'DKO' — Двойной нокаут

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

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

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

Уровень барьера, заданный как 1-by-2 вектор числовых значений, где первый столбец является верхним барьером (1) (UB) и второй столбец, является более низким барьером (2) (LB). Барьер (1) должен быть больше, чем Барьер (2).

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

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

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

Пример: PriceSens = dblbarriersensbyfd(RateSpec,StockSpec,OptSpec,Strike,Settle,Maturity,BarrierSpec,Barrier,'OutSpec',{'delta','gamma','vega','lambda','rho','theta','price'},'AmericanOpt',1)

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

Значение уступки, заданное как пара, разделенная запятой, состоящая из 'Rebate' и одно из следующего:

  • Для Двойной опции Нокаута используйте 1-by-2 вектор значений уступки, где первый столбец является выплатой, если верхний барьер (1) (UB) поражен, и второй столбец является выплатой, если более низкий барьер (2) (LB) поражен. Уступка заплачена, когда барьер достигнут.

  • Для Двойного Удара - в опции, используйте скалярное значение уступки. Уступка заплачена при истечении.

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

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

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

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

Примечание

Фактическая сетка времени может иметь больший размер, потому что осуществление и без дивиденда даты могут быть добавлены к сетке от StockSpec.

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

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

  • 0 — Европеец

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

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

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

свернуть все

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

Сетка, содержащая цены, вычисленные методом конечной разности, возвращенным как двумерная сетка с размером AssetGridSize*TimeGridSize. Количество столбцов не должно быть равно TimeGridSize, потому что осуществление и без дивиденда даты в StockSpec добавляются к сетке времени. PriceGrid(:, end) содержит цену за t = 0.

Цены актива, заданного StockSpec, соответствующим первой размерности PriceGrid, возвращенного как вектор.

Времена соответствуя второму измерению PriceGrid, возвращенного как вектор.

Больше о

свернуть все

Двойной барьерный опцион

Опция double barrier подобна стандартному одному барьерному опциону за исключением того, что это имеет два уровня барьера: более низкий барьер (LB) и верхний барьер (UB).

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

Ссылки

[1] Бойл, P. и И. Тянь. “Явный Подход Конечной разности к Оценке Барьерных опционов”. Прикладные Математические Финансы. Издание 5, Номер 1, 1998, стр 17–43.

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

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

[4] Zvan, R., П. А. Форсайт и К. Р. Вецэл. “Методы УЧП для Оценки Барьерных опционов”. Журнал Экономической Динамики и Управления. Издание 24, Номер 11-12, 2000, стр 1563–1590.

Введенный в R2019a