Цена опции моделью Хестона, использующей конечные разности
[
задает опции с помощью одного или нескольких аргументов пары "имя-значение" в дополнение к входным параметрам в предыдущем синтаксисе.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;
Вычислите американскую цену пут-опциона.
OptSpec = 'Put'; Price = optByHestonFD(Rate, AssetPrice, Settle, ... ExerciseDates, OptSpec, Strike, V0, ThetaV, Kappa, SigmaV, RhoSV, 'AmericanOpt', 1)
Price = 0.5188
Rate
— Постоянно составляемая безрисковая процентная ставкаПостоянно составляемая безрисковая процентная ставка, заданная как скалярное десятичное число.
Типы данных: double
AssetPrice
— Текущая цена базового активаТекущая цена базового актива, заданная как числовое значение с помощью числового скаляра.
Типы данных: double
Settle
— Расчетный день опции Расчетный день опции, заданный как скаляр с помощью последовательных чисел даты, векторов символов даты, массивов datetime или строковых массивов.
Типы данных: double |
char
| datetime
| string
ExerciseDates
— Даты осуществления опцииДаты осуществления опции, заданные как последовательный номер даты, вектор символов даты, массив строк или массив datetime:
Для европейской опции существует только один ExerciseDates
значение и это являются датой окончания срока действия опции.
Для американской опции используйте 1
- 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
имя аргумента и 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
, 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'
— Постоянно составляемая доходность базовых активов
(значение по умолчанию) | числовой скалярПостоянно составляемая доходность базовых активов, заданная как разделенная запятой пара, состоящая из 'DividendYield'
и числовой скаляр.
Если вы вводите значение для DividendYield
, затем установите DividendAmounts
и ExDividendDates
= [ ]
или не вводите их. Если вы вводите значения для DividendAmounts
и ExDividendDates
, затем установите DividendYield
= 0 .
Типы данных: double
'DividendAmounts'
— Суммы денежного дивиденда[ ]
(значение по умолчанию) | векторСуммы денежного дивиденда, заданные как разделенная запятой пара, состоящая из 'DividendAmounts'
и NDIV
- 1
вектор.
Каждая сумма дивиденда должна иметь соответствие без дивиденда дата. Если вы вводите значения для DividendAmounts
и ExDividendDates
, затем установите DividendYield
= 0 .
Типы данных: double
'ExDividendDates'
— Без дивиденда даты[ ]
(значение по умолчанию) | последовательный номер даты | вектор символов даты | массив строк | массив datetimeБез дивиденда даты, заданные как разделенная запятой пара, состоящая из 'ExDividendDates'
и NDIV
- 1
вектор последовательных чисел даты, векторов символов даты, строковых массивов или массивов datetime.
Типы данных: double |
char
| string
| datetime
'AssetPriceMax'
— Максимальная цена за ценовой контур сеткиМаксимальная цена за ценовой контур сетки, заданный как разделенная запятой пара, состоящая из 'AssetPriceMax'
и положительная скалярная величина.
Типы данных: single
| double
'VarianceMax'
— Максимальное отклонение, чтобы использовать в контуре сетки отклонения
(значение по умолчанию) | числовой скалярМаксимальное отклонение, чтобы использовать в контуре сетки отклонения, заданном как разделенная запятой пара, состоящая из 'VarianceMax'
как числовой скаляр.
Типы данных: double
'AssetGridSize'
— Размер сетки актива для сетки конечной разности
(значение по умолчанию) | числовой скалярРазмер сетки актива для сетки конечной разности, заданной как разделенная запятой пара, состоящая из 'AssetGridSize'
и числовой скаляр.
Типы данных: double
'VarianceGridSize'
— Количество узлов для сетки отклонения для сетки конечной разности
(значение по умолчанию) | числовой скалярКоличество узлов для сетки отклонения для сетки конечной разности, заданной как разделенная запятой пара, состоящая из 'VarianceGridSize'
и числовой скаляр.
Типы данных: double
'TimeGridSize'
— Количество узлов сетки времени для сетки конечной разности
(значение по умолчанию) | положительный числовой скалярКоличество узлов сетки времени для сетки конечной разности, заданной как разделенная запятой пара, состоящая из 'TimeGridSize'
и положительный числовой скаляр.
Типы данных: double
'AmericanOpt'
— Тип опции
(Европейское) (значение по умолчанию) | скаляр со значением [0,1]
Тип опции, заданный как разделенная запятой пара, состоящая из 'AmericanOpt'
и скалярный флаг с одним из этих значений:
0 — Европеец
1 — Американец
Типы данных: double
Price
— Цена опцииЦена опции, возвращенная как числовой скаляр.
PriceGrid
— Сетка, содержащая цены, вычисленные методом конечной разностиСетка, содержащая цены, вычисленные методом конечной разности, возвращенным как 3D сетка с размером AssetGridSize
⨉ VarianceGridSize
⨉ TimeGridSize
. Глубина не обязательно равна TimeGridSize
, потому что осуществление и без дивиденда даты добавляются к сетке времени. PriceGrid(:, :, end)
содержит цену за t = 0
.
AssetPrices
— Цены активаЦены актива, соответствующего первой размерности PriceGrid
, возвращенный как вектор.
Variances
— ОтклоненияОтклонения, соответствующие второму измерению PriceGrid
, возвращенный как вектор.
Times
\timesВремена соответствуя третьей размерности PriceGrid
, возвращенный как вектор.
vanilla option является категорией опций, которая включает только самые стандартные компоненты.
Опция ванили имеет дату истечения срока и прямую цену исполнения опциона. Американские параметры стиля и европейские параметры стиля оба категоризированы как опции ванили.
Выплата для опции ванили следующие:
Для вызова:
Для помещенного:
где:
St является ценой базового актива во время t.
K является ценой исполнения опциона.
Для получения дополнительной информации см. Опцию Ванили.
Модель Хестона является расширением модели 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
| optByLocalVolFD
| optByMertonFD
| optBySensMertonFD
| optSensByBatesFD
| optSensByHestonFD
| optSensByLocalVolFD
| optstockbyfd
| optstocksensbyfd
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.