Lookback инструмент
Создайте и оцените Lookback инструментальный объект для одного или нескольких инструментов Lookback с помощью этого рабочего процесса:
Использование fininstrument создать Lookback инструментальный объект для одного или нескольких инструментов Lookback.
Использование finmodel задавать BlackScholes, Heston, Bates, или Merton модель для Lookback инструментальный объект.
Выберите метод ценообразования.
При использовании BlackScholes модель, использовать finpricer задавать ConzeViswanathan, AssetTree, или GoldmanSosinGatto метод ценообразования для одного или нескольких Lookback инструменты.
При использовании BlackScholes, Heston, Bates, или Merton модель, использовать finpricer задавать AssetMonteCarlo метод ценообразования для одного или нескольких Lookback инструменты.
Для получения дополнительной информации об этом рабочем процессе смотрите Начало работы с Рабочими процессами Используя Основанную на объектах Среду для Оценки Финансовых инструментов.
Для получения дополнительной информации о доступных моделях и методах ценообразования для Lookback инструмент, смотрите, Выбирают Instruments, Models и Pricers.
создает LookbackObj = fininstrument(InstrumentType,'Strike',strike_value,'ExerciseDate',exercise_date)Lookback объект для одного или нескольких инструментов Lookback путем определения InstrumentType и устанавливает свойства для необходимых аргументов пары "имя-значение" Strike и ExerciseDate.
Lookback инструмент поддерживает фиксированную забастовку и плавающую забастовку 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'Инструментальный тип в виде строки со значением "Lookback", вектор символов со значением 'Lookback', NINST- 1 массив строк со значениями "Lookback", или NINST- 1 массив ячеек из символьных векторов со значениями 'Lookback'.
Типы данных: char | cell | 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' и скалярное неотрицательное числовое значение или NINST- 1 вектор из неотрицательных значений для фиксированной забастовки Lookback опция. Для плавающей забастовки Lookback опция, задайте 'Strike' как NaN или NINST- 1 вектор из NaNs.
Примечание
Используйте ConzeViswanathan калькулятор цен для фиксированной забастовки Lookback опция и использование GoldmanSosinGatto калькулятор цен для плавающей забастовки Lookback опция.
Типы данных: double
ExerciseDate — Дата осуществления опцииДата осуществления опции в виде разделенной запятой пары, состоящей из 'ExerciseDate' и скалярный datetime, последовательный номер даты, вектор символов даты, строка даты или NINST- 1 вектор из datetimes, последовательных чисел даты, массива ячеек векторов символов даты или массива строки даты.
Примечание
Для европейской опции существует только один ExerciseDate на дате окончания срока действия опции.
Если вы используете векторы символов даты или строки даты, формат должен быть распознаваемым datetime потому что ExerciseDate свойство хранится как datetime.
Типы данных: double | char | cell | string | datetime
Lookback Аргументы в виде пар имя-значениеOptionType — Тип опции "call" (значение по умолчанию) | представляет в виде строки со значением "call" или "put" | массив строк со значениями "call" или "put" | вектор символов со значением 'call' или 'put' | массив ячеек из символьных векторов со значениями 'call' или 'put'Тип опции в виде разделенной запятой пары, состоящей из 'OptionType' и скалярная строка или вектор символов или NINST- 1 массив ячеек из символьных векторов или массив строк.
Типы данных: char | cell | string
ExerciseStyle — Стиль осуществления опции"European" (значение по умолчанию) | представляет в виде строки со значением "European" или "American" | массив строк со значениями "European" или "American" | вектор символов со значением 'European' или 'American' | массив ячеек из символьных векторов со значениями 'European' или 'American'Осуществление опции разрабатывает в виде разделенной запятой пары, состоящей из 'ExerciseStyle' и скалярная строка или вектор символов или NINST- 1 массив ячеек из символьных векторов или массив строк.
Типы данных: string | cell | char
AssetMinMax — Максимальная или минимальная цена базового активаNaN где SpotPrice из базового актива используется (значение по умолчанию) | скаляр, числовой | числовой векторМаксимальная или минимальная цена базового актива в виде разделенной запятой пары, состоящей из 'AssetMinMax' и числовой скаляр или NINST- 1 числовой вектор.
Типы данных: double
Name — Пользовательское имя для инструмента" "
(значение по умолчанию) | представляет в виде строки | массив строк | вектор символов | массив ячеек из символьных векторовПользовательское имя для одного из большего количества инструментов в виде разделенной запятой пары, состоящей из 'Name' и скалярная строка или вектор символов или NINST- 1 массив ячеек из символьных векторов или массив строк.
Типы данных: char | cell | string
Strike — Значение цены исполнения опциона опцииЗначение цены исполнения опциона опции, возвращенное как скаляр, неотрицательный числовой или NINST- 1 вектор из неотрицательных значений.
Типы данных: double
ExerciseDate — Дата осуществления опцииДата осуществления опции, возвращенная как datetime или NINST- 1 вектор из datetimes.
Типы данных: datetime
OptionType — Тип опции"call" (значение по умолчанию) | представляет в виде строки со значением "call" или "put" | массив строк со значениями "call" или "put"Тип опции, возвращенный как скалярная строка или NINST- 1 массив строк со значениями "call" или "put".
Типы данных: string
ExerciseStyle — Стиль осуществления опции"European" (значение по умолчанию) | представляет в виде строки со значением "European" или "American" | массив строк со значениями "European" или "American"Стиль осуществления опции, возвращенный как скалярная строка или NINST- 1 массив строк со значениями "European" или "American".
Типы данных: string
AssetMinMax — Максимальная или минимальная цена базового активаNaN где SpotPrice из базового актива используется (значение по умолчанию) | скаляр, числовой | числовой векторМаксимальная или минимальная цена базового актива, возвращенная как числовой скаляр или NINST- 1 числовой вектор.
Типы данных: double
Name — Пользовательское имя для инструмента" "
(значение по умолчанию) | представляет в виде строки | массив строкПользовательское имя для инструмента, возвращенного как строка или NINST- 1 массив строк.
Типы данных: 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 объект калькулятора цен и использование 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 модель и ConzeViswanathan метод ценообразования.
Создайте Lookback Инструментальный объект
Используйте fininstrument создать Lookback инструментальный объект для трех инструментов Lookback.
LookbackOpt = fininstrument("Lookback",'Strike',[105 ; 120; 140],'ExerciseDate',datetime([2022,9,15 ; 2022,10,15 ; 2022,11,15]),'OptionType',"put",'ExerciseStyle',"european",'Name',"lookback_option")
LookbackOpt=3×1 object
3x1 Lookback array with properties:
OptionType
Strike
AssetMinMax
ExerciseStyle
ExerciseDate
Name
Создайте 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 объект калькулятора цен и использование 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 = 3×1
57.8786
71.3008
88.9673
outPR=3×1 object
3x1 priceresult array with properties:
Results
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
ans=1×7 table
Price Delta Gamma Lambda Vega Theta Rho
______ ________ __________ ________ ______ _______ _______
71.301 -0.32722 2.8422e-06 -0.45894 31.997 -4.5677 -410.15
ans=1×7 table
Price Delta Gamma Lambda Vega Theta Rho
______ ________ __________ ________ ______ _______ _______
88.967 -0.32033 1.4211e-06 -0.36005 31.395 -3.7989 -489.96
Этот пример показывает рабочий процесс, чтобы оценить 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: [21-Dec-2018 09:36:00 28-Mar-2019 19:12:00 ... ]
LRPricer.Tree
ans = struct with fields:
Probs: [2x15 double]
ATree: {1x16 cell}
dObs: [15-Sep-2018 00:00:00 21-Dec-2018 09:36:00 ... ]
tObs: [0 0.2667 0.5333 0.8000 1.0667 1.3333 1.6000 1.8667 2.1333 ... ]
Цена 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 объект калькулятора цен и использование 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 объект калькулятора цен и использование 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™ поддерживает два типа lookback опций: зафиксированный и плавание. Зафиксированные lookback опции имеют заданную цену исполнения опциона, в то время как плаванию lookback опции определил цену исполнения опциона путь к активу. Для получения дополнительной информации см. Опцию Lookback.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.