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 pricer поддерживает только "European" упражнения и FiniteDifference прейскурант поддерживает "American" или "European" упражнение.
Типы данных: string | char
'BarrierType' - Тип варианта барьера"UO" (по умолчанию) | строку со значением: "UI", "UO", "DI", или "DO" | вектор символов со значением: 'UI', 'UO', 'DI', или 'DO'Тип опции барьера, заданный как разделенная разделенными запятой парами, состоящая из 'BarrierType' и строка или вектор символов с одним из следующих значений:
"UI" - Подача вверх
Эта опция вступает в силу, когда цена базового актива переходит выше уровня барьера. Если базовый актив переходит выше уровня барьера в течение срока действия опции, владелец опции имеет право, но не обязательство, купить или продать (вызов или поставить) базовый залог по цене страйка.
"UO" - Нокаут вверх
Эта опция дает держателю опциона право, но не обязательство, покупать или продавать (вызов или ставить) базовое обеспечение по цене забастовки, пока базовый актив не переходит уровень барьера в течение срока действия опциона. Эта опция прекращается, когда цена базового обеспечения переходит выше уровня барьера. Если спот-цена базового актива достигает или превышает уровень барьера с опцией увеличения и вывода, выплачивается скидка.
"DI" - Нисходящий ввод
Эта опция вступает в силу, когда цена базового запаса переходит ниже уровня барьера. Если базовое обеспечение становится ниже уровня барьера в течение срока действия опции, держатель опции имеет право, но не обязательство, покупать или продавать (вызов или ставить) базовое обеспечение по цене забастовки. С опцией down-and-in скидка выплачивается, если спотовая цена базового компонента не достигает уровня барьера в течение срока действия опции. Обратите внимание, что Barrier инструмент с использованием FiniteDifference pricer не поддерживает американские барьерные опции.
"DO" - Нисходящий
Эта опция предоставляет держателю опциона право, но не обязательство, покупать или продавать (вызов или ставить) базовый актив по цене доставки, пока базовый актив не опустится ниже уровня барьера в течение срока действия опциона. Эта опция прекращается, когда цена базового обеспечения переходит ниже уровня барьера. Если срок действия опции истекает, держатель опции получает сумму скидки.
| Опция | Тип барьера | Окупаемость при пересечении барьера | Окупаемость, если барьер не пересечен |
|---|---|---|---|
| Позвоните или поместите | Нисходящий выбой | Бесполезный | Стандартный вызов или размещение |
| Позвоните или поместите | Нисходящий ввод | Позвоните или поместите | Бесполезный |
| Позвоните или поместите | Нокаут вверх | Бесполезный | Стандартный вызов или размещение |
| Позвоните или поместите | Подстройка вверх | Стандартный вызов или размещение | Бесполезный |
Типы данных: char | string
'Rebate' - значение скидки0
(по умолчанию) | числоЗначение скидки, заданное как разделенная разделенными запятой парами, состоящая из 'Rebate' и скалярным числом.
Для опций ввода, Rebate выплачивается по истечении срока действия.
Для опций выбивания, Rebate платится, когда BarrierValue достигается.
Типы данных: double
'Name' - Определяемое пользователем имя прибора" "
(по умолчанию) | строку | вектор символовОпределяемое пользователем имя инструмента, заданное как разделенная разделенными запятой парами, состоящая из 'Name' и скалярную строку или вектор символов.
Типы данных: char | string
Strike - Значение падения опцииЗначение падения опции, возвращаемое как скалярное неотрицательное значение.
Типы данных: double
ExerciseDate - Дата выполнения опцииДата выполнения опции, возвращенная как datetime.
Типы данных: 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 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 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 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
Опция barrier имеет не только цену доставки, но и уровень барьера, а иногда и скидку.
Выплата для этого типа опции зависит от того, пересекает ли базовый актив предопределенное значение триггера (уровень барьера), обозначенное BarrierValue, в течение срока действия опции. Если опция не может быть использована, так как уровень барьера либо достигнут, либо не достигнут, выплачивается фиксированная сумма скидки. Для получения дополнительной информации см. Раздел «Опция барьера».
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.