optByHestonFD

Опционная цена по модели Хестона с использованием конечных различий

Описание

пример

[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) задает опции, использующие один или несколько аргументы пары "имя-значение" в дополнение к входным параметрам в предыдущем синтаксисе.

Примеры

свернуть все

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

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;

Рассчитать американскую цену put option.

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-by- 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' и a NDIV-by- 1 вектор.

Примечание

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

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

Даты экс-дивидендов, заданные как разделенная разделенными запятой парами, состоящая из 'ExDividendDates' и NDIV-by- 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, возвращается как вектор.

Подробнее о

свернуть все

Ванильные Опции

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

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

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

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

  • Для размещения: max(KSt,0)

где:

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

K - цена доставки.

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

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

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

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

dSt=(rq)Stdt+vtStdWtdvt=κ(θvt)dt+σvvtdWtvE[dWtdWtv]=pdt

где

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

q - непрерывное дивидендное выражение.

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

v t является отклонением цены актива в то время t

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

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

κ - средняя скорость реверсии для отклонения (κ > 0).

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

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

Ссылки

[1] Heston, S. L. «A Closed-Form Решения for Опций with Stochastic Volatility with Applications to Bond and Currency Опций». Обзор финансовых исследований. Том 6, № 2, 1993.

Введенный в R2018b