blackvolbysabr

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

Описание

пример

outVol = blackvolbysabr(Alpha,Beta,Rho,Nu,Settle,ExerciseDate,ForwardValue,Strike) вычисляет подразумеваемую волатильность черного цвета, используя модель стохастической волатильности SABR.

пример

outVol = blackvolbysabr(___,Name,Value) добавляет необязательные аргументы пары "имя-значение".

Примеры

свернуть все

Задайте параметры модели и данные опций.

ForwardRate = 0.0357;
Strike = 0.03;
Alpha = 0.036;
Beta = 0.5;
Rho = -0.25;
Nu = 0.35;
  
Settle = datenum('15-Sep-2013');
ExerciseDate = datenum('15-Sep-2015');

Вычислите волатильность черного цвета с помощью модели SABR.

ComputedVols = blackvolbysabr(Alpha, Beta, Rho, Nu, Settle, ...
ExerciseDate, ForwardRate, Strike)
ComputedVols = 0.2122

Задайте параметры модели и данные опций с отрицательным ударом.

ForwardRate = 0.0002;
Strike = -0.001;  % -0.1% strike.
Alpha = 0.01;
Beta = 0.5;
Rho = -0.1;
Nu = 0.15;
Shift = 0.005;  % 0.5 percent shift

Settle = datenum('1-Mar-2016');
ExerciseDate = datenum('1-Mar-2017');

Вычислите изменчивость Сдвинутого Черного с помощью модели Сдвинутого SABR.

ComputedVols = blackvolbysabr(Alpha, Beta, Rho, Nu, Settle, ...
ExerciseDate, ForwardRate, Strike, 'Shift', Shift)
ComputedVols = 0.1518

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

свернуть все

Текущая волатильность SABR, заданная как скаляр.

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

Показатель SABR CEV, заданный как скаляр.

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

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

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

Волатильность волатильности, заданная как скаляр.

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

Дата расчета, заданная как скаляр с использованием последовательного неотрицательного номера даты или вектора символов даты.

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

Дата упражнения опции, заданная в виде скаляра с использованием последовательного неотрицательного номера даты или вектора символов даты.

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

Текущее прямое значение базового актива, заданное в виде скаляра или вектора размера NumVols-by- 1.

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

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

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

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

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

Пример: outVol = blackvolbysabr(Alpha,Beta,Rho,Nu,Settle,ExerciseDate,ForwardValue,Strike,'Basis',2,'Model','Obloj2008')

Дневной базис инструмента, заданный как разделенная запятыми пара, состоящая из 'Basis' и положительное целое число множества [1...13].

  • 0 = факт/факт

  • 1 = 30/360 (SIA)

  • 2 = факт/360

  • 3 = факт/365

  • 4 = 30/360 (PSA)

  • 5 = 30/360 (ISDA)

  • 6 = 30/360 (европейский)

  • 7 = факт/365 (японский)

  • 8 = факт/факт (ICMA)

  • 9 = факт/360 (ICMA)

  • 10 = факт/365 (ICMA)

  • 11 = 30/360E (ICMA)

  • 12 = факт/365 (ISDA)

  • 13 = BUS/252

Для получения дополнительной информации см. раздел Базиса.

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

Версия модели SABR, заданная как разделенная разделенными запятой парами, состоящая из 'Model' и одно из следующих значений:

  • 'Hagan2002' - Оригинальная версия Hagan et al. (2002)

  • 'Obloj2008' - Версия от Obloj (2008)

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

Сдвиг десятичных чисел для сдвинутой модели SABR (для использования с моделью Shitted Black), заданный как разделенная разделенными запятой парами, состоящая из 'Shift' и скаляр положительное десятичное значение. Установите этот параметр положительный сдвиг десятичных чисел, чтобы добавить положительный сдвиг к ForwardValue и Strike, который эффективно устанавливает отрицательную нижнюю границу для ForwardValue и Strike. Для примера, a Shift значение 0,01 равно сдвигу на 1%.

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

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

свернуть все

Подразумеваемая чёрная волатильность, вычисленная моделью SABR, возвращенная в виде скаляра или вектора размера NumVols-by- 1.

Алгоритмы

Модель стохастической волатильности SABR лечит базовое вперед F^ и волатильность α^ как отдельные случайные процессы, которые связаны с корреляцией ρ:

dF^=α^F^βdW1dα^=vα^dW2dW1dW2=ρdtF^(0)=Fα^(0)=α

где

  • F^ является базовым форвардом (переменная).

  • F - ток, лежащий в основе вперед (константа).

  • α^ - волатильность SABR (переменная).

  • α - текущая волатильность SABR (константа).

  • β - показатель постоянной эластичности отклонения (CEV) SABR.

  • υ - волатильность волатильности.

  • dW1 является броуновским движением.

  • dW2 является броуновским движением.

  • ρ - корреляция между прямым значением и волатильностью.

Напротив, логнормальная модель Блэка принимает постоянную волатильность, σB.

dF^=σBF^dW

Hagan et al. (2002) выведено следующее приближение подразумеваемой чёрной логнормальной волатильности в закрытой форме (σB) для модели SABR

σB(F,K)=α{1+[(1β)224α2(FK)1β+14ρβυα(FK)(1β)/2+23ρ224υ2]T+...}(FK)(1β)/2{1+(1β)224log2(F/K)+(1β)41920log4(F/K)+...}(zx(z))z=υα(FK)(1β)/2log(F/K)x(z)=log{12ρz+z2+zρ1ρ}

где

  • F - текущее прямое значение базового значения.

  • α - текущая волатильность SABR.

  • K - значение удара.

  • T - время до зрелости опции.

Obloj (2008) выступал за следующее приближение подразумеваемой логнормальной волатильности в закрытой форме для модели SABR (для β<1)

σB(F,K)=υlog(F/K)x(z){1+[(1β)224α2(FK)1β+14ρβυα(FK)(1β)/2+23ρ224υ2]T+...}z=υαF(1β)K(1β)1βx(z)=log{12ρz+z2+zρ1ρ}

Эти выражения могут быть упрощены в особых ситуациях, таких как at-the-money (F=K ) и стохастический логнормальный (β = 1) случаи [1,2].

Ссылки

[1] Хаган, П. С., Д. Кумар, А. С. Лесневски и Д. Е. Вудворд. «Управление риском улыбки». Wilmott Magazine, сентябрь, стр. 84-108, 2002.

[2] Obloj, J. "Подстройте свою улыбку: Коррекция к Hagan et. al ". Wilmott Magazine, 2008 .

Введенный в R2014a