Создание NumericalIntegration объект ценника для Vanilla инструмент с использованием Heston, Bates, или Merton модель
Создайте и оцените Vanilla объект инструмента со Heston, Bates, или Merton модель и NumericalIntegration метод ценообразования с использованием этого рабочего процесса:
Дополнительные сведения об этом рабочем процессе см. в разделе Запуске с рабочими процессами с использованием объектной среды для ценообразования финансовых инструментов.
Для получения дополнительной информации о доступных методах ценообразования для Vanilla инструмент, см. «Выбор инструментов», «Модели» и «Цены».
создает NumericalIntegrationPricerObj = finpricer(PricerType,'Model',model,'DiscountCurve',ratecurve_obj,'SpotPrice',spotprice_value)NumericalIntegration объект прейскуранта путем определения PricerType и устанавливает свойства для необходимых аргументов пары "имя-значение" Model, DiscountCurve, и SpotPrice.
устанавливает необязательные свойства с помощью дополнительных пар "имя-значение" в дополнение к необходимым аргументам в предыдущем синтаксисе. Для примера, NumericalIntegrationPricerObj = finpricer(___,Name,Value)NumericalIntegrationPricerObj = finpricer("NumericalIntegration",'Model',NIModel,'DiscountCurve',ratecurve_obj,'SpotPrice',1000,'DividendValue',100,'VolRiskPremium',0.9) создает NumericalIntegration объект прейскуранта. Можно задать несколько аргументы пары "имя-значение".
PricerType - Тип ценника"NumericalIntegration" | вектор символов с 'NumericalIntegration' значенийТип прейскуранта, заданный как строка со значением "NumericalIntegration" или вектор символов со значением 'NumericalIntegration'.
Типы данных: char | string
NumericalIntegration Аргументы в виде пар имя-значениеУкажите требуемые и необязательные разделенные запятой пары Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.
NumericalIntegrationPricerObj = finpricer("NumericalIntegration",'Model',NIModel,'DiscountCurve',ratecurve_obj,'SpotPrice',1000,'DividendValue',100,'VolRiskPremium',0.9)NumericalIntegration Аргументы в виде пар имя-значение'DiscountCurve' — ratecurve объект для дисконтирования денежных потоковratecurve объектЭто свойство доступно только для чтения.
ratecurve объект для дисконтирования денежных потоков, заданный как разделенная разделенными запятой парами, состоящая из 'DiscountCurve' и имя ratecurve объект.
Примечание
Задайте плоскую ratecurve объект для DiscountCurve. Если вы используете нефлят ratecurve объект, программное обеспечение использует скорость в ratecurve объект в Maturity и принимает, что значение является постоянным для срока службы опции.
Типы данных: object
'SpotPrice' - Текущая цена базового активаТекущая цена базового актива, заданная как разделенная разделенными запятой парами, состоящая из 'SpotPrice' и скаляр неотрицательную цифру.
Типы данных: double
NumericalIntegration Аргументы в виде пар имя-значение'DividendValue' - Дивидендное выражение0 (по умолчанию) | скалярным числомДивидендное выражение, заданная как разделенная разделенными запятой парами, состоящая из 'DividendValue' и скалярным числом.
Типы данных: double
'VolRiskPremium' - Премия за риск волатильности0
(по умолчанию) | числоПремия за риск волатильности, заданная как разделенная разделенными запятой парами, состоящая из 'VolRiskPremium' и скалярное числовое значение.
Типы данных: double
'LittleTrap' - Флаг, указывающий на формулировку ловушки Little Hestontrue
(по умолчанию) | логическим со значениями true или falseФлаг, указывающий формулировку Little Heston Trap Альбрехером и др., заданный как разделенная разделенными запятой парами, состоящая из 'LittleTrap' и логический:
true - Использовать Albrecher et al. состав.
Для получения дополнительной информации о LittleTrap, см. [1], а также формулировка Little Trap определяется C j и D j, см. Модель стохастической волатильности Хестона и стохастическая волатильность Бейтса Перехода диффузионная модель.
false - Использовать исходную формацию Хестона.
Типы данных: logical
'AbsTol' - Абсолютный допуск ошибок для численного интегрирования1e-10
(по умолчанию) | числоАбсолютный допуск ошибки для численного интегрирования, заданный как разделенная разделенными запятой парами, состоящая из 'AbsTol' и скалярное числовое значение.
Типы данных: double
'RelTol' - Относительный допуск ошибок для численного интегрирования1e-6
(по умолчанию) | числоОтносительная погрешность для численного интегрирования, заданный как разделенная разделенными запятой парами, состоящая из 'RelTol' и скалярное числовое значение.
Типы данных: double
'IntegrationRange' - Численная область значений интегрирования, используемый для аппроксимации непрерывного интеграла по [0 Inf][1e-9 Inf]
(по умолчанию) | векторЧисленная область значений интегрирования, используемый для аппроксимации непрерывного интеграла по [0 Inf], заданная как разделенная разделенными запятой парами, состоящая из 'IntegrationRange' и a 1-by- 2 вектор, представляющий [LowerLimit UpperLimit].
Типы данных: double
'Framework' - Среды для вычисления цен на опции и чувствительности с помощью численного интегрирования моделей"heston1993"
(по умолчанию) | строку со значениями "heston1993" или "lewis2001"
| вектор символов со значениями 'heston1993' или 'lewis2001'
Среда для вычисления цен на опции и чувствительности с помощью численного интегрирования моделей, заданная как разделенная разделенными запятой парами, состоящая из 'Framework' и скалярный строковый или символьный вектор со следующими значениями:
"heston1993" или 'heston1993' - Метод, используемый в Heston (1993)
"lewis2001" или 'lewis2001' - Метод, используемый в Lewis (2001)
Типы данных: char | string
Model - МодельМодель, возвращенная как объект модели.
Типы данных: object
DiscountCurve — ratecurve объект для дисконтирования денежных потоковratecurve объект для дисконтирования денежных потоков, возвращенный как ratecurve объект.
Типы данных: object
SpotPrice - Текущая цена базового активаТекущая цена базового актива, возвращенная в виде скалярного неотрицательного числа.
Типы данных: double
DividendValue - Дивидендное выражение0 (по умолчанию) | скалярным числомДивидендное выражение, возвращенная в виде скалярного числа.
Типы данных: double
VolRiskPremium - Премия за риск волатильности0
(по умолчанию) | числоПремия за риск волатильности, возвращенная как скалярное числовое значение.
Типы данных: double
LittleTrap - Флаг, указывающий на формулировку ловушки Little Hestontrue
(по умолчанию) | логическим со значением true или falseФлаг, указывающий на формулировку Little Heston Trap Альбрехером и др., возвращенный как логический.
Типы данных: logical
AbsTol - Абсолютный допуск ошибок для численного интегрирования1e-10
(по умолчанию) | числоАбсолютный допуск ошибки для численного интегрирования, возвращенный как скалярное числовое значение.
Типы данных: double
RelTol - Относительный допуск ошибок для численного интегрирования1e-6
(по умолчанию) | числоОтносительная погрешность для численного интегрирования, возвращенный как скалярное числовое значение.
Типы данных: double
IntegrationRange - Численная область значений интегрирования, используемый для аппроксимации непрерывного интеграла по [0 Inf][1e-9 Inf]
(по умолчанию) | векторЧисленная область значений интегрирования, используемый для аппроксимации непрерывного интеграла по [0 Inf], возвращается как 1-by- 2 вектор, представляющий [LowerLimit UpperLimit].
Типы данных: double
Framework - Среды для вычисления цен на опции и чувствительности с помощью численного интегрирования моделей"heston1993"
(по умолчанию) | строку со значением "heston1993" или "lewis2001"
Среда для вычисления цен опций и чувствительности с помощью численного интегрирования моделей, возвращенная как скалярная строка.
Типы данных: string
price | Вычислите цену для инструмента капитала с NumericalIntegration калькулятор цен |
Этот пример показывает рабочий процесс, чтобы оценить Vanilla инструмент, когда вы используете Merton модель и NumericalIntegration метод ценообразования.
Создание Vanilla Объект прибора
Использование fininstrument для создания Vanilla объект прибора.
VanillaOpt = fininstrument("Vanilla",'ExerciseDate',datetime(2020,3,15),'ExerciseStyle',"european",'Strike',105,'Name',"vanilla_option")
VanillaOpt =
Vanilla with properties:
OptionType: "call"
ExerciseStyle: "european"
ExerciseDate: 15-Mar-2020
Strike: 105
Name: "vanilla_option"
Создание Merton Объект модели
Использование finmodel для создания Merton объект модели.
MertonModel = finmodel("Merton",'Volatility',0.45,'MeanJ',0.02,'JumpVol',0.07,'JumpFreq',0.09)
MertonModel =
Merton with properties:
Volatility: 0.4500
MeanJ: 0.0200
JumpVol: 0.0700
JumpFreq: 0.0900
Создание ratecurve Объект
Создайте плоскую ratecurve объект, использующий ratecurve.
myRC = ratecurve('zero',datetime(2019,9,15),datetime(2020,3,15),0.02)myRC =
ratecurve with properties:
Type: "zero"
Compounding: -1
Basis: 0
Dates: 15-Mar-2020
Rates: 0.0200
Settle: 15-Sep-2019
InterpMethod: "linear"
ShortExtrapMethod: "next"
LongExtrapMethod: "previous"
Создание NumericalIntegration Объект прейскуранта
Использование finpricer для создания NumericalIntegration и используйте объект pricer ratecurve объект для 'DiscountCurve'аргумент пары "имя-значение".
outPricer = finpricer("numericalintegration",'Model',MertonModel,'DiscountCurve',myRC,'SpotPrice',100,'DividendValue',.01,'VolRiskPremium',0.9,'LittleTrap',false,'AbsTol',0.5,'RelTol',0.4,'Framework',"lewis2001")
outPricer =
NumericalIntegration with properties:
Model: [1x1 finmodel.Merton]
DiscountCurve: [1x1 ratecurve]
SpotPrice: 100
DividendType: "continuous"
DividendValue: 0.0100
AbsTol: 0.5000
RelTol: 0.4000
IntegrationRange: [1.0000e-09 Inf]
CharacteristicFcn: @characteristicFcnMerton76
Framework: "lewis2001"
VolRiskPremium: 0.9000
LittleTrap: 0
Ценовые Vanilla Инструмент
Использование price вычислить цену и чувствительность для Vanilla прибора.
[Price, outPR] = price(outPricer,VanillaOpt,["all"])Price = 10.7325
outPR =
priceresult with properties:
Results: [1x6 table]
PricerData: []
outPR.Results
ans=1×6 table
Price Delta Gamma Theta Rho Vega
______ ______ ________ _______ ______ ______
10.732 0.5058 0.012492 -12.969 19.815 27.954
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).
Функция характеристики для j = 1 (мера цены актива) и j = 2 (мера, нейтральная к риску)
Здесь:
ϕ - переменная функции характеристики.
ƛ VolRisk является премией за риск волатильности.
τ - время до зрелости (τ = T - t).
i - единичное мнимое число (i2 = -1).
Определения для C j и D j для ловушки Литтла Хестона Albrecher et al. (2007)
Модель Бейтса (Bates 1996) является расширением модели Хестона, где, в сложение к стохастической волатильности, переходу параметры диффузии, подобные Merton (1976), также добавлены к моделированию внезапных движений цен на активы.
Стохастическое дифференциальное уравнение
Здесь:
r - непрерывная безрисковая ставка.
q - непрерывное дивидендное выражение.
S t является ценой актива в момент t.
v t является отклонением цены основного средства в момент t.
J - размер случайного процентного перехода, обусловленный происходящим переходом, где ln(1 + J) обычно распределяется со средним и стандартное отклонение, и (1 + J) имеет логнормальное распределение:
v 0 является начальным отклонением цены актива при t = 0 (v 0 > 0).
θ - долгосрочный уровень отклонений для (θ > 0).
κ - средняя скорость реверсии для (κ > 0).
σ v является волатильностью отклонения для (σ v > 0 ).
p является корреляцией между процессами Вайнера W t и для (-1 ≤ p ≤ 1).
μ J является средним значением J для (μ J > -1 ).
δ - стандартное отклонение ln(1 + J) для (δ ≥ 0 ).
- годовая частота (интенсивность) Пуассоновского процесса P t для ( ≥ 0).
Функция характеристики для j = 1 (средняя мера цены актива) и j = 2 (нейтральная к риску мера)
Здесь:
ϕ - переменная функции характеристики.
ƛ VolRisk является премией за риск волатильности.
τ - время погашения (τ = T - t).
i является единичным мнимым числом для (i2= -1).
Определения для C j и D j для ловушки Литтла Хестона Albrecher et al. (2007)
Модель диффузии перехода Мертона (Merton 1976) является расширением модели Блэка-Скоулза, где внезапные изменения цен на активы (как вверх, так и вниз) моделируются добавлением параметров диффузии перехода с пуассоновским процессом.
Стохастическое дифференциальное уравнение
Здесь:
r - непрерывная безрисковая ставка.
q - непрерывное дивидендное выражение.
W t является процессом Вайнера .
J - размер случайного процентного перехода, обусловленный происходящим переходом, где ln(1 + J) обычно распределяется со средним и стандартное отклонение, и (1 + J) имеет логнормальное распределение
μ J является средним значением J для (μ J > -1).
δ - стандартное отклонение ln(1 + J) для (δ ≥ 0).
ƛ p - годовая частота (интенсивность) процесса Пуассона, P t для (ƛ p ≥ 0).
σ - волатильность цены актива для (σ > 0).
Функция характеристики для j = 1 (мера цен на основные средства) и j = 2 (мера, нейтральная к риску)
Здесь:
ϕ - переменная функции характеристики
τ - время до зрелости (τ = T - t).
i - единичное мнимое число (i2 = -1).
Численное интегрирование используется для вычисления непрерывного интеграла для обратного преобразования Фурье.
Метод численного интегрирования в среде Heston (1993) основан на следующих выражениях
Здесь:
r - непрерывная безрисковая ставка.
q - непрерывное дивидендное выражение.
S t является ценой актива в момент t.
K - это удар.
τ время к зрелости (τ = T - t).
Call (K) - цена вызова при K забастовки.
Put (K) - положительная цена на K забастовки.
i является модулем мнимым числом (i2= -1).
.r- характеристическая функциональная переменная.
f j (.r) является характеристической функцией для P j (j = 1,2).
P 1 - это вероятность S t > K под измерением цены актива для модели.
P 2 - это вероятность S t > K под нейтральной к риску мерой для модели.
Где j = 1,2 так, что f 1 (в) и f 2 (в) являются характеристическими функциями для вероятностей P 1 и P 2, соответственно.
Выберите эту среду путем определения значения по умолчанию "Heston1993" для Framework аргумент пары "имя-значение".
Численное интегрирование используется для вычисления непрерывного интеграла для обратного преобразования Фурье.
Метод численного интегрирования в среде Льюиса (2001) основан на следующих выражениях:
Здесь
r - непрерывная безрисковая ставка.
q - непрерывное дивидендное выражение.
S t является ценой актива в момент t.
K - это удар.
τ время к зрелости (τ = T - t).
Call (K) - цена вызова при K забастовки.
Put (K) - положительная цена на K забастовки.
i является модулем мнимым числом (i2= -1).
.r- характеристическая функциональная переменная.
u - переменная функции характеристики для интегрирования, где .
f 2 (.r) является характеристической функцией для P 2.
P 2 - это вероятность S t > K под нейтральной к риску мерой для модели.
Выберите эту среду путем определения значения "Lewis2001" для Framework аргумент пары "имя-значение".
[1] Albrecher, H., P. Mayer, W. Schoutens, and J. Tistaert. «Ловушка Маленького Хестона». Рабочий документ Linz and Graz University of Technology, K.U. Leuven, ING Financial Markets, 2006.
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.