Lookback
инструмент
Создайте и оцените Lookback
инструментальный объект, использующий этот рабочий процесс:
Использование fininstrument
создать 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
объект путем определения 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'
.
Типы данных: 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
объект калькулятора цен и использование 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
объект калькулятора цен и использование 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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.