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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.