Цена опции и чувствительность моделью Merton76 с помощью конечных разностей
[ вычисляет европейца ванили или американскую цену опции и чувствительность моделью Merton76, с помощью метода Crank-Nicolson Adams-Bashforth (CNAB) IMEX.PriceSens,PriceGrid,AssetPrices,Times] = optSensByMertonFD(Rate,AssetPrice,Settle,ExerciseDates,OptSpec,Strike,Sigma,MeanJ,JumpVol,JumpFreq)
[ задает опции с помощью одного или нескольких аргументов пары "имя-значение" в дополнение к входным параметрам в предыдущем синтаксисе. 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
Rate — Постоянно составляемая безрисковая процентная ставкаПостоянно составляемая безрисковая процентная ставка в виде скалярного десятичного значения.
Типы данных: double
AssetPrice — Текущая цена базового активаТекущая цена базового актива в виде числового скаляра.
Типы данных: double
Settle — Расчетный день опции Расчетный день опции в виде скаляра с помощью последовательного номера даты, вектора символов даты, массива datetime или массива строк.
Типы данных: double | char | datetime | string
ExerciseDates — Даты осуществления опцииДаты осуществления опции в виде последовательного номера даты, вектора символов даты, массива datetime или массива строк:
Для европейской опции используйте скалярный последовательный номер даты, вектор символов даты, массив datetime или массив строк. Для европейской опции, ExerciseDates содержит только одно значение: дата окончания срока действия опции.
Для американской опции используйте 1- 2 вектор из последовательных чисел даты, векторов символов даты, массивов datetime или строковых массивов, чтобы задать контуры даты осуществления. Американская опция может быть осуществлена в любую дату между или включая пару дат. Если только один non-NaN дата перечислена, затем опция может быть осуществлена между Settle дата и одно перечисленное значение в ExerciseDates.
Типы данных: double | char | datetime | string
OptSpec — Определение опции 'call' или 'put' | массив строк со значением "call" или "put"Определение опции в виде скаляра с помощью вектора символов или массива строк со значением 'call' или 'put'.
Типы данных: cell | string
Strike — Значение цены исполнения опциона опцииЗначение цены исполнения опциона опции в виде числового скаляра.
Типы данных: double
Sigma — Энергозависимость базового активаЭнергозависимость актива подчиненного в виде числового скаляра.
Типы данных: double
MeanJ — Среднее значение случайного размера скачка процентаСреднее значение случайного размера скачка процента (J) в виде скалярного десятичного значения, где log(1+J) нормально распределено со средним значением (log(1+MeanJ)-0.5*JumpVol^2) и стандартное отклонение JumpVol.
Типы данных: double
JumpVol — Стандартное отклонение log(1+J)Стандартное отклонение log(1+J), где J случайный размер скачка процента в виде скалярного десятичного числа.
Типы данных: double
JumpFreq — Ежегодная частота процесса скачка ПуассонаЕжегодная частота процесса скачка Пуассона в виде числового скаляра.
Типы данных: 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, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13Базис дневного количества инструмента в виде разделенной запятой пары, состоящей из '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' и числовой скаляр.
Примечание
Если вы вводите значение для DividendYield, затем установите DividendAmounts и ExDividendDates = [ ] или не вводите их. Если вы вводите значения для DividendAmounts и ExDividendDates, затем установите DividendYield= 0 .
Типы данных: double
'DividendAmounts' — Суммы денежного дивиденда[ ]
(значение по умолчанию) | векторДенежный дивиденд составляет в виде разделенной запятой пары, состоящей из 'DividendAmounts' и NDIV- 1 вектор.
Примечание
Каждая сумма дивиденда должна иметь соответствие без дивиденда дата. Если вы вводите значения для DividendAmounts и ExDividendDates, затем установите DividendYield= 0 .
Типы данных: double
'ExDividendDates' — Без дивиденда даты[ ]
(значение по умолчанию) | последовательный номер даты | вектор символов даты | массив строк | массив datetimeБез дивиденда даты в виде разделенной запятой пары, состоящей из 'ExDividendDates' и NDIV- 1 вектор из последовательных чисел даты, векторов символов даты, строковых массивов или массивов datetime.
Типы данных: double | char | string | datetime
'AssetPriceMax' — Максимальная цена за ценовой контур сеткиМаксимальная цена за ценовой контур сетки в виде разделенной запятой пары, состоящей из 'AssetPriceMax' и числовая положительная скалярная величина.
Типы данных: double
'AssetGridSize' — Размер сетки актива для сетки конечной разности
(значение по умолчанию) | числовой скалярРазмер сетки актива для сетки конечной разности в виде разделенной запятой пары, состоящей из 'AssetGridSize' и числовой скаляр.
Типы данных: double
'TimeGridSize' — Количество узлов сетки времени для сетки конечной разности
(значение по умолчанию) | положительный числовой скалярКоличество узлов сетки времени для сетки конечной разности в виде разделенной запятой пары, состоящей из 'TimeGridSize' и положительный числовой скаляр.
Типы данных: double
'AmericanOpt' — Тип опции (Европейское) (значение по умолчанию) | скаляр со значением [0,1]Тип опции в виде разделенной запятой пары, состоящей из 'AmericanOpt' и скалярный флаг с одним из этих значений:
0 — Европеец
1 — Американец
Типы данных: double
'OutSpec' — Задайте выходные параметры['price']
(значение по умолчанию) | массив ячеек из символьных векторов со значениями 'price'\delta\Gamma, 'vega'\rho, и 'theta' | массив строк со значениями "price"\delta\Gamma, "vega"\rho, и "theta"Задайте выходные параметры в виде разделенной запятой пары, состоящей из 'OutSpec' и NOUT- 1 или 1- NOUT массив строк или массив ячеек из символьных векторов с поддерживаемыми значениями.
Пример: OutSpec = ['price','delta','gamma','vega','rho','theta']
Типы данных: string | cell
PriceSens — Цена опции или чувствительностьЦена опции или чувствительность, возвращенная как числовое. Аргумент пары "имя-значение" OutSpec определяет типы и порядок выходных параметров.
PriceGrid — Сетка, содержащая цены, вычисленные методом конечной разностиСетка, содержащая цены, вычисленные методом конечной разности, возвращенным как двумерная сетка с размером AssetGridSize ⨉ TimeGridSize. Количество столбцов не обязательно равно TimeGridSize потому что осуществление и без дивиденда даты добавляются к сетке времени. PriceGrid(:, :, end) содержит цену за t = 0.
AssetPrices — Цены активаЦены актива, соответствующего первой размерности PriceGrid, возвращенный как вектор.
Times \timesВремена соответствуя второму измерению PriceGrid, возвращенный как вектор.
vanilla option является категорией опций, которая включает только самые стандартные компоненты.
Опция ванили имеет дату истечения срока и прямую цену исполнения опциона. Американские параметры стиля и европейские параметры стиля оба категоризированы как опции ванили.
Выплата для опции ванили следующие:
Для вызова:
Для помещенного:
где:
St является ценой базового актива во время t.
K является ценой исполнения опциона.
Для получения дополнительной информации см. Опцию Ванили.
Модель [2] диффузии скачка Мертона расширяет модель Black-Scholes при помощи Пуассоновского процесса, чтобы включать параметры диффузии скачка в моделирование внезапных перемещений цен активов (оба вверх и вниз).
Стохастическое дифференциальное уравнение
где:
r является непрерывным безрисковым уровнем.
q является непрерывной дивидендной доходностью.
W t является процессом Вайнера.
J является случайным условным выражением размера скачка процента на появлении скачка, где ln(1+J) нормально распределено со средним значением и стандартное отклонение δ, и (1+J) имеет логарифмически нормальное распределение:
где:
μ 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.
optByBatesFD | optByHestonFD | optByLocalVolFD | optByMertonFD | optSensByBatesFD | optSensByHestonFD | optSensByLocalVolFD
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.