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