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

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

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

  • 'DKI' - Double Knock-in

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

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

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

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

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

Уровень барьера, заданный как 1-by- 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' и одно из следующих:

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

  • Для опции Double Knock-in используйте значение скалярного ребра. Скидка выплачивается по истечении срока действия.

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

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

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

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

Примечание

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

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

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

  • 0 - Европейский

  • 1 - Американский

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

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

свернуть все

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

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

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

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

Подробнее о

свернуть все

Опция двойного барьера

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

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

Ссылки

[1] Бойл, П. и Я. Тян. «Явный подход с конечными различиями к ценообразованию барьерных опций». Прикладные математические финансы. Том 5, № 1, 1998, стр. 17-43.

[2] Hull, J. Options, Futures и другие производные. Четвертое издание. Верхняя Седл-Ривер, Нью-Джерси: Prentice Hall, 2000, pp. 646-649.

[3] Рубинштейн, М. и Э. Райнер. «Разрушение барьеров». Риск. Том 4, № 8, 1991, стр. 28-35.

[4] Зван, Р., П. А. Форсайт и К. Р. Ветзал. «PDE Методы ценообразования барьерных опций». Журнал экономической динамики и контроля. Том 24, номер 11-12, 2000, стр. 1563-1590.

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