optSensByHestonFD

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

Описание

пример

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

пример

[PriceSens,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;

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

OptSpec = 'Put';
[Price,Delta,Gamma,Rho,Theta,Vega,VegaLT] = optSensByHestonFD(Rate, AssetPrice, Settle, ExerciseDates, ...
OptSpec, Strike, V0, ThetaV, Kappa, SigmaV, RhoSV, 'AmericanOpt', 1, ...
'OutSpec', ["Price" "Delta" "Gamma" "Rho" "Theta" "Vega" "VegaLT"])
Price = 0.5188
Delta = -0.4472
Gamma = 0.2822
Rho = -0.9234
Theta = -1.1614
Vega = 0.8998
VegaLT = 1.0921

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

свернуть все

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

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

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

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

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

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

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

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

  • Для американской опции используйте 1- 2 вектор контуров даты осуществления. Опция может быть осуществлена в любую древовидную дату между или включая пару дат на той строке. Если только один non-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.

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

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

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

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

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

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

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

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

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

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

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

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

  • 0 — Европеец

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

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

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

Примечание

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

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

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

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

свернуть все

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

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

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

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

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

Больше о

свернуть все

Опция ванили

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

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

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

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

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

где:

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

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

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

Хестон стохастическая модель энергозависимости

Модель Хестона является расширением модели Black-Scholes, где энергозависимость (квадратный корень из отклонения) больше не принимается постоянным, и отклонение теперь следует за стохастическим (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 и W vt для (-1 ≤ p ≤ 1).

Ссылки

[1] Хестон, S. L. “Решение закрытой формы для опций со стохастической энергозависимостью с приложениями к опциям связи и валюты”. Анализ финансовых исследований. Vol 6, номер 2, 1993.

Введенный в R2018b

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