optSensByBatesFD

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

Синтаксис

[PriceSens,PriceGrid,AssetPrices,Variances,Times] = optSensByBatesFD(Rate,AssetPrice,Settle,ExerciseDates,OptSpec,Strike,V0,ThetaV,Kappa,SigmaV,RhoSV,MeanJ,JumpVol,JumpFreq)
[PriceSens,PriceGrid,AssetPrices,Variances,Times] = optSensByBatesFD(___,Name,Value)

Описание

пример

[PriceSens,PriceGrid,AssetPrices,Variances,Times] = optSensByBatesFD(Rate,AssetPrice,Settle,ExerciseDates,OptSpec,Strike,V0,ThetaV,Kappa,SigmaV,RhoSV,MeanJ,JumpVol,JumpFreq) вычисляет европейца ванили или американскую цену опции и чувствительность моделью Bates, с помощью метода переменного неявного направления (ADI).

пример

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

Примеры

свернуть все

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

AssetPrice = 90;
Strike = 100;
Rate = 0.03;
Settle = '01-Jan-2018';
ExerciseDates = '02-Jul-2018';

V0 = 0.04;
ThetaV = 0.04;
Kappa = 2;
SigmaV = 0.25;
RhoSV = -0.5;
JumpVol = 0.4;
MeanJ = exp(-0.5+JumpVol.^2/2)-1;
JumpFreq = 0.2;

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

OptSpec = 'Put';
[Price, Delta, Gamma, Rho, Theta, Vega, VegaLT] = optSensByBatesFD(Rate, AssetPrice, Settle, ExerciseDates,...
OptSpec, Strike, V0, ThetaV, Kappa, SigmaV, RhoSV, MeanJ, JumpVol, JumpFreq, 'AmericanOpt', 1,...
'OutSpec', ["Price" "Delta" "Gamma" "Rho" "Theta" "Vega" "VegaLT"])
Price = 11.6116
Delta = -0.6578
Gamma = 0.0366
Rho = -20.1643
Theta = -4.8425
Vega = 14.3216
VegaLT = 8.1849

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

свернуть все

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Корреляция между процессами Вайнера для базового актива и его отклонения, заданного как числовой скаляр.

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

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

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

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

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

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

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

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

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

Пример: [PriceSens,PriceGrid] = optSensByBatesFD(Rate,AssetPrice,Settle,ExerciseDates,OptSpec,Strike,V0,ThetaV,Kappa,SigmaV,RhoSV,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-by-1 вектор.

Примечание

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

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

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

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

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

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

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

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

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

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

Количество узлов сетки отклонения для сетки конечной разности, заданной как пара, разделенная запятой, состоящая из 'VarianceGridSize' и числового скаляра.

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

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

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

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

  • 0 — Европеец

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

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

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

Примечание

'vega' является чувствительностью относительно начальной энергозависимости sqrt (V0). Напротив, 'vegalt' является чувствительностью относительно долгосрочной энергозависимости sqrt (ThetaV).

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

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

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

свернуть все

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

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

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

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

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

Больше о

свернуть все

Убавляет стохастическую модель диффузии скачка энергозависимости

Модель [1] Bates расширяет модель Хестона включением стохастической энергозависимости и (подобный Мертону) параметры диффузии скачка в моделировании внезапных перемещений цен активов.

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

dSt=(rqλpμJ)Stdt+vtStdWt+JStdPtdvt=κ(θvt)dt+σvvtdWtE[dWtdWtv]=pdtprob (dPt=1)=λpdt

где:

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

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

S t является ценой активов во время t.

v t является отклонением цен активов во время 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}

где:

v 0 является начальным отклонением цены активов в t = 0 (v 0> 0).

θ является долгосрочным уровнем отклонения для (θ> 0).

κ является скоростью возвращения к среднему уровню для (κ> 0).

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

p является корреляцией между процессами Вайнера W t и Wtv для (-1 ≤ p ≤ 1).

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

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

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

Ссылки

[1] Убавляет, D. S. "Скачки и стохастическая энергозависимость: процессы обменного курса, неявные в опциях немецкой марки". Анализ финансовых исследований. Издание 9, номер 1, 1996.

Введенный в R2019a