Lookback инструмент
Создайте и оцените Lookback объект инструмента, использующий этот рабочий процесс:
Использовать fininstrument для создания Lookback объект прибора.
Использовать finmodel для задания BlackScholes, Heston, Bates, или Merton модель для Lookback прибора.
При использовании BlackScholes модель, использование finpricer для задания ConzeViswanathan, AssetTree, или GoldmanSosinGatto метод ценообразования для Lookback прибора.
При использовании BlackScholes, Heston, Bates, или Merton модель, использование finpricer для задания AssetMonteCarlo метод ценообразования для Lookback прибора.
Дополнительные сведения об этом рабочем процессе см. в разделе Запуске с рабочими процессами с использованием объектной среды для ценообразования финансовых инструментов.
Для получения дополнительной информации о доступных моделях и методах ценообразования для Lookback инструмент, см. «Выбор инструментов», «Модели» и «Цены».
создает LookbackObj = fininstrument(InstrumentType,'Strike',strike_value,'ExerciseDate',exercise_date)Lookback объект путем определения InstrumentType и устанавливает свойства для необходимых аргументов пары "имя-значение" Strike и ExerciseDate.
The Lookback инструмент поддерживает фиксированные и плавающие опции поиска удара. Для получения дополнительной информации о Lookback инструмент, см. Подробнее о.
устанавливает необязательные свойства с помощью дополнительных пар "имя-значение" в дополнение к необходимым аргументам в предыдущем синтаксисе. Для примера, LookbackObj = fininstrument(___,Name,Value)LookbackObj = fininstrument("Lookback",'Strike',100,'ExerciseDate',datetime(2019,1,30),'OptionType',"put",'ExerciseStyle',"European",'Name',"lookback_option") создает Lookback поставьте опцию с европейским упражнением. Можно задать несколько аргументы пары "имя-значение".
InstrumentType - Тип КИПиА"Lookback" | вектор символов с 'Lookback' значенийТип инструмента, заданный как строка со значением "Lookback" или вектор символов со значением 'Lookback'.
Типы данных: char | string
Lookback Аргументы в виде пар имя-значениеУкажите требуемые и необязательные разделенные запятой пары Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.
LookbackObj = fininstrument("Lookback",'Strike',100,'ExerciseDate',datetime(2019,1,30),'OptionType',"put",'ExerciseStyle',"European",'Name',"lookback_option")Lookback Аргументы в виде пар имя-значение'Strike' - значение цены опционной доставкиNaNЗначение цены доставки опции, заданное как разделенная разделенными запятой парами, состоящая из 'Strike' и скаляр неотрицательное числовое значение для фиксированного ударного Lookback опция или NaN для плавающего ударного Lookback опция.
Примечание
Используйте ConzeViswanathan цена для фиксированного ударного Lookback опция и использовать GoldmanSosinGatto цена для плавающего ударного Lookback опция.
Типы данных: double
'ExerciseDate' - Дата выполнения опцииДата выполнения опции, заданная как разделенная разделенными запятой парами, состоящая из 'ExerciseDate' и скалярное значение datetime, серийный номер даты, вектор символов даты или строка даты.
Примечание
Для европейской опции существует только один ExerciseDate на дату истечения срока действия опции.
Если вы используете вектор символов даты или строку даты, формат должен быть распознаваемым datetime потому что ExerciseDate свойство сохранено как datetime.
Типы данных: double | char | string | datetime
Lookback Аргументы в виде пар имя-значение'OptionType' - Тип опции "call" (по умолчанию) | строку со значением "call" или "put" | вектор символов с 'call' значений или 'put'Тип опции, заданный как разделенная разделенными запятой парами, состоящая из 'OptionType' и скалярную строку или вектор символов.
Типы данных: char | string
'ExerciseStyle' - Стиль упражнения опции"European" (по умолчанию) | строку со значением "European" или "American" | вектор символов с 'European' значений или 'American'Опция стиль упражнения, заданный как разделенная запятой пара, состоящий из 'ExerciseStyle' и скалярную строку или вектор символов.
Типы данных: string | char
'AssetMinMax' - Максимальная или минимальная базовая цена активовNaN где SpotPrice базового актива используется (по умолчанию) | скалярным числом Максимальная или минимальная базовая цена актива, заданная как разделенная разделенными запятой парами, состоящая из 'AssetMinMax' и скалярным числом.
Типы данных: double
'Name' - Определяемое пользователем имя прибора" "
(по умолчанию) | строку | вектор символовОпределяемое пользователем имя инструмента, заданное как разделенная разделенными запятой парами, состоящая из 'Name' и скалярную строку или вектор символов.
Типы данных: char | string
Strike - значение цены опционной доставкиОпциональное значение цены доставки, возвращаемое как скалярное неотрицательное число.
Типы данных: double
ExerciseDate - Дата выполнения опцииДата выполнения опции, возвращенная как datetime.
Типы данных: datetime
OptionType - Тип опции"call" (по умолчанию) | строку со значением "call" или "put"Тип опции, возвращенный как строка со значением "call" или "put".
Типы данных: string
ExerciseStyle - Стиль упражнения опции"European" (по умолчанию) | строку со значением "European" или "American"Опция стиле упражнения возвращается как строка со значением "European" или "American".
Типы данных: string
AssetMinMax - Максимальная или минимальная базовая цена активовNaN где SpotPrice базового актива используется (по умолчанию) | скалярным числом Максимальная или минимальная базовая цена актива, возвращенная в виде скалярного числа.
Типы данных: double
Name - Определяемое пользователем имя прибора" "
(по умолчанию) | строкуОпределяемое пользователем имя инструмента, возвращаемое как строка.
Типы данных: string
Этот пример показывает рабочий процесс, чтобы оценить LookBack инструмент, когда вы используете BlackScholes модель и ConzeViswanathan метод ценообразования.
Создание Lookback Объект прибора
Использование fininstrument для создания Lookback объект прибора.
LookbackOpt = fininstrument("Lookback",'Strike',105,'ExerciseDate',datetime(2022,9,15),'OptionType',"put",'ExerciseStyle',"european",'Name',"lookback_option")
LookbackOpt =
Lookback with properties:
OptionType: "put"
Strike: 105
AssetMinMax: NaN
ExerciseStyle: "european"
ExerciseDate: 15-Sep-2022
Name: "lookback_option"
Создание BlackScholes Объект модели
Использование finmodel для создания BlackScholes объект модели.
BlackScholesModel = finmodel("BlackScholes",'Volatility',0.2)
BlackScholesModel =
BlackScholes with properties:
Volatility: 0.2000
Correlation: 1
Создание 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"
Создание ConzeViswanathan Объект прейскуранта
Использование finpricer для создания ConzeViswanathan и используйте объект pricer ratecurve объект для 'DiscountCurve' аргумент пары "имя-значение".
outPricer = finpricer("analytic","Model",BlackScholesModel,"DiscountCurve",myRC,"SpotPrice",100,"DividendValue",0.25,"DividendType","continuous","PricingMethod","ConzeViswanathan")
outPricer =
ConzeViswanathan with properties:
DiscountCurve: [1x1 ratecurve]
Model: [1x1 finmodel.BlackScholes]
SpotPrice: 100
DividendValue: 0.2500
DividendType: "continuous"
Ценовые Lookback Инструмент
Использование price вычислить цену и чувствительность для Lookback прибора.
[Price, outPR] = price(outPricer,LookbackOpt,["all"])Price = 57.8786
outPR =
priceresult with properties:
Results: [1x7 table]
PricerData: []
outPR.Results
ans=1×7 table
Price Delta Gamma Lambda Vega Theta Rho
______ ________ _____ ________ ______ _______ _______
57.879 -0.33404 0 -0.57714 32.587 -5.1863 -350.41
Этот пример показывает рабочий процесс, чтобы оценить LookBack инструмент, когда вы используете BlackScholes модель и AssetTree метод ценообразования.
Создание Lookback Объект прибора
Использование fininstrument для создания Lookback объект прибора.
LookbackOpt = fininstrument("Lookback",'Strike',105,'ExerciseDate',datetime(2022,9,15),'OptionType',"put",'ExerciseStyle',"european",'Name',"lookback_option")
LookbackOpt =
Lookback with properties:
OptionType: "put"
Strike: 105
AssetMinMax: NaN
ExerciseStyle: "european"
ExerciseDate: 15-Sep-2022
Name: "lookback_option"
Создание BlackScholes Объект модели
Использование finmodel для создания BlackScholes объект модели.
BlackScholesModel = finmodel("BlackScholes",'Volatility',0.2)
BlackScholesModel =
BlackScholes with properties:
Volatility: 0.2000
Correlation: 1
Создание 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"
Создание AssetTree Объект прейскуранта
Использование finpricer для создания AssetTree объект цены для дерева собственных средств LR и используйте ratecurve объект для 'DiscountCurve' аргумент пары "имя-значение".
NumPeriods = 15; LRPricer = finpricer("AssetTree",'DiscountCurve',myRC,'Model',BlackScholesModel,'SpotPrice',150,'PricingMethod',"LeisenReimer",'Maturity',datetime(2022,9,15),'NumPeriods',NumPeriods)
LRPricer =
LRTree with properties:
InversionMethod: PP1
Strike: 150
Tree: [1x1 struct]
NumPeriods: 15
Model: [1x1 finmodel.BlackScholes]
DiscountCurve: [1x1 ratecurve]
SpotPrice: 150
DividendType: "continuous"
DividendValue: 0
TreeDates: [1x15 datetime]
LRPricer.Tree
ans = struct with fields:
Probs: [2x15 double]
ATree: {1x16 cell}
dObs: [1x16 datetime]
tObs: [1x16 double]
Ценовые Lookback Инструмент
Использование price вычислить цену и чувствительность для Lookback прибора.
[Price, outPR] = price(LRPricer,LookbackOpt,["all"])Price = 3.9412
outPR =
priceresult with properties:
Results: [1x7 table]
PricerData: []
outPR.Results
ans=1×7 table
Price Delta Gamma Vega Lambda Rho Theta
______ ________ _________ ______ _______ _______ _______
3.9412 -0.13312 -0.011131 67.684 -5.0757 -73.857 -1.0383
Этот пример показывает рабочий процесс, чтобы оценить LookBack инструмент, когда вы используете BlackScholes модель и AssetMonetCarlo метод ценообразования.
Создание Lookback Объект прибора
Использование fininstrument для создания Lookback объект прибора.
LookbackOpt = fininstrument("Lookback",'Strike',105,'ExerciseDate',datetime(2022,9,15),'OptionType',"put",'ExerciseStyle',"european",'Name',"lookback_option")
LookbackOpt =
Lookback with properties:
OptionType: "put"
Strike: 105
AssetMinMax: NaN
ExerciseStyle: "european"
ExerciseDate: 15-Sep-2022
Name: "lookback_option"
Создание BlackScholes Объект модели
Использование finmodel для создания BlackScholes объект модели.
BlackScholesModel = finmodel("BlackScholes",'Volatility',0.2)
BlackScholesModel =
BlackScholes with properties:
Volatility: 0.2000
Correlation: 1
Создание 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"
Создание AssetMonteCarlo Объект прейскуранта
Использование finpricer для создания AssetMonteCarlo и используйте объект pricer ratecurve объект для 'DiscountCurve' аргумент пары "имя-значение".
outPricer = finpricer("AssetMonteCarlo",'DiscountCurve',myRC,"Model",BlackScholesModel,'SpotPrice',200,'simulationDates',datetime(2022,9,15))
outPricer =
GBMMonteCarlo with properties:
DiscountCurve: [1x1 ratecurve]
SpotPrice: 200
SimulationDates: 15-Sep-2022
NumTrials: 1000
RandomNumbers: []
Model: [1x1 finmodel.BlackScholes]
DividendType: "continuous"
DividendValue: 0
Ценовые Lookback Инструмент
Использование price вычислить цену и чувствительность для Lookback прибора.
[Price, outPR] = price(outPricer,LookbackOpt,["all"])Price = 1.8553
outPR =
priceresult with properties:
Results: [1x7 table]
PricerData: [1x1 struct]
outPR.Results
ans=1×7 table
Price Delta Gamma Lambda Rho Theta Vega
______ _________ __________ _______ _______ ________ ______
1.8553 -0.040442 0.00062792 -4.3596 -39.426 -0.71345 42.311
Этот пример показывает рабочий процесс, чтобы оценить LookBack инструмент, когда вы используете Bates модель и AssetMonetCarlo метод ценообразования.
Создание Lookback Объект прибора
Использование fininstrument для создания Lookback объект прибора.
LookbackOpt = fininstrument("Lookback",'Strike',105,'ExerciseDate',datetime(2022,9,15),'OptionType',"put",'ExerciseStyle',"european",'Name',"lookback_option")
LookbackOpt =
Lookback with properties:
OptionType: "put"
Strike: 105
AssetMinMax: NaN
ExerciseStyle: "european"
ExerciseDate: 15-Sep-2022
Name: "lookback_option"
Создание Bates Объект модели
Использование finmodel для создания Bates объект модели.
BatesModel = finmodel("Bates",'V0',0.032,'ThetaV',0.1,'Kappa',0.003,'SigmaV',0.2,'RhoSV',0.9,'MeanJ',0.11,'JumpVol',.023,'JumpFreq',0.02)
BatesModel =
Bates with properties:
V0: 0.0320
ThetaV: 0.1000
Kappa: 0.0030
SigmaV: 0.2000
RhoSV: 0.9000
MeanJ: 0.1100
JumpVol: 0.0230
JumpFreq: 0.0200
Создание 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"
Создание AssetMonteCarlo Объект прейскуранта
Использование finpricer для создания AssetMonteCarlo и используйте объект pricer ratecurve объект для 'DiscountCurve' аргумент пары "имя-значение".
outPricer = finpricer("AssetMonteCarlo",'DiscountCurve',myRC,"Model",BatesModel,'SpotPrice',100,'simulationDates',datetime(2022,9,15))
outPricer =
BatesMonteCarlo with properties:
DiscountCurve: [1x1 ratecurve]
SpotPrice: 100
SimulationDates: 15-Sep-2022
NumTrials: 1000
RandomNumbers: []
Model: [1x1 finmodel.Bates]
DividendType: "continuous"
DividendValue: 0
Ценовые Lookback Инструмент
Использование price вычислить цену и чувствительность для Lookback прибора.
[Price, outPR] = price(outPricer,LookbackOpt,["all"])Price = 7.3592
outPR =
priceresult with properties:
Results: [1x8 table]
PricerData: [1x1 struct]
outPR.Results
ans=1×8 table
Price Delta Gamma Lambda Rho Theta Vega VegaLT
______ ________ ___________ _______ _______ _________ ______ _______
7.3592 -0.83923 -3.5527e-15 -11.404 -29.431 -0.030786 31.941 0.71394
Опция lookback является зависящей от пути опцией, основанной на максимальном или минимальном значении, которого базовый актив достигает в течение всего срока службы опции.
Программное обеспечение Financial Instruments Toolbox™ поддерживает два типа опций поиска: фиксированный и плавающий. Опции фиксированного поиска имеют заданную цену доставки, в то время как опции плавающего поиска имеют цену доставки, определяемую путем актива. Для получения дополнительной информации см. Раздел «Опция поиска».
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.