Создание 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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.