dblbarriersensbybls

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

Описание

пример

PriceSens = dblbarriersensbybls(RateSpec,StockSpec,OptSpec,Strike,Settle,ExerciseDates,BarrierSpec,Barrier) вычисляет европейские цены и чувствительности опции двойного барьера с помощью модели Black-Scholes опции ценообразования и приближения Ikeda и Kunitomo.

пример

PriceSens = dblbarriersensbybls(___,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;
OutSpec = {'Price', 'Delta', 'Gamma'};

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

[PriceFlat, Delta, Gamma] = dblbarriersensbybls(RateSpec, StockSpec, OptSpec, Strike, Settle, Maturity, BarrierSpec, Barrier,'OutSpec', OutSpec)
PriceFlat = 1.1073
Delta = 0.0411
Gamma = -0.0040

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

Curvature = [0.05 -0.05];
[PriceCurved, Delta, Gamma] = dblbarriersensbybls(RateSpec, StockSpec, OptSpec, Strike, Settle, Maturity, BarrierSpec, Barrier, 'Curvature', Curvature,'OutSpec', OutSpec)
PriceCurved = 1.4548
Delta = 0.0620
Gamma = -0.0045

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

свернуть все

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

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

Спецификация запаса для базового актива, заданная StockSpec получен из stockspec.

stockspec обрабатывает несколько типов базовых ресурсов. Для примера, для физических товаров цена StockSpec.Asset, волатильность StockSpec.Sigma, и удобное выражение StockSpec.DividendAmounts.

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

Определение опции как 'call' или 'put', заданный как NINST-by- 1 массив ячеек из векторов символов или строковых массивов со значениями 'call' или 'put' или "call" или "put".

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

Опциональное значение цены доставки, заданное как NINST-by- 1 матрица числовых значений, где каждая строка является расписанием для одной опции.

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

Дата расчета или сделки для опции двойного барьера, заданная как NINST-by- 1 матрица с использованием серийных номеров дат, векторов символов даты или объектов datetime.

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

Даты выполнения опций, заданные как NINST-by- 1 матрица серийных номеров дат, векторов символов даты или объектов datetime.

Примечание

Для европейской опции срок действия опции имеет только один ExerciseDates значение, которое является зрелостью инструмента.

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

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

  • 'DKI' - Double Knock-in

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

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

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

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

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

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

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

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

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

Пример: PriceSens = dblbarriersensbybls(RateSpec,StockSpec,OptSpec,Strike,Settle,Maturity,BarrierSpec,Barrier,'Curvature',[1,5],'OutSpec','Delta')

Уровни кривизны верхнего и нижнего барьеров, заданные как разделенная разделенными запятой парами, состоящая из 'Curvature' и NINST-by- 1 матрица числовых значений, где каждый элемент является 1-by- 2 вектор. Первый столбец является верхним барьерным изгибом (d1), а второй столбец - нижним барьерным изгибом (d2).

  • d1 = d2 = 0 соответствует двум плоским контурам.

  • d1 < 0 < d2 соответствует экспоненциально растущей нижнему контуру и экспоненциально затухающей верхнему контуру.

  • d1 > 0 > d2 соответствует выпуклому нижнему контуру вниз и выпуклому верхнему контуру вверх.

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

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

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

свернуть все

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

Подробнее о

свернуть все

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

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

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

Икеда и Кунитомо Приближение

Аналитические формулы Икеды и Кунитомо подходят к ценообразованию с ограничениями изогнутых контуров.

Этот подход имеет преимущество покрытия барьеров, которые являются плоскими, имеют экспоненциальный рост или распад, или являются вогнутыми. Модель Икеда и Кунитомо для ценообразования опций двойного барьера фокусируется на вычислении барьеров двойного выбивания.

Ссылки

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

[2] Кунитомо, Н. и М. Икеда. «Ценообразование Опций с изогнутыми Контурами». Математические финансы. Том 2, № 4, 1992.

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

Введенный в R2019a