dblbarrierbyfd

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

Описание

пример

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

пример

[Price,PriceGrid,AssetPrices,Times] = dblbarrierbyfd(___,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;

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

Price = dblbarrierbyfd(RateSpec, StockSpec, OptSpec, Strike, Settle, Maturity, BarrierSpec, Barrier,'Rebate', Rebate, 'AmericanOpt', 1)
Price = 4.0002

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

свернуть все

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

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

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

  • 'DKI' — Двойной удар - в

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

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

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

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

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

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

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

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

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

Пример: Price = dblbarrierbyfd(RateSpec,StockSpec,OptSpec,Strike,Settle,Maturity,BarrierSpec,Barrier,'Rebate',[100,100])

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

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

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

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

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

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

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

Примечание

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

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

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

  • 0 — Европеец

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

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

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

свернуть все

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

Сетка, содержащая цены, вычисленные методом конечной разности, возвращенным как двумерная сетка с размером 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