Barrier объект прибора
Создать и оценить Barrier объект инструмента с использованием этого рабочего процесса:
Использовать fininstrument для создания Barrier объект прибора.
Использовать finmodel для указания BlackScholes, Heston, Bates, или Merton модель для Barrier инструмент.
При использовании BlackScholes модель, использование finpricer для указания BlackScholes, AssetTree, или VannaVolga метод ценообразования для Barrier инструмент.
При использовании BlackScholes, Heston, Bates, или Merton модель, использование finpricer для указания AssetMonteCarlo или FiniteDifference метод ценообразования для Barrier инструмент.
Дополнительные сведения об этом потоке операций см. в разделе Начало работы с потоками операций с использованием объектной структуры для расчета цен на финансовые инструменты.
Для получения дополнительной информации о доступных моделях и методах ценообразования для Barrier см. раздел Выбор приборов, моделей и прайсеров.
создает BarrierOpt = fininstrument(InstrumentType,'Strike',strike_value,'ExerciseDate',exercise_date,'BarrierValue',barrier_value)Barrier путем указания объекта InstrumentType и задает свойства для необходимых аргументов пары имя-значение Strike, ExerciseDate, и BarrierValue.
задает дополнительные свойства, используя дополнительные пары имя-значение в дополнение к требуемым аргументам в предыдущем синтаксисе. Например, BarrierOpt = fininstrument(___,Name,Value)BarrierOpt = fininstrument("Barrier",'Strike',100,'ExerciseDate',datetime(2019,1,30),'BarrierValue',110,'OptionType',"put",'ExerciseStyle',"European",'BarrierType',"DO",'Name',"barrier_option") создает Barrier пут вариант с европейским упражнением. Можно указать несколько аргументов пары имя-значение.
InstrumentType - Тип прибора"Barrier" | символьный вектор со значением 'Barrier' | строка со значением "Barrier"Тип прибора, указанный как строка со значением "Barrier" или символьный вектор со значением 'Barrier'.
Типы данных: char | string
Barrier Аргументы пары «имя-значение»Укажите требуемые и необязательные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.
BarrierOpt = fininstrument("Barrier",'Strike',100,'ExerciseDate',datetime(2019,1,30),'BarrierValue',110,'OptionType',"put",'ExerciseStyle',"European",'BarrierType',"DO",'Name',"barrier_option")Barrier Аргументы пары «имя-значение»'Strike' - Значение страйка опционаЗначение страйка опции, указанное как пара, разделенная запятыми, состоящая из 'Strike' и скалярное неотрицательное значение.
Типы данных: double
'ExerciseDate' - Дата опционного упражненияДата выполнения опциона, указанная как пара, разделенная запятыми, состоящая из 'ExerciseDate' и скалярное значение datetime, порядковый номер даты, вектор символов даты или строка даты.
Примечание
Для европейского варианта есть только один ExerciseDate на дату истечения срока действия опциона.
Если используется вектор символов даты или строка даты, формат должен быть распознаваемым по datetime потому что ExerciseDate свойство сохраняется как datetime.
Типы данных: double | char | string | datetime
'BarrierValue' - Уровень барьераУровень барьера, указанный как разделенная запятыми пара, состоящая из 'BarrierLevel' и скалярное числовое значение.
Типы данных: double
Barrier Аргументы пары «имя-значение»'OptionType' - Тип опции "call" (по умолчанию) | строка со значением "call" или "put" | символьный вектор со значением 'call' или 'put'Тип опции, указанный как разделенная запятыми пара, состоящая из 'OptionType' и скалярный строковый или символьный вектор.
Типы данных: char | string
'ExerciseStyle' - Стиль дополнительного упражнения"European" (по умолчанию) | строка со значением "European" или "American"
| символьный вектор со значением 'European' или 'American'Стиль дополнительного упражнения, заданный как разделенная запятыми пара, состоящая из 'ExerciseStyle' и скалярный строковый или символьный вектор.
Примечание
Для Barrier опция, BlackScholes только опоры прайсера "European" упражнение и FiniteDifference прайсер поддерживает "American" или "European" упражнение.
Типы данных: string | char
'BarrierType' - Тип параметра «Барьер»"UO" (по умолчанию) | строка со значением: "UI", "UO", "DI", или "DO" | символьный вектор со значением: 'UI', 'UO', 'DI', или 'DO'Тип параметра «Барьер», указанный как пара, разделенная запятыми, состоящая из 'BarrierType' и вектор строки или символа с одним из следующих значений:
"UI" - Вклинивание
Этот вариант вступает в силу, когда цена базового актива переходит выше барьерного уровня. Если базовый актив выходит за пределы барьерного уровня в течение срока действия опциона, держатель опциона имеет право, но не обязательство, покупать или продавать (звонить или ставить) основное обеспечение по цене страйка.
"UO" - Вверх нокаут-аут
Этот опцион дает держателю опциона право, но не обязательство, покупать или продавать (звонить или ставить) основное обеспечение по цене страйка, если базовый актив не выходит за пределы барьерного уровня в течение срока действия опциона. Эта опция прекращается, когда цена базового обеспечения переходит выше барьерного уровня. Если спотовая цена базового актива достигает или превышает уровень барьера с опцией «вверх и назад», скидка выплачивается.
"DI" - Сбивка вниз
Этот вариант вступает в силу, когда цена базовой акции проходит ниже барьерного уровня. Если основное обеспечение в течение срока действия опциона опускается ниже барьерного уровня, держатель опциона имеет право, но не обязательство, покупать или продавать (звонить или ставить) основное обеспечение по цене страйка. При использовании опциона «вниз-внутрь» бонус выплачивается, если спотовая цена андерлаинга не достигает барьерного уровня в течение срока действия опциона. Обратите внимание, что Barrier с использованием FiniteDifference Прайсер не поддерживает американские задирные варианты.
"DO" - Сбивание вниз
Этот опцион дает держателю опциона право, но не обязательство, покупать или продавать (звонить или ставить) базовый актив по цене страйка, если базовый актив не опускается ниже барьерного уровня в течение срока действия опциона. Эта опция прекращается, когда цена базового обеспечения проходит ниже барьерного уровня. Если опцион бесполезен по истечении срока его действия, владелец опциона получает сумму бонуса.
| Выбор | Тип барьера | Окупаемость при пересечении барьера | Окупаемость, если барьер не преодолен |
|---|---|---|---|
| Позвонить или поставить | Вниз нокаут-аут | Бесполезный | Стандартный вызов или ввод |
| Позвонить или поставить | Сбивка вниз | Позвонить или поставить | Бесполезный |
| Позвонить или поставить | Вверх нокаут-аут | Бесполезный | Стандартный вызов или ввод |
| Позвонить или поставить | Вверх стук-ин | Стандартный вызов или ввод | Бесполезный |
Типы данных: char | string
'Rebate' - Стоимость бонуса0
(по умолчанию) | числовыеЗначение бонуса, указанное как пара, разделенная запятыми, состоящая из 'Rebate' и скалярный числовой.
Для опций Stock-In, Rebate выплачивается по истечении срока действия.
Для вариантов выбивания, Rebate оплачивается, когда BarrierValue достигнут.
Типы данных: double
'Name' - Определяемое пользователем имя прибора" "
(по умолчанию) | строка | символьный векторОпределяемое пользователем имя прибора, указанное как пара, разделенная запятыми, состоящая из 'Name' и скалярный строковый или символьный вектор.
Типы данных: char | string
Strike - Значение страйка опционаЗначение страйка опции, возвращаемое как скалярное неотрицательное значение.
Типы данных: double
ExerciseDate - Дата опционного упражненияДата выполнения опциона, возвращенная в качестве даты и времени.
Типы данных: datetime
OptionType - Тип опции"call" (по умолчанию) | строка со значением "call" или "put"Тип параметра, возвращаемый в виде строки со значением "call" или "put".
Типы данных: string
ExerciseStyle - Стиль дополнительного упражнения"European" (по умолчанию) | строка со значением "European" или "American"Стиль дополнительного упражнения, возвращаемый в виде строки со значением "European" или "American".
Типы данных: string
BarrierSpec - Тип параметра «Барьер»"UO" Европейский (по умолчанию) | строка со значением: "UI", "UO", "DI", или "DO"Тип параметра барьера, возвращаемый как строка со значением "UI", "UO", "DI", или "DO".
Типы данных: string
BarrierValue - Уровень барьераУровень барьера, возвращаемый как скалярное числовое значение.
Типы данных: double
Rebate - Стоимость бонуса0
(по умолчанию) | числовыеЗначение скидки, возвращаемое в виде скалярного числа.
Типы данных: double
Name - Определяемое пользователем имя прибора" "
(по умолчанию) | строкаОпределяемое пользователем имя инструмента, возвращаемое в виде строки.
Типы данных: string
В этом примере показан поток операций для оценки Barrier инструмент при использовании BlackScholes модель и FiniteDifference способ ценообразования.
Создать Barrier Объект КИП
Использовать fininstrument для создания Barrier объект прибора.
BarrierOpt = fininstrument("Barrier",'Strike',45,'ExerciseDate',datetime(2019,1,1),'OptionType',"call",'ExerciseStyle',"american",'BarrierType',"DO",'BarrierValue',40,'Name',"barrier_option")
BarrierOpt =
Barrier with properties:
OptionType: "call"
Strike: 45
BarrierType: "do"
BarrierValue: 40
Rebate: 0
ExerciseStyle: "american"
ExerciseDate: 01-Jan-2019
Name: "barrier_option"
Создать BlackScholes Объект модели
Использовать finmodel для создания BlackScholes объект модели.
BlackScholesModel = finmodel("BlackScholes",'Volatility',0.30)
BlackScholesModel =
BlackScholes with properties:
Volatility: 0.3000
Correlation: 1
Создать ratecurve Объект
Создание плоского ratecurve объект с использованием ratecurve.
Settle = datetime(2018,1,1); Maturity = datetime(2023,1,1); Rate = 0.035; myRC = ratecurve('zero',Settle,Maturity,Rate,'Basis',1)
myRC =
ratecurve with properties:
Type: "zero"
Compounding: -1
Basis: 1
Dates: 01-Jan-2023
Rates: 0.0350
Settle: 01-Jan-2018
InterpMethod: "linear"
ShortExtrapMethod: "next"
LongExtrapMethod: "previous"
Создать FiniteDifference Объект прайсера
Использовать finpricer для создания FiniteDifference pricer object и используйте ratecurve объект для 'DiscountCurve' аргумент пары имя-значение.
outPricer = finpricer("FiniteDifference",'Model',BlackScholesModel,'DiscountCurve',myRC,'SpotPrice',50)
outPricer =
FiniteDifference with properties:
DiscountCurve: [1x1 ratecurve]
Model: [1x1 finmodel.BlackScholes]
SpotPrice: 50
GridProperties: [1x1 struct]
DividendType: "continuous"
DividendValue: 0
Цена Barrier Инструмент
Использовать price для расчета цены и чувствительности для Barrier инструмент.
[Price, outPR] = price(outPricer,BarrierOpt,["all"])Price = 8.5014
outPR =
priceresult with properties:
Results: [1x7 table]
PricerData: [1x1 struct]
outPR.Results
ans=1×7 table
Price Delta Gamma Lambda Theta Rho Vega
______ _______ _________ ______ _______ ______ ______
8.5014 0.85673 0.0057199 5.0388 -1.8461 26.238 6.1837
В этом примере показан поток операций для оценки Barrier инструмент при использовании BlackScholes модель и AssetTree способ ценообразования.
Создать Barrier Объект КИП
Использовать fininstrument для создания Barrier объект прибора.
BarrierOpt = fininstrument("Barrier",'Strike',45,'ExerciseDate',datetime(2019,1,1),'OptionType',"call",'ExerciseStyle',"american",'BarrierType',"DO",'BarrierValue',40,'Name',"barrier_option")
BarrierOpt =
Barrier with properties:
OptionType: "call"
Strike: 45
BarrierType: "do"
BarrierValue: 40
Rebate: 0
ExerciseStyle: "american"
ExerciseDate: 01-Jan-2019
Name: "barrier_option"
Создать BlackScholes Объект модели
Использовать finmodel для создания BlackScholes объект модели.
BlackScholesModel = finmodel("BlackScholes",'Volatility',0.30)
BlackScholesModel =
BlackScholes with properties:
Volatility: 0.3000
Correlation: 1
Создать ratecurve Объект
Создание плоского ratecurve объект с использованием ratecurve.
Settle = datetime(2018,1,1); Maturity = datetime(2023,1,1); Rate = 0.035; myRC = ratecurve('zero',Settle,Maturity,Rate,'Basis',1)
myRC =
ratecurve with properties:
Type: "zero"
Compounding: -1
Basis: 1
Dates: 01-Jan-2023
Rates: 0.0350
Settle: 01-Jan-2018
InterpMethod: "linear"
ShortExtrapMethod: "next"
LongExtrapMethod: "previous"
Создать AssetTree Объект прайсера
Использовать finpricer для создания AssetTree объект pricer с деревом акций EQP и используйте ratecurve объект для 'DiscountCurve' аргумент пары имя-значение.
NumPeriods = 15; EQPPricer = finpricer("AssetTree",'DiscountCurve',myRC,'Model',BlackScholesModel,'SpotPrice',1000,'PricingMethod',"EqualProbability",'Maturity',datetime(2019,1,1),'NumPeriods',NumPeriods)
EQPPricer =
EQPTree with properties:
Tree: [1x1 struct]
NumPeriods: 15
Model: [1x1 finmodel.BlackScholes]
DiscountCurve: [1x1 ratecurve]
SpotPrice: 1000
DividendType: "continuous"
DividendValue: 0
TreeDates: [1x15 datetime]
EQPPricer.Tree
ans = struct with fields:
Probs: [2x15 double]
ATree: {1x16 cell}
dObs: [1x16 datetime]
tObs: [1x16 double]
Цена Barrier Инструмент
Использовать price для расчета цены и чувствительности для Barrier инструмент.
[Price, outPR] = price(EQPPricer,BarrierOpt,["all"])Price = 956.5478
outPR =
priceresult with properties:
Results: [1x7 table]
PricerData: [1x1 struct]
outPR.Results
ans=1×7 table
Price Delta Gamma Vega Lambda Rho Theta
______ _____ __________ ___________ ______ _____ _______
956.55 1 9.3133e-18 -6.8212e-09 1.0454 43.45 -1.5208
outPR.PricerData.PriceTree
ans = struct with fields:
PTree: {1x16 cell}
ExTree: {1x16 cell}
tObs: [1x16 double]
dObs: [1x16 datetime]
Probs: [2x15 double]
В этом примере показан поток операций для оценки Barrier инструмент при использовании BlackScholes модель и AssetMonteCarlo способ ценообразования.
Создать Barrier Объект КИП
Использовать fininstrument для создания Barrier объект прибора.
BarrierOpt = fininstrument("Barrier",'Strike',45,'ExerciseDate',datetime(2019,1,1),'OptionType',"call",'ExerciseStyle',"american",'BarrierType',"DO",'BarrierValue',40,'Name',"barrier_option")
BarrierOpt =
Barrier with properties:
OptionType: "call"
Strike: 45
BarrierType: "do"
BarrierValue: 40
Rebate: 0
ExerciseStyle: "american"
ExerciseDate: 01-Jan-2019
Name: "barrier_option"
Создать BlackScholes Объект модели
Использовать finmodel для создания BlackScholes объект модели.
BlackScholesModel = finmodel("BlackScholes",'Volatility',0.30)
BlackScholesModel =
BlackScholes with properties:
Volatility: 0.3000
Correlation: 1
Создать ratecurve Объект
Создание плоского ratecurve объект с использованием ratecurve.
Settle = datetime(2018,1,1); Maturity = datetime(2023,1,1); Rate = 0.035; myRC = ratecurve('zero',Settle,Maturity,Rate,'Basis',1)
myRC =
ratecurve with properties:
Type: "zero"
Compounding: -1
Basis: 1
Dates: 01-Jan-2023
Rates: 0.0350
Settle: 01-Jan-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(2019,1,1))
outPricer =
GBMMonteCarlo with properties:
DiscountCurve: [1x1 ratecurve]
SpotPrice: 200
SimulationDates: 01-Jan-2019
NumTrials: 1000
RandomNumbers: []
Model: [1x1 finmodel.BlackScholes]
DividendType: "continuous"
DividendValue: 0
Цена Barrier Инструмент
Использовать price для расчета цены и чувствительности для Barrier инструмент.
[Price, outPR] = price(outPricer,BarrierOpt,["all"])Price = 156.6270
outPR =
priceresult with properties:
Results: [1x7 table]
PricerData: [1x1 struct]
outPR.Results
ans=1×7 table
Price Delta Gamma Lambda Rho Theta Vega
______ ______ ___________ ______ _____ _____ _______
156.63 1.0004 -7.6028e-12 1.2774 43.45 0 0.67904
В этом примере показан поток операций для оценки Barrier инструмент при использовании Heston модель и AssetMonteCarlo способ ценообразования.
Создать Barrier Объект КИП
Использовать fininstrument для создания Barrier объект прибора.
BarrierOpt = fininstrument("Barrier",'Strike',45,'ExerciseDate',datetime(2019,1,1),'OptionType',"call",'ExerciseStyle',"american",'BarrierType',"DO",'BarrierValue',40,'Name',"barrier_option")
BarrierOpt =
Barrier with properties:
OptionType: "call"
Strike: 45
BarrierType: "do"
BarrierValue: 40
Rebate: 0
ExerciseStyle: "american"
ExerciseDate: 01-Jan-2019
Name: "barrier_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,1,1); Maturity = datetime(2023,1,1); Rate = 0.035; myRC = ratecurve('zero',Settle,Maturity,Rate,'Basis',1)
myRC =
ratecurve with properties:
Type: "zero"
Compounding: -1
Basis: 1
Dates: 01-Jan-2023
Rates: 0.0350
Settle: 01-Jan-2018
InterpMethod: "linear"
ShortExtrapMethod: "next"
LongExtrapMethod: "previous"
Создать AssetMonteCarlo Объект прайсера
Использовать finpricer для создания AssetMonteCarlo pricer object и используйте ratecurve объект для 'DiscountCurve' аргумент пары имя-значение.
outPricer = finpricer("AssetMonteCarlo",'DiscountCurve',myRC,"Model",HestonModel,'SpotPrice',200,'simulationDates',datetime(2019,1,1))
outPricer =
HestonMonteCarlo with properties:
DiscountCurve: [1x1 ratecurve]
SpotPrice: 200
SimulationDates: 01-Jan-2019
NumTrials: 1000
RandomNumbers: []
Model: [1x1 finmodel.Heston]
DividendType: "continuous"
DividendValue: 0
Цена Barrier Инструмент
Использовать price для расчета цены и чувствительности для Barrier инструмент.
[Price, outPR] = price(outPricer,BarrierOpt,["all"])Price = 156.9962
outPR =
priceresult with properties:
Results: [1x8 table]
PricerData: [1x1 struct]
outPR.Results
ans=1×8 table
Price Delta Gamma Lambda Rho Theta Vega VegaLT
_____ ______ _________ ______ _____ _____ ______ _________
157 1.0022 -1.08e-12 1.2768 43.45 0 2.7882 0.0013677
Вариант барьера имеет не только цену страйка, но и уровень барьера, а иногда и скидку.
Выплата для этого типа опциона зависит от того, пересекает ли нижележащий актив заданное значение триггера (уровень барьера), обозначенное BarrierValue, в течение срока действия опциона. Если опцион не может быть реализован, поскольку уровень барьера уже достигнут или не достигнут, выплачивается фиксированная сумма бонуса. Дополнительные сведения см. в разделе Параметр барьера.
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.