Цена опции и чувствительность моделью Хестона, использующей конечные разности
[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)[ задает опции с помощью одного или нескольких аргументов пары "имя-значение" в дополнение к входным параметрам в предыдущем синтаксисе.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 вектор контуров даты осуществления. Опция может быть осуществлена в любую древовидную дату между или включая пару дат на той строке. Если только одна non-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 должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: 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 (СИА)
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' — Постоянно составляемая доходность базовых активов0
(значение по умолчанию) | числовой скалярПостоянно составляемая доходность базовых активов, заданная как пара, разделенная запятой, состоящая из 'DividendYield' и числового скаляра.
Если вы вводите значение для DividendYield, то установленный DividendAmounts и ExDividendDates = [ ] или не вводят их. Если вы вводите значения для DividendAmounts и ExDividendDates, то установленный DividendYield = 0.
Типы данных: double
'DividendAmounts' — Суммы денежного дивиденда[ ]
(значение по умолчанию) | векторСуммы денежного дивиденда, заданные как пара, разделенная запятой, состоящая из 'DividendAmounts' и NDIV-by-1 вектор.
Каждая сумма дивиденда должна иметь соответствие без дивиденда дата. Если вы вводите значения для DividendAmounts и ExDividendDates, то установленный DividendYield = 0.
Типы данных: double
'ExDividendDates' — Без дивиденда даты[ ]
(значение по умолчанию) | последовательный номер даты | вектор символов даты | массив строк | массив datetimeБез дивиденда даты, заданные как пара, разделенная запятой, состоящая из 'ExDividendDates' и 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' — Define выходные параметры["price"]
(значение по умолчанию) | массив ячеек из символьных векторов со значениями 'price', 'delta', 'gamma', 'vega', 'rho', 'theta' и 'vegalt' | массив строк со значениями "price", "delta", "gamma", "vega", "rho", "theta" и "vegalt"Задайте выходные параметры, заданные как пара, разделенная запятой, состоящая из 'OutSpec' и NOUT - 1 или 1-by-NOUT массив строк или массив ячеек из символьных векторов с поддерживаемыми значениями.
'vega' является чувствительностью относительно начальной энергозависимости sqrt (V0). Напротив, 'vegalt' является чувствительностью относительно долгосрочной энергозависимости sqrt (ThetaV).
Пример: OutSpec = {'price','delta','gamma','vega','rho','theta','vegalt'}
Типы данных: string | cell
PriceSens — Цена опции и чувствительностьЦена опции и чувствительность, возвращенная как числовой скаляр. OutSpec определяет типы и порядок выходных параметров.
PriceGrid — Сетка, содержащая цены, вычисленные методом конечной разностиСетка, содержащая цены, вычисленные методом конечной разности, возвращенным как 3D сетка с размером AssetGridSize ⨉ VarianceGridSize ⨉ TimeGridSize. Глубина не обязательно равна TimeGridSize, потому что осуществление и без дивиденда даты добавляются к сетке времени. PriceGrid(:, :, end) содержит цену за t = 0.
AssetPrices — Цены активаЦены актива, соответствующего первой размерности PriceGrid, возвращенного как вектор.
Variances — ОтклоненияОтклонения, соответствующие второму измерению PriceGrid, возвращенного как вектор.
\times \timesВремена соответствуя третьей размерности PriceGrid, возвращенного как вектор.
Модель Хестона является расширением модели Black-Scholes, где энергозависимость (квадратный корень из отклонения) больше не принимается, чтобы быть постоянной, и отклонение теперь следует за стохастическим (CIR) процесс. Это позволяет моделировать улыбки подразумеваемой волатильности, наблюдаемые на рынке.
Стохастическое дифференциальное уравнение:
где
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.
optByBatesFD | optByHestonFD | optByLocalVolFD | optByMertonFD | optBySensMertonFD | optSensByBatesFD | optSensByLocalVolFD | optstockbyfd | optstocksensbyfd
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.