Создайте FFT объект калькулятора цен для Vanilla инструмент с помощью Merton, Heston, или Bates модель
Создайте и оцените Vanilla инструментальный объект с Heston, Bates, или Merton модель и FFT метод ценообразования с помощью этого рабочего процесса:
Для получения дополнительной информации об этом рабочем процессе смотрите Начало работы с Рабочими процессами Используя Основанную на объектах Среду для Оценки Финансовых инструментов.
Для получения дополнительной информации о доступных методах ценообразования для Vanilla инструмент, смотрите, Выбирают Instruments, Models и Pricers.
создает FFTPricerObj = finpricer(PricerType,'Model',model,'DiscountCurve',ratecurve_obj)FFT объект калькулятора цен путем определения PricerType и устанавливает свойства для необходимых аргументов пары "имя-значение" Model и DiscountCurve.
устанавливает дополнительные свойства с помощью дополнительных пар "имя-значение" в дополнение к обязательным аргументам в предыдущем синтаксисе. Например, FFTPricerObj = finpricer(___,Name,Value)FFTPricerObj = finpricer("FFT",'Model',FFTModel, 'DiscountCurve',ratecurve_obj,'SpotPrice',1000,'DividendValue',0.01,'VolRiskPremium',0.9) создает FFT объект калькулятора цен. Можно задать несколько аргументов пары "имя-значение".
PricerType — Тип калькулятора цен"FFT" | вектор символов со значением 'FFT'Тип калькулятора цен в виде строки со значением "FFT" или вектор символов со значением 'FFT'.
Типы данных: char | string
FFT Аргументы в виде пар имя-значениеЗадайте требуемые и дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.
FFTPricerObj = finpricer("FFT",'Model',FFTModel, 'DiscountCurve',ratecurve_obj,'SpotPrice',1000,'DividendValue',0.01,'VolRiskPremium',0.9)FFT Аргументы в виде пар имя-значение'DiscountCurve' — ratecurve объект для дисконтирования потоков наличностиratecurve объектЭто свойство доступно только для чтения.
ratecurve объект для дисконтирования потоков наличности в виде разделенной запятой пары, состоящей из 'DiscountCurve' и имя ratecurve объект.
Примечание
Задайте плоский ratecurve объект для DiscountCurve. Если вы используете неплоский ratecurve объект, программное обеспечение использует уровень в ratecurve объект в Maturity и принимает, что значение является постоянным для жизни опции акции.
Типы данных: object
'SpotPrice' — Текущая цена базового активаТекущая цена базового актива в виде разделенной запятой пары, состоящей из 'SpotPrice' и скаляр, неотрицательный числовой.
Типы данных: double
FFT Аргументы в виде пар имя-значение'DividendValue' — Дивидендная доходностьДивидендная доходность в виде разделенной запятой пары, состоящей из 'DividendValue' и скаляр, неотрицательный числовой в десятичных числах.
Типы данных: double
'VolRiskPremium' — Надбавка за риск энергозависимости
(значение по умолчанию) | числовойНадбавка за риск энергозависимости в виде разделенной запятой пары, состоящей из 'VolRiskPremium' и скалярное числовое значение.
Типы данных: double
'LittleTrap' — Отметьте указание на Небольшую формулировку Прерывания Хестонаtrue
(значение по умолчанию) | логический со значением true или falseОтметьте указание на Небольшую формулировку Прерывания Хестона Albrecher и др. в виде разделенной запятой пары, состоящей из 'LittleTrap' и логическое:
true — Используйте Albrecher и др. формулировка.
Для получения дополнительной информации о LittleTrap, см. [1], и также Мало формулировки Прерывания задано C j и D j в Хестоне Стохастическая Модель Энергозависимости и Убавляет Стохастическую Модель Диффузии Скачка Энергозависимости.
false — Используйте исходное формирование Хестона.
Типы данных: логический
'NumFFT' — Количество узлов решетки в переменной характеристической функции
(значение по умолчанию) | числовойКоличество узлов решетки в переменной характеристической функции и в каждом столбце сетки логарифмической забастовки в виде разделенной запятой пары, состоящей из 'NumFFT' и скалярное числовое значение.
Типы данных: double
'CharacteristicFcnStep' — Интервал сетки переменной характеристической функции
(значение по умолчанию) | числовойИнтервал сетки переменной характеристической функции в виде разделенной запятой пары, состоящей из 'CharacteristicFcnStep' и скалярное числовое значение.
Типы данных: double
'LogStrikeStep' — Интервал сетки логарифмической забастовки2*pi/NumFFT/CharacteristicFcnStep
(значение по умолчанию) | числовойИнтервал сетки логарифмической забастовки в виде разделенной запятой пары, состоящей из 'LogStrikeStep' и скалярное числовое значение.
Примечание
Если (LogStrikeStep*CharacteristicFcnStep) 2*pi/NumFFT, БПФ используется. В противном случае FRFT используется.
Типы данных: double
'DampingFactor' — Коэффициент затухания для формулировки Топкого-места-Madan
(значение по умолчанию) | числовойКоэффициент затухания для формулировки Топкого-места-Madan в виде разделенной запятой пары, состоящей из 'DampingFactor' и скалярное числовое значение.
Типы данных: double
'Quadrature' — Тип квадратуры"simpson"
(значение по умолчанию) | представляет в виде строки со значением "simpson" или "trapezoidal" | вектор символов со значением 'simpson' или 'trapezoidal'Тип квадратуры в виде разделенной запятой пары, состоящей из 'Quadrature' и скалярная строка или вектор символов.
Типы данных: char | string
Model — Модель Модель, возвращенная как объект модели.
Типы данных: object
SpotPrice — Текущая цена базового активаТекущая цена базового актива, возвращенного как скаляр, неотрицательный числовой.
Типы данных: double
DividendValue — Дивидендная доходностьДивидендная доходность, возвращенная как скаляр, неотрицательный числовой в десятичных числах.
Типы данных: double
VolRiskPremium — Надбавка за риск энергозависимости
(значение по умолчанию) | числовойНадбавка за риск энергозависимости, возвращенная как скалярное числовое значение.
Типы данных: double
LittleTrap — Отметьте указание на Небольшую формулировку Прерывания Хестонаtrue
(значение по умолчанию) | логический со значением true или falseОтметьте указание на Небольшую формулировку Прерывания Хестона Albrecher и др., возвращенный как логическое.
Типы данных: логический
NumFFT — Количество узлов решетки в переменной характеристической функции
(значение по умолчанию) | числовойКоличество узлов решетки в переменной характеристической функции и в каждом столбце сетки логарифмической забастовки, возвращенной как скалярное числовое значение.
Типы данных: double
CharacteristicFcnStep — Интервал сетки переменной характеристической функции
(значение по умолчанию) | числовойИнтервал сетки переменной характеристической функции, возвращенный как скалярное числовое значение.
Типы данных: double
LogStrikeStep — Интервал сетки логарифмической забастовки2*pi/NumFFT/CharacteristicFcnStep
(значение по умолчанию) | числовойИнтервал сетки логарифмической забастовки, возвращенный как скалярное числовое значение.
Типы данных: double
DampingFactor — Коэффициент затухания для формулировки Топкого-места-Madan
(значение по умолчанию) | числовойКоэффициент затухания для формулировки Топкого-места-Madan, возвращенной как скалярное числовое значение.
Типы данных: double
Quadrature — Тип квадратуры"simpson"
(значение по умолчанию) | представляет в виде строки со значением "simpson" или "trapezoidal"Тип квадратуры, возвращенной как строка.
Типы данных: string
price | Вычислите цену за инструмент акции с FFT калькулятор цен |
Этот пример показывает рабочий процесс, чтобы оценить Vanilla инструмент, когда вы используете Heston модель и FFT метод ценообразования.
Создайте Vanilla Инструментальный объект
Используйте fininstrument создать Vanilla инструментальный объект.
VanillaOpt = fininstrument("Vanilla",'ExerciseDate',datetime(2022,9,15),'Strike',105,'ExerciseStyle',"european",'Name',"vanilla_option")
VanillaOpt =
Vanilla with properties:
OptionType: "call"
ExerciseStyle: "european"
ExerciseDate: 15-Sep-2022
Strike: 105
Name: "vanilla_option"
Создайте Heston Объект модели
Используйте finmodel создать Heston объект модели.
HestonModel = finmodel("Heston",'V0',0.032,'ThetaV',0.1,'Kappa',0.003,'SigmaV',0.2,'RhoSV',0.9)
HestonModel =
Heston with properties:
V0: 0.0320
ThetaV: 0.1000
Kappa: 0.0030
SigmaV: 0.2000
RhoSV: 0.9000
Создайте ratecurve Объект
Создайте плоский ratecurve объект с помощью ratecurve.
Settle = datetime(2018,9,15); Maturity = datetime(2023,9,15); Rate = 0.035; myRC = ratecurve('zero',Settle,Maturity,Rate,'Basis',12)
myRC =
ratecurve with properties:
Type: "zero"
Compounding: -1
Basis: 12
Dates: 15-Sep-2023
Rates: 0.0350
Settle: 15-Sep-2018
InterpMethod: "linear"
ShortExtrapMethod: "next"
LongExtrapMethod: "previous"
Создайте FFT Объект калькулятора цен
Используйте finpricer создать FFT объект калькулятора цен и использование ratecurve объект для 'DiscountCurve' аргумент пары "имя-значение".
outPricer = finpricer("fft",'DiscountCurve',myRC,'Model',HestonModel,'SpotPrice',100,'CharacteristicFcnStep', 0.2,'NumFFT',2^13)
outPricer =
FFT with properties:
Model: [1x1 finmodel.Heston]
DiscountCurve: [1x1 ratecurve]
SpotPrice: 100
DividendType: "continuous"
DividendValue: 0
NumFFT: 8192
CharacteristicFcnStep: 0.2000
LogStrikeStep: 0.0038
CharacteristicFcn: @characteristicFcnHeston
DampingFactor: 1.5000
Quadrature: "simpson"
VolRiskPremium: 0
LittleTrap: 1
Цена Vanilla Инструмент
Используйте price вычислить цену и чувствительность для Vanilla инструмент.
[Price, outPR] = price(outPricer,VanillaOpt,["all"])Price = 14.7545
outPR =
priceresult with properties:
Results: [1x7 table]
PricerData: []
outPR.Results
ans=1×7 table
Price Delta Gamma Theta Rho Vega VegaLT
______ _______ ________ ________ ______ ______ ______
14.754 0.44868 0.021649 -0.20891 120.45 88.192 1.3248
Опция vanilla является категорией опций, которая включает только самые стандартные компоненты.
Опция ванили имеет дату истечения срока и прямую цену исполнения опциона. Американские параметры стиля и европейские параметры стиля оба категоризированы как опции ванили.
Выплата для опции ванили следующие:
Для вызова:
Для помещенного:
Здесь:
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).
Характеристическая функция для j = 1 (мера цен активов) и j = 2 (нейтральная к риску мера)
Здесь:
ϕ является переменной характеристической функции.
ƛ VolRisk является надбавкой за риск энергозависимости.
τ является временем к зрелости (τ = T - t).
i является модульным мнимым числом (i 2 =-1).
Определения для C j и D j в Небольшом Прерывании Хестона Albrecher и др. (2007)
Модель Бэйтса (Бэйтс 1996) является расширением модели Хестона, где в дополнение к стохастической энергозависимости параметры диффузии скачка, похожие на Мертон (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 является модульным мнимым числом для (i 2 =-1).
Определения для C j и D j в Небольшом Прерывании Хестона Albrecher и др. (2007)
Модель диффузии скачка Мертона (Мертон 1976) является расширением модели Black-Scholes, где внезапные перемещения цен активов (оба вверх и вниз) моделируются путем добавления параметров диффузии скачка с Пуассоновским процессом.
Стохастическое дифференциальное уравнение
Здесь:
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 является модульным мнимым числом (i 2 =-1).
Топкое-место-Madan (1999) формулировка является популярной модифицированной реализацией Хестона (1993) среда.
Вместо того, чтобы вычислять вероятности, P 1 и P 2 как промежуточное звено продвигается, Топкое место и Мадан разработали альтернативное выражение так, чтобы взятие его обратного преобразования Фурье дало саму цену опции непосредственно.
Здесь:
r является непрерывным безрисковым уровнем.
q является непрерывной дивидендной доходностью.
S t является ценой активов во время t.
τ время к зрелости (τ = T-t).
Call (K) является досрочной ценой в забастовке K.
Put (K) является помещенной ценой в забастовке K
i является модульным мнимым числом (i 2 =-1)
ϕ переменная характеристической функции.
α коэффициент затухания.
u является переменной характеристической функции для интегрирования, где ϕ = (u - (α + 1) i).
f 2 (ϕ) является характеристической функцией для P 2.
P 2 является вероятностью S t> K под нейтральной к риску мерой для модели.
Чтобы применить БПФ или FRFT к этой формулировке, переменной характеристической функции для интегрирования, u дискретизируется в NumFFT(N) указывает с размером шага CharacteristicFcnStep (Δu) и логарифмическая забастовка k дискретизируются в точки N с размером шага LogStrikeStep(Δk).
Дискретизированная переменная характеристической функции для интегрирования u, j (для j = 1,2,3, …, N) имеет минимальное значение 0 и максимальное значение (N-1) (Δu), и это аппроксимирует непрерывный диапазон интегрирования от 0 до бесконечности.
Дискретизированная сетка логарифмической забастовки k n (для n = 1, 2, 3, N) приблизительно сосредоточена вокруг ln(S t), с минимальным значением
и максимальное значение
Где минимальная допустимая забастовка
и максимальная допустимая забастовка
В результате дискретизации выражение для колл-опциона становится
Здесь:
Δu является размером шага дискретизированной переменной характеристической функции для интегрирования.
Δk является размером шага дискретизированной логарифмической забастовки.
N является количеством точек FRFT или БПФ.
w j является весами для квадратуры, используемой для аппроксимации интеграла.
БПФ используется, чтобы выполнить вышеупомянутое выражение, если Δk и Δu подвергаются следующему ограничению:
В противном случае функции используют метод FRFT, описанный в Chourdakis (2005).
[1] Albrecher, H., П. Майер, В. Шоутенс и Дж. Тистэерт. “Небольшое прерывание Хестона”. Рабочий документ, Линц и технологический университет Граца, K.U. Левен, финансовые рынки ING, 2006.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.