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.
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
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 object и используйте 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 объект pricer для дерева акций 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 object и используйте 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 object и используйте 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
Опция обратного просмотра - это опция, зависящая от пути и основанная на максимальном или минимальном значении, достигаемом базовым активом в течение всего срока действия опции.
Программное обеспечение Financial Instruments Toolbox™ поддерживает два типа опций обратного просмотра: фиксированный и плавающий. Фиксированные опционы обратного просмотра имеют определенную цену страйка, в то время как плавающие опционы обратного поиска имеют цену страйк, определяемую путем к активу. Дополнительные сведения см. в разделе Опция поиска.
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.