DoubleBarrier инструментальный объект
Создайте и оцените DoubleBarrier инструментальный объект для одного из большего количества Двойных инструментов Барьера с помощью этого рабочего процесса:
Использование fininstrument создать DoubleBarrier инструментальный объект для одного из большего количества Двойных инструментов Барьера.
Использование finmodel задавать BlackScholes, Heston, Bates, или Merton модель для DoubleBarrier инструментальный объект.
Выберите метод ценообразования.
При использовании BlackScholes модель, использовать finpricer задавать IkedaKunitomo или VannaVolga метод ценообразования для одного или нескольких DoubleBarrier инструменты.
При использовании BlackScholes, Heston, Bates, или Merton модель, использовать finpricer задавать FiniteDifference или AssetMonteCarlo метод ценообразования для одного или нескольких DoubleBarrier инструменты.
Для получения дополнительной информации об этом рабочем процессе смотрите Начало работы с Рабочими процессами Используя Основанную на объектах Среду для Оценки Финансовых инструментов.
Для получения дополнительной информации о доступных моделях и методах ценообразования для DoubleBarrier инструмент, смотрите, Выбирают Instruments, Models и Pricers.
создает DoubleBarrierOpt = fininstrument(InstrumentType,'Strike',strike_value,'ExerciseDate',exercise_date,'BarrierValue',barrier_value)DoubleBarrier инструментальный объект для одного из большего количества Двойных инструментов Барьера путем определения InstrumentType и свойства наборов с помощью необходимых аргументов пары "имя-значение" Strike, ExerciseDate, и BarrierValue.
устанавливает дополнительные свойства с помощью дополнительных аргументов пары "имя-значение" в дополнение к обязательным аргументам в предыдущем синтаксисе. Например, DoubleBarrierOpt = fininstrument(___,Name,Value)DoubleBarrierOpt = fininstrument("DoubleBarrier",'Strike',100,'ExerciseDate',datetime(2019,1,30),'BarrierValue',110,'OptionType',"put",'ExerciseStyle',"European",'BarrierType',"DKI",'Name',"doublebarrier_option") создает DoubleBarrier пут-опцион с европейским осуществлением. Можно задать несколько аргументов пары "имя-значение".
InstrumentType — Инструментальный тип"DoubleBarrier" | массив строк со значениями "DoubleBarrier" | вектор символов со значением 'DoubleBarrier' | массив ячеек из символьных векторов со значениями 'DoubleBarrier'Инструментальный тип в виде строки со значением "DoubleBarrier", вектор символов со значением 'DoubleBarrier', NINST- 1 массив строк со значениями "DoubleBarrier", или NINST- 1 массив ячеек из символьных векторов со значениями 'DoubleBarrier'.
Типы данных: char | cell | string
DoubleBarrier Аргументы в виде пар имя-значениеЗадайте требуемые и дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.
DoubleBarrierOpt = fininstrument("DoubleBarrier",'Strike',100,'ExerciseDate',datetime(2019,1,30),'BarrierValue',110,'OptionType',"put",'ExerciseStyle',"European",'BarrierType',"DKI",'Name',"doublebarrier_option")DoubleBarrier Аргументы в виде пар имя-значениеStrike — Значение забастовки опцииЗначение цены исполнения опциона опции в виде разделенной запятой пары, состоящей из 'Strike' и скалярное неотрицательное значение или NINST- 1 вектор из неотрицательных значений.
Типы данных: double
ExerciseDate — Дата осуществления опцииДата осуществления опции в виде разделенной запятой пары, состоящей из 'ExerciseDate' и скалярный datetime, последовательный номер даты, вектор символов даты, строка даты или NINST- 1 вектор из datetimes, последовательных чисел даты, массива ячеек векторов символов даты или массива строки даты.
Примечание
Для европейской опции существует только один ExerciseDate значение на дате окончания срока действия опции.
Если вы используете векторы символов даты или строки даты, формат должен быть распознаваемым datetime потому что ExerciseDate свойство хранится как datetime.
Типы данных: double | char | cell | string | datetime
BarrierValue — Двойное значение барьераДвойное значение барьера в виде разделенной запятой пары, состоящей из 'BarrierValue' и NINST- 1 матрица числовых значений, где каждым элементом является 1- 2 вектором, где первым столбцом является Барьер (1) (UB) и второй столбец, является Барьер (2) (LB). Барьер (1) должен быть больше Барьера (2).
Типы данных: double
DoubleBarrier Аргументы в виде пар имя-значение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 массив ячеек из символьных векторов или массив строк.
Примечание
Для DoubleBarrier опция, IkedaKunitomo калькулятор цен поддерживает только "European" тренируйтесь и FiniteDifference калькулятор цен поддерживает "American" или "European" осуществление.
Типы данных: string | cell | char
BarrierType — Двойной тип барьера"DKO" (значение по умолчанию) | представляет в виде строки со значением "DKI" или "DKO" | массив строк со значениями "DKI" или "DKO" | вектор символов со значением 'DKI' или 'DKO' | массив ячеек из символьных векторов со значениями 'DKI' или 'DKO'Двойной тип барьера в виде разделенной запятой пары, состоящей из 'BarrierType' и скалярный вектор символов или строка или NINST- 1 массив ячеек из символьных векторов или массив строк с одним из следующих значений:
'DKI' — Двойной удар - в
'DKI' опция вступает в силу, когда цена базового актива достигает одного из барьеров. Это дает держателю опции право, но не обязательство купить или продать базовый актив по цене исполнения опциона, если базовый актив идет выше или ниже уровней барьера во время жизни опции.
'DKO' — Двойной нокаут
'DKO' опция дает держателю опции право, но не обязательство купить или продать базовый актив по цене исполнения опциона, пока базовый актив остается между уровнями барьера во время жизни опции. Эта опция завершает работу, когда цена базового актива передает один из барьеров.
| Опция | Тип барьера | Выплата, если любой пересеченный барьер | Выплата, если барьеры, не пересеченные |
|---|---|---|---|
| Вызвать/Поместить | Двойной удар - в | Стандарт вызывает/Помещает | Бесполезный |
| Вызвать/Поместить | Двойной нокаут | Бесполезный | Стандарт вызывает/Помещает |
Типы данных: char | cell | string
Rebate — Уступка барьера
(значение по умолчанию) | числовойУступка барьера в виде разделенной запятой пары, состоящей из 'Rebate' и числовая матрица.
Для удара - в опциях, Rebate заплачен при истечении.
Для опций нокаута, Rebate заплачен, если Верхний Барьер (1) (UB) поражен, и вторая стоимость возмещена, если Более низкий Барьер (2) (LB) поражен.
Типы данных: double
Name — Пользовательское имя для инструмента" "
(значение по умолчанию) | представляет в виде строки | массив строк | вектор символов | массив ячеек из символьных векторовПользовательское имя для инструмента в виде разделенной запятой пары, состоящей из 'Name' и скалярная строка или вектор символов или NINST- 1 массив ячеек из символьных векторов или массив строк.
Типы данных: char | cell | string
Strike — Значение цены исполнения опциона опцииЗначение цены исполнения опциона опции, возвращенное как скалярное неотрицательное значение или NINST- 1 вектор из неотрицательных значений.
Типы данных: double
ExerciseDate — Дата осуществления опцииДата осуществления опции, возвращенная как datetime или NINST- 1 вектор из datetimes.
Типы данных: datetime
BarrierValue — Двойное значение барьераДвойное значение барьера, возвращенное как числовая матрица.
Типы данных: double
OptionType — Тип опции"call" (значение по умолчанию) | представляет в виде строки со значением "call" или "put" | массив строк со значениями "call" или "put"Тип опции, возвращенный как скалярная строка или NINST- 1 массив строк со значениями "call" или "put".
Типы данных: string
ExerciseStyle — Стиль осуществления опции"European" (значение по умолчанию) | представляет в виде строки со значением "European" или "American" | массив строк со значениями "European" или "American"Стиль осуществления опции, возвращенный как скалярная строка или NINST- 1 массив строк со значениями "European" или "American".
Типы данных: string
BarrierType — Двойной тип барьера"DKO" (значение по умолчанию) | представляет в виде строки со значением "DKI" или "DKO" | массив строк со значениями "DKI" или "DKO"Двойной тип барьера, возвращенный как скалярная строка или NINST- 1 массив строк со значениями "DKI" или "DKO".
Типы данных: string
Rebate — Уступка барьера
(значение по умолчанию) | числовойУступка барьера, возвращенная как числовая матрица.
Типы данных: double
Name — Пользовательское имя для инструмента" "
(значение по умолчанию) | представляет в виде строки | массив строкПользовательское имя для инструмента, возвращенного как скалярная строка или NINST- 1 массив строк.
Типы данных: string
Этот пример показывает рабочий процесс, чтобы оценить DoubleBarrier инструмент, когда вы используете BlackScholes модель и FiniteDifference метод ценообразования.
Создайте DoubleBarrier Инструментальный объект
Используйте fininstrument создать DoubleBarrier инструментальный объект.
DoubleBarrierOpt = fininstrument("DoubleBarrier",'Strike',75,'ExerciseDate',datetime(2019,1,1),'OptionType',"call",'ExerciseStyle',"american",'BarrierType',"DKO",'BarrierValue',[110 80],'Name',"doublebarrier_option")
DoubleBarrierOpt =
DoubleBarrier with properties:
OptionType: "call"
Strike: 75
BarrierValue: [110 80]
ExerciseStyle: "american"
ExerciseDate: 01-Jan-2019
BarrierType: "dko"
Rebate: [0 0]
Name: "doublebarrier_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 объект калькулятора цен и использование ratecurve объект для 'DiscountCurve' аргумент пары "имя-значение".
outPricer = finpricer("FiniteDifference",'Model',BlackScholesModel,'DiscountCurve',myRC,'SpotPrice',100)
outPricer =
FiniteDifference with properties:
DiscountCurve: [1x1 ratecurve]
Model: [1x1 finmodel.BlackScholes]
SpotPrice: 100
GridProperties: [1x1 struct]
DividendType: "continuous"
DividendValue: 0
Цена DoubleBarrier Инструмент
Используйте price вычислить цену и чувствительность для DoubleBarrier инструмент.
[Price, outPR] = price(outPricer,DoubleBarrierOpt,["all"])Price = 25
outPR =
priceresult with properties:
Results: [1x7 table]
PricerData: [1x1 struct]
outPR.Results
ans=1×7 table
Price Delta Gamma Lambda Theta Rho Vega
_____ _____ _____ ______ __________ ___ ____
25 1 0 4 2.2737e-13 0 0
Этот пример показывает рабочий процесс, чтобы оценить несколько DoubleBarrier инструменты, когда вы используете BlackScholes модель и FiniteDifference метод ценообразования.
Создайте DoubleBarrier Инструментальный объект
Используйте fininstrument создать DoubleBarrier инструментальный объект для трех Двойных инструментов Барьера.
DoubleBarrierOpt = fininstrument("DoubleBarrier",'Strike',[75 ; 85 ; 95],'ExerciseDate',datetime([2019,1,1 ; 2019,1,2 ; 2019,1,3]),'OptionType',"call",'ExerciseStyle',"american",'BarrierType',"DKO",'BarrierValue',[110 80],'Name',"doublebarrier_option")
DoubleBarrierOpt=3×1 object
3x1 DoubleBarrier array with properties:
OptionType
Strike
BarrierValue
ExerciseStyle
ExerciseDate
BarrierType
Rebate
Name
Создайте 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 объект калькулятора цен и использование ratecurve объект для 'DiscountCurve' аргумент пары "имя-значение".
outPricer = finpricer("FiniteDifference",'Model',BlackScholesModel,'DiscountCurve',myRC,'SpotPrice',100)
outPricer =
FiniteDifference with properties:
DiscountCurve: [1x1 ratecurve]
Model: [1x1 finmodel.BlackScholes]
SpotPrice: 100
GridProperties: [1x1 struct]
DividendType: "continuous"
DividendValue: 0
Цена DoubleBarrier Инструменты
Используйте price вычислить цены и чувствительность для DoubleBarrier инструменты.
[Price, outPR] = price(outPricer,DoubleBarrierOpt,["all"])Price = 3×1
25.0000
15.6821
7.8957
outPR=3×1 object
3x1 priceresult array with properties:
Results
PricerData
outPR.Results
ans=1×7 table
Price Delta Gamma Lambda Theta Rho Vega
_____ _____ _____ ______ __________ ___ ____
25 1 0 4 2.2737e-13 0 0
ans=1×7 table
Price Delta Gamma Lambda Theta Rho Vega
______ ______ _______ ______ _______ _____ _______
15.682 0.7196 0.28626 4.5887 0.88484 6.467 -6.3778
ans=1×7 table
Price Delta Gamma Lambda Theta Rho Vega
______ _______ __________ ______ _________ ______ _______
7.8957 0.36913 -0.0020435 4.675 -0.057311 4.3022 -6.9367
Этот пример показывает рабочий процесс, чтобы оценить DoubleBarrier инструмент, когда вы используете Heston модель и AssetMonteCarlo метод ценообразования.
Создайте DoubleBarrier Инструментальный объект
Используйте fininstrument создать DoubleBarrier инструментальный объект.
DoubleBarrierOpt = fininstrument("DoubleBarrier",'Strike',75,'ExerciseDate',datetime(2020,9,15),'OptionType',"call",'ExerciseStyle',"american",'BarrierType',"DKO",'BarrierValue',[110 80],'Name',"doublebarrier_option")
DoubleBarrierOpt =
DoubleBarrier with properties:
OptionType: "call"
Strike: 75
BarrierValue: [110 80]
ExerciseStyle: "american"
ExerciseDate: 15-Sep-2020
BarrierType: "dko"
Rebate: [0 0]
Name: "doublebarrier_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,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",HestonModel,'SpotPrice',102,'simulationDates',datetime(2020,9,15))
outPricer =
HestonMonteCarlo with properties:
DiscountCurve: [1x1 ratecurve]
SpotPrice: 102
SimulationDates: 15-Sep-2020
NumTrials: 1000
RandomNumbers: []
Model: [1x1 finmodel.Heston]
DividendType: "continuous"
DividendValue: 0
Цена DoubleBarrier Инструмент
Используйте price вычислить цену и чувствительность для DoubleBarrier инструмент.
[Price, outPR] = price(outPricer,DoubleBarrierOpt,["all"])Price = 32.6351
outPR =
priceresult with properties:
Results: [1x8 table]
PricerData: [1x1 struct]
outPR.Results
ans=1×8 table
Price Delta Gamma Lambda Rho Theta Vega VegaLT
______ ___________ __________ __________ _______ ______ _______ _________
32.635 -0.00089196 -0.0025511 -0.0027878 -76.828 1.1334 -0.2616 -0.002986
Этот пример показывает рабочий процесс, чтобы оценить DoubleBarrier инструмент, когда вы используете BlackScholes модель и AssetMonteCarlo метод ценообразования.
Создайте DoubleBarrier Инструментальный объект
Используйте fininstrument создать DoubleBarrier инструментальный объект.
DoubleBarrierOpt = fininstrument("DoubleBarrier",'Strike',100,'ExerciseDate',datetime(2020,8,15),'OptionType',"call",'ExerciseStyle',"american",'BarrierType',"DKO",'BarrierValue',[110 80],'Name',"doublebarrier_option")
DoubleBarrierOpt =
DoubleBarrier with properties:
OptionType: "call"
Strike: 100
BarrierValue: [110 80]
ExerciseStyle: "american"
ExerciseDate: 15-Aug-2020
BarrierType: "dko"
Rebate: [0 0]
Name: "doublebarrier_option"
Создайте BlackScholes Объект модели
Используйте finmodel создать BlackScholes объект модели.
BlackScholesModel = finmodel("BlackScholes","Volatility",.3)
BlackScholesModel =
BlackScholes with properties:
Volatility: 0.3000
Correlation: 1
Создайте ratecurve Объект
Создайте плоский ratecurve объект с помощью ratecurve.
Settle = datetime(2017,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-2017
InterpMethod: "linear"
ShortExtrapMethod: "next"
LongExtrapMethod: "previous"
Создайте AssetMonteCarlo Объект калькулятора цен
Используйте finpricer создать AssetMonteCarlo объект калькулятора цен и использование ratecurve объект для 'DiscountCurve' аргумент пары "имя-значение".
ExerciseDate = datetime(2020,08,15); Settle = datetime(2017,09,15); outPricer = finpricer("AssetMonteCarlo","DiscountCurve",myRC,"Model",BlackScholesModel,'SpotPrice',100,'simulationDates', Settle+days(1):days(1):ExerciseDate);
Цена DoubleBarrier Инструмент
Используйте price вычислить цену и чувствительность для DoubleBarrier инструмент.
[Price, outPR] = price(outPricer,DoubleBarrierOpt,["all"])Price = 6.9563
outPR =
priceresult with properties:
Results: [1x7 table]
PricerData: [1x1 struct]
outPR.Results
ans=1×7 table
Price Delta Gamma Lambda Rho Theta Vega
______ _______ ________ ______ _______ _______ ______
6.9563 0.23644 -0.11701 3.399 0.14976 -99.727 -8.344
Этот пример показывает рабочий процесс, чтобы оценить DoubleBarrier инструмент, когда вы используете BlackScholes модель и IkedaKunitomo метод ценообразования.
Создайте DoubleBarrier Инструментальный объект
Используйте fininstrument создать DoubleBarrier инструментальный объект.
DoubleBarrierOpt = fininstrument("DoubleBarrier",'Strike',100,'ExerciseDate',datetime(2020,8,15),'OptionType',"call",'ExerciseStyle',"European",'BarrierType',"DKO",'BarrierValue',[110 80],'Name',"doublebarrier_option")
DoubleBarrierOpt =
DoubleBarrier with properties:
OptionType: "call"
Strike: 100
BarrierValue: [110 80]
ExerciseStyle: "european"
ExerciseDate: 15-Aug-2020
BarrierType: "dko"
Rebate: [0 0]
Name: "doublebarrier_option"
Создайте BlackScholes Объект модели
Используйте finmodel создать BlackScholes объект модели.
BlackScholesModel = finmodel("BlackScholes","Volatility",.3)
BlackScholesModel =
BlackScholes with properties:
Volatility: 0.3000
Correlation: 1
Создайте ratecurve Объект
Создайте плоский ratecurve объект с помощью ratecurve.
Settle = datetime(2017,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-2017
InterpMethod: "linear"
ShortExtrapMethod: "next"
LongExtrapMethod: "previous"
Создайте IkedaKunitomo Объект калькулятора цен
Используйте finpricer создать IkedaKunitomo объект калькулятора цен и использование ratecurve объект для 'DiscountCurve' аргумент пары "имя-значение".
outPricer = finpricer("Analytic","DiscountCurve",myRC,"Model",BlackScholesModel,'SpotPrice',100,'Curvature',[0.03 -0.03],'DividendValue',0.029,"PricingMethod","IkedaKunitomo")
outPricer =
IkedaKunitomo with properties:
DiscountCurve: [1x1 ratecurve]
Model: [1x1 finmodel.BlackScholes]
SpotPrice: 100
DividendValue: 0.0290
DividendType: "continuous"
Curvature: [0.0300 -0.0300]
Цена DoubleBarrier Инструмент
Используйте price вычислить цену и чувствительность для DoubleBarrier инструмент.
[Price, outPR] = price(outPricer,DoubleBarrierOpt,["all"])Price = 5.6848e-04
outPR =
priceresult with properties:
Results: [1x7 table]
PricerData: []
outPR.Results
ans=1×7 table
Price Delta Gamma Lambda Vega Theta Rho
__________ ___________ ___________ _______ _________ _________ ___________
0.00056848 -3.7713e-05 -4.2071e-06 -6.6339 -0.031332 0.0008912 -0.00035113
Этот пример показывает рабочий процесс, чтобы оценить DoubleBarrier инструмент, когда вы используете BlackScholes модель и VannaVolga метод ценообразования.
Создайте DoubleBarrier Инструментальный объект
Используйте fininstrument создать DoubleBarrier инструментальный объект.
DoubleBarrierOpt = fininstrument("DoubleBarrier",'Strike',100,'ExerciseDate',datetime(2020,8,15),'OptionType',"call",'ExerciseStyle',"European",'BarrierType',"DKO",'BarrierValue',[110 80],'Name',"doublebarrier_option")
DoubleBarrierOpt =
DoubleBarrier with properties:
OptionType: "call"
Strike: 100
BarrierValue: [110 80]
ExerciseStyle: "european"
ExerciseDate: 15-Aug-2020
BarrierType: "dko"
Rebate: [0 0]
Name: "doublebarrier_option"
Создайте BlackScholes Объект модели
Используйте finmodel создать BlackScholes объект модели.
BlackScholesModel = finmodel("BlackScholes","Volatility",0.02)
BlackScholesModel =
BlackScholes with properties:
Volatility: 0.0200
Correlation: 1
Создайте ratecurve Объект
Создайте плоский ratecurve объект с помощью ratecurve.
Settle = datetime(2019,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-2019
InterpMethod: "linear"
ShortExtrapMethod: "next"
LongExtrapMethod: "previous"
Создайте VannaVolga Объект калькулятора цен
Используйте finpricer создать VannaVolga объект калькулятора цен и использование ratecurve объект для 'DiscountCurve' аргумент пары "имя-значение".
VolRR = -0.0045; VolBF = 0.0037; RateF = 0.0210; outPricer = finpricer("VannaVolga","DiscountCurve",myRC,"Model",BlackScholesModel,'SpotPrice',100,'DividendValue',RateF,'VolatilityRR',VolRR,'VolatilityBF',VolBF)
outPricer =
VannaVolga with properties:
DiscountCurve: [1x1 ratecurve]
Model: [1x1 finmodel.BlackScholes]
SpotPrice: 100
DividendType: "continuous"
DividendValue: 0.0210
VolatilityRR: -0.0045
VolatilityBF: 0.0037
Цена DoubleBarrier Инструмент
Используйте price вычислить цену и чувствительность для DoubleBarrier инструмент.
[Price, outPR] = price(outPricer,DoubleBarrierOpt,["all"])Price = 1.6450
outPR =
priceresult with properties:
Results: [1x7 table]
PricerData: [1x1 struct]
outPR.Results
ans=1×7 table
Price Delta Gamma Lambda Vega Theta Rho
_____ _______ ______ ______ ______ _______ ______
1.645 0.82818 75.662 50.346 14.697 -1.3145 74.666
Опция double barrier похожа на стандартный один барьерный опцион за исключением того, что у них есть два уровня барьера: более низкий барьер (LB) и верхний барьер (UB).
Выплата для двойного барьерного опциона зависит от того, остается ли базовый актив между уровнями барьера во время жизни опции. Двойные барьерные опционы являются менее дорогими, чем один барьерные опционы, когда вероятность того, чтобы быть выведенным из строя выше. Из-за этого, двойные барьерные опционы позволяют инвесторам достигать сокращения опционных премий и совпадать с верой инвестора о будущем перемещении базового ценового процесса.
Существует два типа двойных барьерных опционов:
Двойной удар - в
Эта опция вступает в силу, когда цена базового актива достигает одного из барьеров. Это дает держателю опции право, но не обязательство купить или продать базовый актив по цене исполнения опциона, если базовый актив идет выше или ниже уровней барьера во время жизни опции.
Двойной нокаут
Эта опция дает держателю опции право, но не обязательство купить или продать базовый актив по цене исполнения опциона, пока базовый актив остается между уровнями барьера во время жизни опции. Эта опция завершает работу, когда цена базового актива передает один из барьеров.
Выплата для этого типа опции зависит от того, пересекает ли базовый актив предопределенное триггерное значение (уровень барьера), обозначенный BarrierValue, во время жизни опции. Если опция не может быть осуществлена, потому что уровень барьера или имеет или не был достигнут, фиксированная сумма уступки заплачена. Для получения дополнительной информации смотрите Двойной Барьерный опцион.
После создания DoubleBarrier инструментальный объект с ExerciseStyle установите на "American", можно изменить ExerciseStyle свойство изменить его в "European" использование записи через точку.
DoubleBarrier.ExerciseStyle = "European"
Strike и ExerciseDate значение и американская опция имеют вектор с 2 элементами для Strike и ExerciseDate значения, когда вы превращаетесь в ExerciseStyle от "American" к "European", Strike и ExerciseDate значения становятся последним элементом в векторе с 2 элементами для Strike и ExerciseDate значения.У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.