optSensByMertonFD

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

Описание

пример

[PriceSens,PriceGrid,AssetPrices,Times] = optSensByMertonFD(Rate,AssetPrice,Settle,ExerciseDates,OptSpec,Strike,Sigma,MeanJ,JumpVol,JumpFreq) вычисляет европейца ванили или американскую цену опции и чувствительность моделью Merton76, с помощью метода Crank-Nicolson Adams-Bashforth (CNAB) IMEX.

пример

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

Примеры

свернуть все

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

AssetPrice = 90;
Strike = 100;
Rate = 0.06;
DividendYield = 0.1;
Settle = '01-Jan-2018';
ExerciseDates = '02-Apr-2018';

Sigma = 0.40;
MeanJ = -0.10;
JumpVol = 0.01;
JumpFreq = 1.00;

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

OptSpec = 'Call';

[Price, Delta, Gamma, Rho, Theta, Vega] = optSensByMertonFD(Rate, AssetPrice, Settle, ExerciseDates, OptSpec, Strike,...
Sigma, MeanJ, JumpVol, JumpFreq, 'DividendYield', DividendYield, 'AmericanOpt', 1,...
'OutSpec', ["Price" "Delta" "Gamma" "Rho" "Theta" "Vega"])
Price = 3.4551
Delta = 0.3211
Gamma = 0.0195
Rho = 5.6610
Theta = -11.9877
Vega = 15.5156

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

свернуть все

Постоянно составляемая безрисковая процентная ставка, заданная как скалярное десятичное значение.

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

Текущая цена базового актива, заданная как числовой скаляр.

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

Расчетный день опции, заданный как скаляр с помощью последовательного номера даты, вектора символов даты, массива datetime или массива строк.

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

Даты осуществления опции, заданные как последовательный номер даты, вектор символов даты, массив datetime или массив строк:

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

  • Для американской опции используйте 1- 2 вектор последовательных чисел даты, векторов символов даты, массивов datetime или строковых массивов, чтобы задать контуры даты осуществления. Американская опция может быть осуществлена в любую дату между или включая пару дат. Если только один non-NaN дата перечислена, затем опция может быть осуществлена между Settle дата и одно перечисленное значение в ExerciseDates.

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

Определение опции, заданной как скаляр с помощью вектора символов или массива строк со значением 'call' или 'put'.

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

Значение цены исполнения опциона опции, заданное как числовой скаляр.

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

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

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

Среднее значение случайного размера скачка процента (J), заданный как скалярное десятичное значение, где log(1+J) нормально распределено со средним значением (log(1+MeanJ)-0.5*JumpVol^2) и стандартное отклонение JumpVol.

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

Стандартное отклонение log(1+J), где J случайный размер скачка процента, заданный как скалярное десятичное число.

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

Ежегодная частота процесса скачка Пуассона, заданного как числовой скаляр.

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

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

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

Пример: [Price,PriceGrid] = optByMertonFD(Rate,AssetPrice,Settle,ExerciseDates,OptSpec,Strike,MeanJ,JumpVol,JumpFreq,'Basis',7,'OutSpec','delta')

Основание дневного количества инструмента, заданного как разделенная запятой пара, состоящая из 'Basis' и скаляр с помощью поддерживаемого значения:

  •  0 = фактический/фактический

  •  1 = 30/360 (СИА)

  •  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 = ШИНА/252

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

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

Постоянно составляемая доходность базовых активов, заданная как разделенная запятой пара, состоящая из 'DividendYield' и числовой скаляр.

Примечание

Если вы вводите значение для DividendYield, затем установите DividendAmounts и ExDividendDates = [ ] или не вводите их. Если вы вводите значения для DividendAmounts и ExDividendDates, затем установите DividendYield= 0 .

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

Суммы денежного дивиденда, заданные как разделенная запятой пара, состоящая из 'DividendAmounts' и NDIV- 1 вектор.

Примечание

Каждая сумма дивиденда должна иметь соответствие без дивиденда дата. Если вы вводите значения для DividendAmounts и ExDividendDates, затем установите DividendYield= 0 .

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

Без дивиденда даты, заданные как разделенная запятой пара, состоящая из 'ExDividendDates' и NDIV- 1 вектор последовательных чисел даты, векторов символов даты, строковых массивов или массивов datetime.

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

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

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

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

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

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

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

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

  • 0 — Европеец

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

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

Задайте выходные параметры, заданные как разделенная запятой пара, состоящая из 'OutSpec' и NOUT- 1 или 1- NOUT массив строк или массив ячеек из символьных векторов с поддерживаемыми значениями.

Пример: OutSpec = ['price','delta','gamma','vega','rho','theta']

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

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

свернуть все

Цена опции или чувствительность, возвращенная как числовое. Аргумент пары "имя-значение" OutSpec определяет типы и порядок выходных параметров.

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

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

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

Больше о

свернуть все

Опция ванили

vanilla option является категорией опций, которая включает только самые стандартные компоненты.

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

Выплата для опции ванили следующие:

  • Для вызова: max (StK,0)

  • Для помещенного: max (KSt,0)

где:

St является ценой базового актива во время t.

K является ценой исполнения опциона.

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

Модель диффузии скачка Мертона

Модель [2] диффузии скачка Мертона расширяет модель Black-Scholes при помощи Пуассоновского процесса, чтобы включать параметры диффузии скачка в моделирование внезапных перемещений цен активов (оба вверх и вниз).

Стохастическое дифференциальное уравнение

dSt=(rqλpμj)Stdt+σStdWt+JStdPtprob (dPt=1)=λpdt

где:

r является непрерывным безрисковым уровнем.

q является непрерывной дивидендной доходностью.

W t является процессом Вайнера.

J является случайным условным выражением размера скачка процента на появлении скачка, где ln(1+J) нормально распределено со средним значением ln(1+μJ)δ22 и стандартное отклонение δ, и (1+J) имеет логарифмически нормальное распределение:

1(1+J)δ2πexp{[ln(1+J)(ln(1+μJ)δ22]2δ22}

где:

μ J является средним значением J для (μ J>-1).

δ является стандартным отклонением ln(1+J) для (δ ≥ 0).

ƛ p является ежегодной частотой (интенсивность) Пуассоновского процесса P t для (ƛ p ≥ 0).

σ является энергозависимостью цены активов на (σ> 0).

Ссылки

[1] Продолжение следует, R. и Е. Волчкова. “Схема Конечной разности Оценки Опции в Диффузии Скачка и Экспоненциальных Моделях Lévy”. SIAM Journal согласно Числовому Анализу. Издание 43, Номер 4, 2005, стр 1596-1626.

[2] Мертон, R. "Оценка опции, Когда Базовые Возвраты Запаса Прерывисты". Журнал Финансовой Экономики. Vol 3. 1976, стр 125-144.

Введенный в R2019a

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