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