exponenta event banner

optByHestonFD

Цена опциона по модели Heston с использованием конечных разниц

Описание

пример

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

пример

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

Примеры

свернуть все

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

AssetPrice = 10;
Strike = 10;
Rate = 0.1;
Settle = '01-Jan-2017';
ExerciseDates = '02-Apr-2017';

V0 = 0.0625;
ThetaV = 0.16;
Kappa = 5.0;
SigmaV = 0.9;
RhoSV = 0.1;

Рассчитайте американскую цену опциона пут.

OptSpec = 'Put';
Price = optByHestonFD(Rate, AssetPrice, Settle, ...
ExerciseDates, OptSpec, Strike, V0, ThetaV, Kappa, SigmaV, RhoSV, 'AmericanOpt', 1)
Price = 0.5188

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

свернуть все

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

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

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

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

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

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

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

  • Для европейского варианта есть только один ExerciseDates и это дата истечения срока действия опции.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Пример: [Price,PriceGrid,AssetPrices,Variances,Times] = optByHestonD(Rate,AssetPrice,Settle,ExerciseDates,OptSpec,Strike,V0,ThetaV,Kappa,SigmaV,RhoSV,'Basis',7)

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

  • 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

Постоянно смешанная базовая доходность активов, указанная как пара, разделенная запятыми, состоящая из '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' и положительный скаляр.

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

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

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

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

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

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

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

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

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

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

  • 0 - Европейский

  • 1 - американский

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

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

свернуть все

Цена опциона, возвращаемая в виде скалярного числа.

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

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

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

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

Подробнее

свернуть все

Вариант ванили

Вариант ванили - это категория вариантов, включающая только самые стандартные компоненты.

Вариант ванили имеет срок годности и простую цену страйка. Варианты в американском и европейском стиле классифицируются как варианты ванили.

Окупаемость опциона на ваниль выглядит следующим образом:

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

  • Для put: max (K St, 0)

где:

St - цена базового актива в момент времени t.

K - цена удара.

Дополнительные сведения см. в разделе Параметр ванили.

Модель стохастической волатильности Heston

Модель Хестона является расширением модели Блэка-Шоулза, где волатильность (квадратный корень дисперсии) больше не считается постоянной, и теперь дисперсия следует стохастическому (CIR) процессу. Это позволяет моделировать предполагаемые улыбки волатильности, наблюдаемые на рынке.

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

dSt = (r q) Stdt + vtStdWtdvt =

где

r - непрерывная безрисковая ставка.

q - непрерывный дивидендный выход.

St - цена актива в момент времени t.

vt - отклонение цены актива в момент времени t

v0 - начальное отклонение цены основного средства при t = 0 для (v0 > 0).

λ - долгосрочный уровень дисперсии для (start> 0).

δ - средняя скорость реверсирования для дисперсии для (start> 0).

startv - летучесть дисперсии для (startv > 0).

p - корреляция между процессами Вайнера Wt и Wvt для (-1 ≤ p ≤ 1).

Ссылки

[1] Хестон, С. Л. «Решение в закрытой форме для опционов со стохастической волатильностью с приложениями к облигациям и валютным опционам». Обзор финансовых исследований. Том 6, номер 2, 1993.

Представлен в R2018b