DoubleTouch
инструментальный объект
Создайте и оцените DoubleTouch
инструментальный объект для одного из большего количества Двойных Сенсорных инструментов с помощью этого рабочего процесса:
Использование fininstrument
создать DoubleTouch
инструментальный объект для одного из большего количества Двойных Сенсорных инструментов.
Использование finmodel
задавать BlackScholes
, Bates
, Merton
, или Heston
модель для DoubleTouch
инструментальный объект.
Выберите метод ценообразования.
При использовании BlackScholes
модель, использовать finpricer
задавать BlackScholes
или VannaVolga
метод ценообразования для одного или нескольких DoubleTouch
инструменты.
При использовании BlackScholes
, Heston
, Bates
, или Merton
модель, использовать finpricer
задавать AssetMonteCarlo
метод ценообразования для одного или нескольких DoubleTouch
инструменты.
Для получения дополнительной информации об этом рабочем процессе смотрите Начало работы с Рабочими процессами Используя Основанную на объектах Среду для Оценки Финансовых инструментов.
Для получения дополнительной информации о доступных моделях и методах ценообразования для DoubleTouch
инструмент, смотрите, Выбирают Instruments, Models и Pricers.
создает DoubleTouchOpt
= fininstrument(InstrumentType
,'ExerciseDate
',exercise_date,'BarrierValue
',barrier_value,'PayoffValue
',payoff_value)DoubleTouch
объект для одного из большего количества Двойных Сенсорных инструментов путем определения InstrumentType
и свойства наборов с помощью необходимых аргументов пары "имя-значение" ExerciseDate
, BarrierValue
, и PayoffValue
.
устанавливает дополнительные свойства с помощью дополнительных аргументов пары "имя-значение" в дополнение к обязательным аргументам в предыдущем синтаксисе. Например, DoubleTouchOpt
= fininstrument(___,Name,Value
)DoubleTouchOpt = fininstrument("DoubleTouch",'Strike',100,'ExerciseDate',datetime(2019,1,30),'BarrierValue',110,'PayoffValue',150,'BarrierType',"DOT",'PayoffType',"Expiry",'Name',"DoubleTouch_option")
создает DoubleTouch
опция с типом выплаты Expiry
. Можно задать несколько аргументов пары "имя-значение".
InstrumentType
— Инструментальный тип"DoubleTouch"
| массив строк со значениями "DoubleTouch"
| вектор символов со значением 'DoubleTouch'
| массив ячеек из символьных векторов со значениями 'DoubleTouch'
Инструментальный тип в виде строки со значением "DoubleTouch"
, вектор символов со значением 'DoubleTouch'
, NINST
- 1
массив строк со значениями "DoubleTouch"
, или NINST
- 1
массив ячеек из символьных векторов со значениями 'DoubleTouch'
.
Типы данных: char |
cell
| string
DoubleTouch
Аргументы в виде пар имя-значениеЗадайте требуемые и дополнительные разделенные запятой пары Name,Value
аргументы. Name
имя аргумента и Value
соответствующее значение. Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN
.
DoubleTouchOpt = fininstrument("DoubleTouch",'Strike',100,'ExerciseDate',datetime(2019,1,30),'BarrierValue',110,'OptionType',"put",'ExerciseStyle',"European",'BarrierType',"DO",'Name',"DoubleTouch_option")
DoubleTouch
Аргументы в виде пар имя-значениеExerciseDate
— Дата осуществления опцииДата осуществления опции в виде разделенной запятой пары, состоящей из 'ExerciseDate'
и скалярный datetime, последовательный номер даты, вектор символов даты, строка даты или NINST
- 1
вектор из datetimes, последовательных чисел даты, массива ячеек векторов символов даты или массива строки даты.
Если вы используете векторы символов даты или строки даты, формат должен быть распознаваемым datetime
потому что ExerciseDate
свойство хранится как datetime.
Типы данных: double |
char
| string
| datetime
BarrierValue
— Уровни барьера опцииУровни барьера опции в виде разделенной запятой пары, состоящей из 'BarrierValue'
и NINST
- 2
матрица числовых значений, где первый столбец является Верхним Барьером (1) (UB) и второй столбец, является Более низким Барьером (2) (LB). Барьер (1) должен быть больше Барьера (2).
Типы данных: double
PayoffValue
— Значение выплатыЗначение выплаты в виде разделенной запятой пары, состоящей из 'PayoffValue'
и NINST
- 1
матрица числовых значений, где каждым элементом является 1
- 2
вектором, в котором первым столбцом является Барьер (1) (UB) и второй столбец, является Барьер (2) (LB). Барьер (1) должен быть больше Барьера (2).
Примечание
Значение выплаты вычисляется для момента времени что BarrierValue
достигнут. Выплата является или наличными деньгами или ничем. Если вы задаете двойную опцию без касания с помощью BarrierType
, выплата в зрелости опции.
Типы данных: double
DoubleTouch
Аргументы в виде пар имя-значениеBarrierType
— Двойной тип барьера"DOT"
(значение по умолчанию) | представляет в виде строки со значением "DOT"
, "DNT"
, "UNT-LOT"
, или "UOT-LNT"
| массив строк со значениями "DOT"
, "DNT"
, "UNT-LOT"
, или "UOT-LNT"
| вектор символов со значением 'DOT'
, 'DNT'
, 'UNT-LOT'
, или 'UOT-LNT'
| массив ячеек из символьных векторов со значениями 'DOT'
, 'DNT'
, 'UNT-LOT'
, или 'UOT-LNT'
Двойной тип барьера в виде разделенной запятой пары, состоящей из 'BarrierType'
и строка или вектор символов или NINST
- 1
массив ячеек из символьных векторов или массив строк с одним из следующих значений:
'DOT'
— Двойное одно касание. Двойная опция с одним касанием задает два BarrierValue
значения. Двойная опция с одним касанием обеспечивает PayoffValue
если базовый актив когда-нибудь касается или верхнего или более низкого BarrierValue
значения.
'DNT'
— Дважды без касания. Двойная опция без касания задает два BarrierValue
значения. Двойная опция без касания обеспечивает PayoffValue
если базовый актив когда-нибудь никогда не касается или верхнего или более низкого BarrierValue
значения.
'UNT-LOT'
— Верхний BarrierValue
не Касание и Более низкий BarrierValue
одно Касание.
'UOT-LNT'
— Верхний BarrierValue
Одно Касание и Более низкий BarrierValue
не Касание.
Типы данных: char |
cell
| string
PayoffType
— Тип выплаты "Hit"
(значение по умолчанию) | представляет в виде строки со значением "Hit"
или "Expiry"
| строковые массивы со значениями "Hit"
или "Expiry"
| вектор символов со значением 'Hit'
или 'Expiry'
| массив ячеек из символьных векторов со значениями 'Hit'
или 'Expiry'
Тип выплаты в виде разделенной запятой пары, состоящей из 'PayoffType'
и скалярная строка или вектор символов или NINST
- 1
массив ячеек из символьных векторов или массив строк. Вы не можете использовать, задают "Expiry"
при использовании BarrierType
из 'DNT'
.
Примечание
Когда вы используете BlackScholes
калькулятор цен, только "Expiry"
PayoffType
поддерживается.
Типы данных: char |
cell
| string
Name
— Пользовательское имя для инструмента" "
(значение по умолчанию) | представляет в виде строки | массив строк | вектор символов | массив ячеек из символьных векторовПользовательское имя для инструмента в виде разделенной запятой пары, состоящей из 'Name'
и скалярная строка или вектор символов или NINST
- 1
массив ячеек из символьных векторов или массив строк.
Типы данных: char |
cell
| string
ExerciseDate
— Дата осуществления опцииДата осуществления опции, возвращенная как datetime или NINST
- 1
вектор из datetimes.
Типы данных: datetime
BarrierValue
— Уровень барьераУровень барьера, возвращенный как числовая матрица.
Типы данных: double
PayoffValue
— Выплата опцииВыплата опции, возвращенная как числовая матрица.
Типы данных: double
BarrierType
— Двойной тип барьера"DOT"
(значение по умолчанию) | представляет в виде строки со значением "DOT"
, "DNT"
, "UNT-LOT"
, или "UOT-LNT"
| массив строк со значениями "DOT"
, "DNT"
, "UNT-LOT"
, или "UOT-LNT"
Двойной тип барьера, возвращенный как скалярная строка или NINST
- 1
массив строк.
Типы данных: string
PayoffType
— Тип выплаты "Hit"
(значение по умолчанию) | представляет в виде строки со значением "Hit"
или "Expiry"
| массив строк со значениями "Hit"
или "Expiry"
Тип опции, возвращенный как строка или NINST
- 1
массив строк.
Типы данных: string
Name
— Пользовательское имя для инструмента" "
(значение по умолчанию) | представляет в виде строки | массив строкПользовательское имя для инструмента, возвращенного как строка или NINST
- 1
массив строк.
Типы данных: string
Этот пример показывает рабочий процесс, чтобы оценить DoubleTouch
инструмент, когда вы используете BlackScholes
модель и AssetMonteCarlo
метод ценообразования.
Создайте DoubleTouch
Инструментальный объект
Используйте fininstrument
создать DoubleTouch
инструментальный объект.
DoubleTouchOpt = fininstrument("DoubleTouch",'ExerciseDate',datetime(2022,9,15),'BarrierValue',[110 90],'PayoffValue',50,'BarrierType',"DOT",'Name',"doubletouch_option")
DoubleTouchOpt = DoubleTouch with properties: ExerciseDate: 15-Sep-2022 BarrierValue: [110 90] PayoffValue: 50 BarrierType: "dot" PayoffType: "expiry" Name: "doubletouch_option"
Создайте BlackScholes
Объект модели
Используйте finmodel
создать BlackScholes
объект модели.
BlackScholesModel = finmodel("BlackScholes",'Volatility',.2)
BlackScholesModel = BlackScholes with properties: Volatility: 0.2000 Correlation: 1
Создайте 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",BlackScholesModel,'SpotPrice',102,'simulationDates',datetime(2022,9,15))
outPricer = GBMMonteCarlo with properties: DiscountCurve: [1x1 ratecurve] SpotPrice: 102 SimulationDates: 15-Sep-2022 NumTrials: 1000 RandomNumbers: [] Model: [1x1 finmodel.BlackScholes] DividendType: "continuous" DividendValue: 0
Цена DoubleTouch
Инструмент
Используйте price
вычислить цену и чувствительность для DoubleTouch
инструмент.
[Price, outPR] = price(outPricer,DoubleTouchOpt,["all"])
Price = 43.3860
outPR = priceresult with properties: Results: [1x7 table] PricerData: [1x1 struct]
outPR.Results
ans=1×7 table
Price Delta Gamma Lambda Rho Theta Vega
______ _________ _________ ________ _______ ______ ______
43.386 0.0043916 0.0018346 0.010325 -173.28 1.4722 1.8176
Этот пример показывает рабочий процесс, чтобы оценить несколько DoubleTouch
инструменты, когда вы используете BlackScholes
модель и BlackScholes
метод ценообразования.
Создайте DoubleTouch
Инструментальный объект
Используйте fininstrument
создать DoubleTouch
инструментальный объект для трех Двойных Сенсорных инструментов.
DoubleTouchOpt = fininstrument("DoubleTouch",'ExerciseDate',datetime([2022,9,15 ; 2022,10,15 ; 2022,11,15]),'BarrierValue',[115 95],'PayoffValue',[70 ; 89 ; 90],'BarrierType',"UNT-LOT",'Name',"doubletouch_option")
DoubleTouchOpt=3×1 object
3x1 DoubleTouch array with properties:
ExerciseDate
BarrierValue
PayoffValue
BarrierType
PayoffType
Name
Создайте BlackScholes
Объект модели
Используйте finmodel
создать BlackScholes
объект модели.
BlackScholesModel = finmodel("BlackScholes",'Volatility',0.28)
BlackScholesModel = BlackScholes with properties: Volatility: 0.2800 Correlation: 1
Создайте 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"
Создайте BlackScholes
Объект калькулятора цен
Используйте finpricer
создать BlackScholes
объект калькулятора цен и использование ratecurve
объект для 'DiscountCurve'
аргумент пары "имя-значение".
outPricer = finpricer("analytic",'DiscountCurve',myRC,'Model',BlackScholesModel,'SpotPrice',100,'DividendValue',0.045)
outPricer = BlackScholes with properties: DiscountCurve: [1x1 ratecurve] Model: [1x1 finmodel.BlackScholes] SpotPrice: 100 DividendValue: 0.0450 DividendType: "continuous"
Цена DoubleTouch
Инструменты
Используйте price
вычислить цены и чувствительность для DoubleTouch
инструменты.
[Price, outPR] = price(outPricer,DoubleTouchOpt,["all"])
Price = 3×1
52.6903
66.9920
67.7447
outPR=3×1 object
3x1 priceresult array with properties:
Results
PricerData
outPR.Results
ans=1×7 table
Price Delta Gamma Lambda Vega Theta Rho
_____ _______ __________ _______ _______ _____ _______
52.69 -3.4708 -0.0041339 -6.5871 -1.3469 0 -35.883
ans=1×7 table
Price Delta Gamma Lambda Vega Theta Rho
______ _______ _________ _______ _______ _____ _______
66.992 -4.4128 -0.005258 -6.5871 -1.7125 0 -45.623
ans=1×7 table
Price Delta Gamma Lambda Vega Theta Rho
______ _______ __________ _______ _______ _____ _______
67.745 -4.4624 -0.0053149 -6.5871 -1.7318 0 -46.135
Этот пример показывает рабочий процесс, чтобы оценить DoubleTouch
инструмент, когда вы используете Bates
модель и AssetMonteCarlo
метод ценообразования.
Создайте DoubleTouch
Инструментальный объект
Используйте fininstrument
создать DoubleTouch
инструментальный объект.
DoubleTouchOpt = fininstrument("DoubleTouch",'ExerciseDate',datetime(2022,9,15),'BarrierValue',[115 95],'PayoffValue',40,'BarrierType',"DOT",'Name',"doubletouch_option")
DoubleTouchOpt = DoubleTouch with properties: ExerciseDate: 15-Sep-2022 BarrierValue: [115 95] PayoffValue: 40 BarrierType: "dot" PayoffType: "expiry" Name: "doubletouch_option"
Создайте Bates
Объект модели
Используйте finmodel
создать Bates
объект модели.
BatesModel = finmodel("Bates",'V0',0.032,'ThetaV',0.1,'Kappa',0.003,'SigmaV',0.2,'RhoSV',0.9,'MeanJ',0.11,'JumpVol',.023,'JumpFreq',0.02)
BatesModel = Bates with properties: V0: 0.0320 ThetaV: 0.1000 Kappa: 0.0030 SigmaV: 0.2000 RhoSV: 0.9000 MeanJ: 0.1100 JumpVol: 0.0230 JumpFreq: 0.0200
Создайте 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",BatesModel,'SpotPrice',102,'simulationDates',datetime(2022,9,15))
outPricer = BatesMonteCarlo with properties: DiscountCurve: [1x1 ratecurve] SpotPrice: 102 SimulationDates: 15-Sep-2022 NumTrials: 1000 RandomNumbers: [] Model: [1x1 finmodel.Bates] DividendType: "continuous" DividendValue: 0
Цена DoubleTouch
Инструмент
Используйте price
вычислить цену и чувствительность для DoubleTouch
инструмент.
[Price, outPR] = price(outPricer,DoubleTouchOpt,["all"])
Price = 34.7743
outPR = priceresult with properties: Results: [1x8 table] PricerData: [1x1 struct]
outPR.Results
ans=1×8 table
Price Delta Gamma Lambda Rho Theta Vega VegaLT
______ _____ _____ ______ _______ ______ ____ ______
34.774 0 0 0 -139.07 1.2179 0 0
Этот пример показывает рабочий процесс, чтобы оценить DoubleTouch
инструмент, когда вы используете BlackScholes
модель и BlackScholes
метод ценообразования.
Создайте DoubleTouch
Инструментальный объект
Используйте fininstrument
создать DoubleTouch
инструментальный объект.
DoubleTouchOpt = fininstrument("DoubleTouch",'ExerciseDate',datetime(2022,9,15),'BarrierValue',[115 95],'PayoffValue',70,'BarrierType',"UNT-LOT",'Name',"doubletouch_option")
DoubleTouchOpt = DoubleTouch with properties: ExerciseDate: 15-Sep-2022 BarrierValue: [115 95] PayoffValue: 70 BarrierType: "unt-lot" PayoffType: "expiry" Name: "doubletouch_option"
Создайте BlackScholes
Объект модели
Используйте finmodel
создать BlackScholes
объект модели.
BlackScholesModel = finmodel("BlackScholes",'Volatility',0.28)
BlackScholesModel = BlackScholes with properties: Volatility: 0.2800 Correlation: 1
Создайте 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"
Создайте BlackScholes
Объект калькулятора цен
Используйте finpricer
создать BlackScholes
объект калькулятора цен и использование ratecurve
объект для 'DiscountCurve'
аргумент пары "имя-значение".
outPricer = finpricer("analytic",'DiscountCurve',myRC,'Model',BlackScholesModel,'SpotPrice',100,'DividendValue',0.045)
outPricer = BlackScholes with properties: DiscountCurve: [1x1 ratecurve] Model: [1x1 finmodel.BlackScholes] SpotPrice: 100 DividendValue: 0.0450 DividendType: "continuous"
Цена DoubleTouch
Инструмент
Используйте price
вычислить цену и чувствительность для DoubleTouch
инструмент.
[Price, outPR] = price(outPricer,DoubleTouchOpt,["all"])
Price = 52.6903
outPR = priceresult with properties: Results: [1x7 table] PricerData: []
outPR.Results
ans=1×7 table
Price Delta Gamma Lambda Vega Theta Rho
_____ _______ __________ _______ _______ _____ _______
52.69 -3.4708 -0.0041339 -6.5871 -1.3469 0 -35.883
Double touch и опции double no-touch работают одинаково как Touch
опция, но имеют два барьера.
Дважды затроньте и удвойтесь опция, без касания обеспечивает выплату, если базовое пятно когда-нибудь (никогда) не касается или верхних или более низких уровней барьеров. Для получения дополнительной информации смотрите Одно Касание и Удвойте Опции С одним касанием.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.