Создать NumericalIntegration объект pricer для Vanilla прибор с использованием Heston, Bates, или Merton модель
Создать и оценить Vanilla объект прибора с Heston, Bates, или Merton модель и NumericalIntegration метод ценообразования с использованием этого потока операций:
Дополнительные сведения об этом потоке операций см. в разделе Начало работы с потоками операций с использованием объектной структуры для расчета цен на финансовые инструменты.
Для получения дополнительной информации о доступных методах ценообразования для Vanilla см. раздел Выбор приборов, моделей и прайсеров.
создает NumericalIntegrationPricerObj = finpricer(PricerType,'Model',model,'DiscountCurve',ratecurve_obj,'SpotPrice',spotprice_value)NumericalIntegration объект pricer путем указания 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 по Albrecher et al., указанный как пара, разделенная запятыми, состоящая из: 'LittleTrap' и логическое:
true - Использовать Albrecher et al. состав.
Для получения дополнительной информации о LittleTrap, см. [1], а также состав Little Trap определяется Cj и Dj, см. Модель стохастической волатильности Heston и модель диффузии стохастической волатильности Bates.
false - Использовать оригинальную формацию Хестона.
Типы данных: logical
'AbsTol' - Абсолютная погрешность для числового интегрирования1e-10
(по умолчанию) | числовыеАбсолютный допуск ошибки для числового интегрирования, определяемый как разделенная запятыми пара, состоящая из 'AbsTol' и скалярное числовое значение.
Типы данных: double
'RelTol' - Относительная погрешность для числового интегрирования1e-6
(по умолчанию) | числовыеОтносительный допуск ошибки для числового интегрирования, определяемый как разделенная запятыми пара, состоящая из 'RelTol' и скалярное числовое значение.
Типы данных: double
'IntegrationRange' - Диапазон численного интегрирования, используемый для аппроксимации непрерывного интеграла [0 Inf][1e-9 Inf]
(по умолчанию) | векторДиапазон численного интегрирования, используемый для аппроксимации непрерывного интеграла [0 Inf], указанная как пара, разделенная запятыми, состоящая из 'IntegrationRange' и 1около-2 вектор, представляющий [LowerLimit UpperLimit].
Типы данных: double
'Framework' - Основа для вычисления цен и чувствительности вариантов с использованием численной интеграции моделей"heston1993"
(по умолчанию) | строка со значениями "heston1993" или "lewis2001"
| символьный вектор со значениями 'heston1993' или 'lewis2001'
Структура для вычисления цен и чувствительности опций с использованием числовой интеграции моделей, определяемая как пара, разделенная запятыми, состоящая из 'Framework' и скалярную строку или символьный вектор со следующими значениями:
"heston1993" или 'heston1993' - Метод, используемый в Хестоне (1993)
"lewis2001" или 'lewis2001' - Метод, используемый в Льюисе (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 Albrecher et al., возвращен в качестве логического.
Типы данных: logical
AbsTol - Абсолютная погрешность для числового интегрирования1e-10
(по умолчанию) | числовыеАбсолютный допуск ошибки для числового интегрирования, возвращаемый как скалярное числовое значение.
Типы данных: double
RelTol - Относительная погрешность для числового интегрирования1e-6
(по умолчанию) | числовыеОтносительный допуск ошибки для числового интегрирования, возвращаемый как скалярное числовое значение.
Типы данных: double
IntegrationRange - Диапазон численного интегрирования, используемый для аппроксимации непрерывного интеграла [0 Inf][1e-9 Inf]
(по умолчанию) | векторДиапазон численного интегрирования, используемый для аппроксимации непрерывного интеграла [0 Inf], возвращено как 1около-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 object и используйте 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
Вариант ванили - это категория вариантов, включающая только самые стандартные компоненты.
Вариант ванили имеет срок годности и простую цену страйка. Варианты в американском и европейском стиле классифицируются как варианты ванили.
Окупаемость опциона на ваниль выглядит следующим образом:
Для вызова: , 0)
Для put: , 0)
Здесь:
St - цена базового актива в момент времени t.
K - цена удара.
Дополнительные сведения см. в разделе Параметр ванили.
Модель Хестона является расширением модели Блэка-Шоулза, где волатильность (квадратный корень дисперсии) больше не считается постоянной, и теперь дисперсия следует стохастическому (CIR) процессу. Это позволяет моделировать предполагаемые улыбки волатильности, наблюдаемые на рынке.
Стохастическое дифференциальное уравнение
Здесь:
r - непрерывная безрисковая ставка.
q - непрерывный дивидендный выход.
St - цена актива в момент времени t.
vt - отклонение цены основного средства в момент времени t.
v0 - начальное отклонение цены основного средства при t = 0 для (v0 > 0).
λ - долгосрочный уровень дисперсии для (start> 0).
δ - средняя скорость реверсирования для дисперсии для (start> 0).
startv - летучесть дисперсии для (startv > 0).
p - корреляция между процессами Вайнера Wt и Wvt для (-1 ≤ p ≤ 1).
Характеристическая функция j = 1 (мера цены актива) и j = 2 (нейтральная к риску мера)
b1 =κ +λVolRisk−pσv, b2 =κ +λVolRisk
Здесь:
start- переменная характеристической функции.
ƛVolRisk - премия за риск волатильности.
start- время до наступления зрелости (start= T - t).
i - единичное мнимое число (i2 = -1).
Определения для Cj и Dj для ловушки Little Heston Albrecher et al. (2007) являются
εj=bj−pσviϕ−djbj−pσviϕ + ди-джей
Модель Бейтса (Bates 1996) является расширением модели Хестона, где, помимо стохастической волатильности, параметры скачка диффузии, аналогичные Мертону (1976), также добавляются к модельным внезапным движениям цен активов.
Стохастическое дифференциальное уравнение
= λpdt
Здесь:
r - непрерывная безрисковая ставка.
q - непрерывный дивидендный выход.
St - цена актива в момент времени t.
vt - отклонение цены основного средства в момент времени t.
J - случайный процентный размер скачка, обусловленный происходящим скачком, где ln(1 + J) обычно распределяется со ) − δ22 и стандартным отклонением δ, а (1 + J) имеет логнормальное распределение:
мкJ) − δ22] 2δ22}
v0 - начальное отклонение цены основного средства при t = 0 (v0 > 0).
λ - долгосрочный уровень дисперсии для (start> 0).
δ - средняя скорость реверсирования для («» > 0 «»).
startv - дисперсная волатильность для (startv > 0).
p - корреляция между процессами Вайнера Wt и для (-1 ≤ p ≤ 1).
мкДж представляет собой среднее значение J для (мкДж > -1).
δ - стандартное отклонение ln(1 + J) для (δ ≥ 0 ).
- годовая частота (интенсивность) процесса Пуассона Pt для ( ≥ 0).
Характеристическая функция ) для j = 1 (средний показатель цены актива) и j = 2 (нейтральный к риску показатель)
b1 =κ +λVolRisk−pσv, b2 =κ +λVolRisk
Здесь:
start- переменная характеристической функции.
ƛVolRisk - премия за риск волатильности.
start- время созревания для (start= T - t).
i - единичное мнимое число для (i2 = -1).
Определения для Cj и Dj для ловушки Little Heston Albrecher et al. (2007) являются
εj=bj−pσviϕ−djbj−pσviϕ + ди-джей
Модель диффузии прыжков Мертона (Merton 1976) является расширением модели Блэка-Шоулза, где внезапные движения цен активов (как вверх, так и вниз) моделируются путем добавления параметров диффузии скачков с процессом Пуассона.
Стохастическое дифференциальное уравнение
(dPt = 1) = λ pdt
Здесь:
r - непрерывная безрисковая ставка.
q - непрерывный дивидендный выход.
Wt - процесс Вайнера.
J - случайный процентный размер скачка, обусловленный происходящим скачком, где ln(1 + J) обычно распределяется со ) − δ22 и стандартным отклонением δ, и (1 + J) имеет логнормальное распределение
мкJ) − δ22] 2δ22}
мкДж представляет собой среднее значение J для (мкДж > -1).
δ - стандартное отклонение ln(1 + J) для (δ≥ 0).
ƛp - годовая частота (интенсивность) процесса Пуассона Ptfor (ƛp ≥ 0).
λ - волатильность цены актива для (λ > 0).
Характеристическая функция ) для j = 1 (мера цены актива) и j = 2 (нейтральная к риску мера)
]−ϕ2σ22τ) m1=12, m2 =−12
Здесь:
start- переменная характеристической функции
start- время до наступления зрелости (start= T- t).
i - единичное мнимое число (i2 = -1).
Численное интегрирование используется для оценки непрерывного интеграла для обратного преобразования Фурье.
Метод численного интегрирования в рамках Heston (1993) основан на следующих выражениях
+Ke−rτ−Ste−qτPj=12+1π∫0∞Re[e−iϕln (K) fj (
Здесь:
r - непрерывная безрисковая ставка.
q - непрерывный дивидендный выход.
St - цена актива в момент времени t.
К - это удар.
start- время до зрелости (start= T-t).
Call (K) - цена вызова при ударе K.
Пут (К) - цена пут при ударе К.
i - единичное мнимое число (i2 = -1).
start- переменная характеристической функции.
fj (start) является характеристической функцией для Pj (j = 1,2).
P1 - вероятность St > K при измерении цены актива для модели.
P2 - вероятность St > K в рамках нейтральной по риску меры для модели.
Где j = 1,2 таким образом, что f1 (в) и f2 (в) являются характерными функциями для вероятностей P1 и P2 соответственно.
Выберите эту инфраструктуру, указав значение по умолчанию "Heston1993" для Framework аргумент пары имя-значение.
Численное интегрирование используется для оценки непрерывного интеграла для обратного преобразования Фурье.
Метод численного интегрирования в рамках Lewis (2001) основан на следующих выражениях:
K) = Ke −
Здесь
r - непрерывная безрисковая ставка.
q - непрерывный дивидендный выход.
St - цена актива в момент времени t.
К - это удар.
start- время до зрелости (start= T-t).
Call (K) - цена вызова при ударе K.
Пут (К) - цена пут при ударе К.
i - единичное мнимое число (i2 = -1).
start- переменная характеристической функции.
u - переменная характеристической функции для интегрирования, где i2).
f2 (start) является характеристической функцией для P2.
P2 - вероятность St > K в рамках нейтральной по риску меры для модели.
Выберите эту инфраструктуру, указав значение "Lewis2001" для Framework аргумент пары имя-значение.
[1] Альбрехер, Х., П. Майер, В. Шоутенс и Дж. Тистаерт. «Маленькая ловушка Хестона.» Рабочий документ, Линц и Грацский технологический университет, К. У. Левен, ING Financial Markets, 2006.
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.