Цена опции и чувствительность по модели Хестона с использованием конечных различий
[ вычисляет ванильную европейскую или американскую цену опций и чувствительность по модели Хестона, используя неявный метод переменного направления (ADI).PriceSens,PriceGrid,AssetPrices,Variances,Times] = optByHestonFD(Rate,AssetPrice,Settle,ExerciseDates,OptSpec,Strike,V0,ThetaV,Kappa,SigmaV,RhoSV)
[ задает опции, использующие один или несколько аргументы пары "имя-значение" в дополнение к входным параметрам в предыдущем синтаксисе.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
Rate - Постоянно сложная процентная ставка без рискаПостоянно сложная процентная ставка без риска, заданная в виде скалярного десятичного числа.
Типы данных: double
AssetPrice - Текущая базовая цена активаТекущая базовая цена актива, заданная в виде скалярного числа.
Типы данных: double
Settle - Дата расчета опции Дата расчета опции, заданная в виде скаляра с использованием серийных номеров дат, векторов символов даты, массивов datetime или строковых массивов.
Типы данных: double | char | datetime | string
ExerciseDates - Даты опционных упражненийДаты упражнения опции, заданные как серийный номер даты, вектор символов даты, строковые массивы или массив datetime:
Для европейской опции существует только один ExerciseDates значение, и это дата истечения срока действия опции.
Для американской опции используйте 1-by- 2 вектор контуров дат упражнения. Опция может быть использована на любой древовидной дате между или включая пару дат в этой строке. Если только один не - NaN дата указана, опция может быть реализована между Settle дата и сингл перечисленные ExerciseDate.
Типы данных: double | char | string | datetime
OptSpec - Определение опции 'call' или 'put' | строковые массивы со значениями "call" или "put"Определение опции, заданное как скаляр с использованием массива ячеек из векторов символов или строковых массивов со значениями 'call' или 'put'.
Типы данных: cell | string
Strike - значение цены опционной доставкиЗначение цены доставки опции, заданное в виде скалярного числа.
Типы данных: double
V0 - Начальное отклонение базового активаНачальное отклонение базового актива, заданное в виде скалярного числа.
Типы данных: double
ThetaV - Долгосрочное отклонение базовых активовДолгосрочное отклонение базового актива, заданная в виде скалярного числа.
Типы данных: double
Kappa - Средняя скорость пересмотра для отклонения базового активаСредняя скорость ревизии для отклонения базового актива, заданная в виде скалярного числа.
Типы данных: double
SigmaV - Волатильность отклонения базового активаВолатильность отклонения базового актива, заданная в виде скалярного числа.
Типы данных: double
RhoSV - Корреляция между процессами Вайнера для базового актива и его отклонениемКорреляция между процессами Вайнера для базового актива и его отклонением, заданная в виде скалярного числа.
Типы данных: 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 (по умолчанию) | числовые значения: 0, 1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13Дневной базис инструмента, заданный как разделенная запятыми пара, состоящая из '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' - Постоянно сложная доходность базовых активов0
(по умолчанию) | скалярным числомПостоянно сложное базовое выражение активов, указанный как разделенная запятой пара, состоящий из 'DividendYield' и скалярным числом.
Примечание
Если вы вводите значение для DividendYield, затем установите DividendAmounts и ExDividendDates = [ ] или не вводите их. Если вы вводите значения для DividendAmounts и ExDividendDates, затем установите DividendYield = 0.
Типы данных: double
'DividendAmounts' - Денежные дивиденды[ ]
(по умолчанию) | векторДенежные дивиденды, указанные как разделенная разделенными запятой парами, состоящая из 'DividendAmounts' и a NDIV-by- 1 вектор.
Примечание
Каждая сумма дивидендов должна иметь соответствующую дату экс-дивидендов. Если вы вводите значения для DividendAmounts и ExDividendDates, затем установите DividendYield = 0.
Типы данных: double
'ExDividendDates' - Даты бывших дивидендов[ ]
(по умолчанию) | последовательный номер даты | вектор символов даты | строковые массивы | массив datetimeДаты экс-дивидендов, заданные как разделенная разделенными запятой парами, состоящая из 'ExDividendDates' и a NDIV-by- 1 вектор серийных номеров дат, векторов символов, строковых массивов или массивов datetime.
Типы данных: double | char | string | datetime
'AssetPriceMax' - Максимальная цена для контура сетки ценМаксимальная цена для контура сетки цен, заданная как разделенная разделенными запятой парами, состоящая из 'AssetPriceMax' и положительная скалярная величина.
Типы данных: single | double
'VarianceMax' - Максимальное отклонение для границы сетки отклонения1.0 (по умолчанию) | скалярным числомМаксимальное отклонение для контура сетки отклонения, заданная как разделенная разделенными запятой парами, состоящая из 'VarianceMax' в виде скалярного числа.
Типы данных: double
'AssetGridSize' - Размер сетки активов для сетки конечных различий400
(по умолчанию) | скалярным числомРазмер сетки активов для сетки конечных различий, заданный как разделенная разделенными запятой парами, состоящая из 'AssetGridSize' и скалярным числом.
Типы данных: double
'VarianceGridSize' - Число узлов для дисперсионной сетки для конечной разностной сетки200
(по умолчанию) | скалярным числомЧисла узлов для отклонения сетки для конечного различия сетки, заданные как разделенная запятой пара, состоящий из 'VarianceGridSize' и скалярным числом.
Типы данных: double
'TimeGridSize' - Количество узлов временной сетки для конечной разностной сетки100
(по умолчанию) | положительный числовой скалярЧисло узлов временной сетки для конечной сетки различия в виде разделенной запятой пары, состоящей из 'TimeGridSize' и положительный числовой скаляр.
Типы данных: double
'AmericanOpt' - Тип опции0 (Европейский) (по умолчанию) | скаляром со значениями [0,1]Тип опции, заданный как разделенная разделенными запятой парами, состоящая из 'AmericanOpt' и скалярный флаг с одним из следующих значений:
0 - Европейский
1 - Американский
Типы данных: double
'OutSpec' - Определить выходы["price"]
(по умолчанию) | массив ячеек из векторов символов со значениями 'price', 'delta', 'gamma', 'vega', 'rho', 'theta', и 'vegalt' | строковые массивы со значениями "price", "delta", "gamma", "vega", "rho", "theta", и "vegalt"Задайте выходы, заданные как разделенная разделенными запятой парами, состоящая из 'OutSpec' и NOUT- by- 1 или 1-by- NOUT Строковые массивы или массив ячеек векторов символов с поддерживаемыми значениями.
Примечание
'vega' - чувствительность к начальной волатильности sqrt (V0). Напротив, 'vegalt' - чувствительность к долгосрочной волатильности sqrt (ThetaV).
Пример: OutSpec = {'price','delta','gamma','vega','rho','theta','vegalt'}
Типы данных: string | cell
PriceSens - Цена опции и чувствительностьЦена опции и чувствительности, возвращенные как скалярное число. OutSpec определяет типы и порядок выходов.
PriceGrid - Сетка, содержащая цены, рассчитанные методом конечного различияСетка, содержащая цены, рассчитанные методом конечного различия, возвращается как трехмерная сетка с размером AssetGridSize ⨉ VarianceGridSize ⨉ TimeGridSize. Глубина не обязательно равна TimeGridSize, поскольку упражнения и даты бывших дивидендов добавляются к временной сетке. PriceGrid(:, :, end) содержит цену на t = 0.
AssetPrices - Цены активаЦены актива, соответствующего первой размерности PriceGrid, возвращается как вектор.
Variances - ОтклоненияОтклонения, соответствующие второму измерению PriceGrid, возвращается как вектор.
Times - ВремяВремена, соответствующие третьей размерности PriceGrid, возвращается как вектор.
A vanilla option - это категория опций, которая включает только самые стандартные компоненты.
Ванильная опция имеет срок годности и прямолинейную цену доставки. Опции в американском стиле и опции в европейском стиле классифицируются как опции ванили.
Выплата для ванильной опции следующая:
Для вызова:
Для размещения:
где:
St - цена базового актива на t времени.
K - цена доставки.
Для получения дополнительной информации смотрите Опцию Vanilla.
Модель Хестона является расширением модели Блэка-Скоулза, где волатильность (квадратный корень отклонения) больше не принимается постоянной, и отклонение теперь следует стохастическому (CIR) процессу. Это позволяет моделировать подразумеваемые улыбки волатильности, наблюдаемые на рынке.
Стохастическое дифференциальное уравнение является:
где
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.
optByBatesFD | optByHestonFD | optByLocalVolFD | optByMertonFD | optSensByBatesFD | optSensByLocalVolFD | optSensByMertonFD | optstockbyfd | optstocksensbyfd
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.