PartialLookback
инструмент
Создайте и оцените PartialLookback
инструментальный объект для одного или нескольких Частичных инструментов Lookback с помощью этого рабочего процесса:
Использование fininstrument
создать PartialLookback
инструментальный объект для одного или нескольких Частичных инструментов Lookback.
Использование finmodel
задавать BlackScholes
, Heston
, Bates
, или Merton
модель для PartialLookback
инструментальный объект.
Выберите метод ценообразования.
При использовании BlackScholes
модель, использовать finpricer
задавать HeynenKat
метод ценообразования для одного или нескольких PartialLookback
инструменты.
При использовании BlackScholes
, Heston
, Bates
, или Merton
модель, использовать finpricer
задавать AssetMonteCarlo
метод ценообразования для одного или нескольких PartialLookback
инструменты.
Для получения дополнительной информации об этом рабочем процессе смотрите Начало работы с Рабочими процессами Используя Основанную на объектах Среду для Оценки Финансовых инструментов.
Для получения дополнительной информации о доступных моделях и методах ценообразования для PartialLookback
инструмент, смотрите, Выбирают Instruments, Models и Pricers.
создает PartialLookbackObj
= fininstrument(InstrumentType
,'ExerciseDate
',exercise_date,'Strike
',strike_value,'MonitorDate
',monitor_date)PartialLookback
объект для одного или нескольких Частичных инструментов Lookback путем определения InstrumentType
и устанавливает свойства для необходимых аргументов пары "имя-значение" Strike
, ExerciseDate
, и MonitorDate
.
PartialLookback
инструмент поддерживает фиксированную забастовку и плавающую забастовку частичные lookback опции. Вычислить значение плавающей забастовки частичная lookback опция, Strike
должен быть задан как NaN
. Для получения дополнительной информации о PartialLookback
инструмент, смотрите Больше О.
дополнительные наборы PartialLookbackObj
= fininstrument(___,Name,Value
)
свойства с помощью дополнительных пар "имя-значение" в дополнение к обязательным аргументам в предыдущем синтаксисе. Например, LookbackObj = fininstrument("Lookback",'Strike',100,'ExerciseDate',datetime(2022,1,30),'MonitorDate',datetime(2021,1,30),'OptionType',"put",'ExerciseStyle',"European",'Name',"partial_lookback_option")
создает PartialLookback
пут-опцион с европейским осуществлением. Можно задать несколько аргументов пары "имя-значение".
InstrumentType
— Инструментальный тип"PartialLookback"
| массив строк со значениями "PartialLookback"
| вектор символов со значением 'PartialLookback'
| массив ячеек из символьных векторов со значениями 'PartialLookback'
Инструментальный тип в виде строки со значением "PartialLookback"
, вектор символов со значением 'PartialLookback'
, NINST
- 1
массив строк со значениями "PartialLookback"
, или NINST
- 1
массив ячеек из символьных векторов со значениями 'PartialLookback'
.
Типы данных: char |
cell
| string
PartialLookback
Аргументы в виде пар имя-значениеЗадайте требуемые и дополнительные разделенные запятой пары Name,Value
аргументы. Name
имя аргумента и Value
соответствующее значение. Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN
.
LookbackObj = fininstrument("Lookback",'Strike',100,'ExerciseDate',datetime(2019,1,30),'OptionType',"put",'ExerciseStyle',"European",'Name',"lookback_option")
Lookback
Аргументы в виде пар имя-значениеStrike
— Значение цены исполнения опциона опцииNaN
Значение цены исполнения опциона опции в виде разделенной запятой пары, состоящей из 'Strike'
и скаляр, неотрицательный числовой или NINST
- 1
вектор из неотрицательных значений для фиксированной забастовки PartialLookback
опция. Для плавающей забастовки частичная lookback опция задайте 'Strike'
как NaN
или NINST
- 1
вектор из NaN
s.
Типы данных: double
ExerciseDate
— Дата осуществления опцииДата осуществления опции в виде разделенной запятой пары, состоящей из 'ExerciseDate'
и скалярный datetime, последовательный номер даты, вектор символов даты, строка даты или NINST
- 1
вектор из datetimes, последовательных чисел даты, массива ячеек векторов символов даты или массива строки даты.
Примечание
Для европейской опции существует только один ExerciseDate
на дате окончания срока действия опции.
Если вы используете векторы символов даты или строки даты, формат должен быть распознаваемым datetime
потому что ExerciseDate
свойство хранится как datetime.
Типы данных: double |
char
| cell
| string
| datetime
MonitorDate
— Предопределенный lookback контролирующая датаПредопределенный lookback контролирующая дата в виде разделенной запятой пары, состоящей из 'MonitorDate'
и скалярный datetime, последовательный номер даты, вектор символов даты, строка даты или NINST
- 1
вектор из datetimes, последовательных чисел даты, массива ячеек векторов символов даты или массива строки даты.
Для фиксированной забастовки частичный lookback контрольным периодом является [MonitorDate
, ExerciseDate
]. MonitorDate
дата начала фиксированной забастовки частичная lookback опция.
Для плавающей забастовки частичный lookback контрольным периодом является [Settle
, MonitorDate
], где Settle
<MonitorDate
<ExerciseDate
. MonitorDate
дата окончания плавающей забастовки частичная lookback опция.
Если вы используете векторы символов даты или строки даты, формат должен быть распознаваемым datetime
потому что ExerciseDate
свойство хранится как datetime.
Типы данных: double |
char
| cell
| string
| datetime
PartialLookback
Аргументы в виде пар имя-значение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
массив ячеек из символьных векторов или массив строк.
Типы данных: string
| cell
| char
AssetMinMax
— Максимальная или минимальная цена базового активаNaN
где SpotPrice
из базового актива используется (значение по умолчанию) | скаляр, числовой | числовой векторМаксимальная или минимальная цена базового актива в виде разделенной запятой пары, состоящей из 'AssetMinMax'
и числовой скаляр или NINST
- 1
числовой вектор.
Типы данных: double
StrikeScaler
— Степень пристрастия к плавающей забастовке частичный lookback
(значение по умолчанию) | скаляр, числовой | числовой векторСтепень пристрастия к плавающей забастовке частичный lookback в виде разделенной запятой пары, состоящей из 'StrikeScaler'
и числовой скаляр или NINST
- 1
числовой вектор. StrikeScaler
значение указывает на процент Strike
это фиксируется выше или ниже AssetMinMax
значение.
Для плавающей забастовки вызова частичный lookback, StrikeScaler
≥ 1.
Для помещенной плавающей забастовки частичный lookback, 0 <StrikeScaler
≤ 1.
Типы данных: double
Name
— Пользовательское имя для инструмента" "
(значение по умолчанию) | представляет в виде строки | массив строк | вектор символов | массив ячеек из символьных векторовПользовательское имя для одного из большего количества инструментов в виде разделенной запятой пары, состоящей из 'Name'
и скалярная строка или вектор символов или NINST
- 1
массив ячеек из символьных векторов или массив строк.
Типы данных: char |
cell
| string
Strike
— Значение цены исполнения опциона опцииЗначение цены исполнения опциона опции, возвращенное как скаляр, неотрицательный числовой или NINST
- 1
вектор из неотрицательных значений.
Типы данных: double
ExerciseDate
— Дата осуществления опцииДата осуществления опции, возвращенная как скалярный datetime или NINST
- 1
вектор из datetimes.
Типы данных: datetime
MonitorDate
— Предопределенный lookback контролирующая датаПредопределенная контрольная дата, возвращенная как скалярный datetime или NINST
- 1
вектор из datetimes.
Типы данных: datetime
OptionType
— Тип опции"call"
(значение по умолчанию) | представляет в виде строки со значением "call"
или "put"
| массив строк со значениями "call"
или "put"
Тип опции, возвращенный как скалярная строка или NINST
- 1
массив строк со значениями "call"
или "put"
.
Типы данных: string
ExerciseStyle
— Стиль осуществления опции"European"
(значение по умолчанию) | представляет в виде строки со значением "European"
или "American"
| массив строк со значением "European"
или "American"
Стиль осуществления опции, возвращенный как скалярная строка или NINST
- 1
массив строк со значениями "European"
или "American"
.
Типы данных: string
AssetMinMax
— Максимальная или минимальная цена базового активаNaN
где SpotPrice
из базового актива используется (значение по умолчанию) | скаляр, числовой | числовой вектор Максимальная или минимальная цена базового актива, возвращенная как числовой скаляр или NINST
- 1
числовой вектор.
Типы данных: double
StrikeScaler
— Степень пристрастия к частичной плавающей забастовке lookback
(значение по умолчанию) | скаляр, числовой | числовой вектор Степень пристрастия к частичной плавающей забастовке lookback, возвращенный как числовой скаляр или NINST
- 1
числовой вектор.
Типы данных: double
Name
— Пользовательское имя для инструмента" "
(значение по умолчанию) | представляет в виде строки | массив строкПользовательское имя для инструмента, возвращенного как NINST
- 1
массив строк.
Типы данных: string
Этот пример показывает рабочий процесс, чтобы оценить плавающую забастовку PartialLookback
инструмент, когда вы используете BlackScholes
модель и HeynenKat
метод ценообразования.
Создайте PartialLookback
Инструментальный объект
Используйте fininstrument
создать PartialLookback
инструментальный объект.
PartialLookbackOpt = fininstrument("PartialLookback",'ExerciseDate',datetime(2022,9,15),'Strike',NaN,'StrikeScaler', 0.75, 'MonitorDate',datetime(2021,9,15),'OptionType',"put",'ExerciseStyle',"european",'AssetMinMax', 98,'Name',"partial_lookback_option")
PartialLookbackOpt = PartialLookback with properties: MonitorDate: 15-Sep-2021 StrikeScaler: 0.7500 OptionType: "put" Strike: NaN AssetMinMax: 98 ExerciseStyle: "european" ExerciseDate: 15-Sep-2022 Name: "partial_lookback_option"
Создайте BlackScholes
Объект модели
Используйте finmodel
создать BlackScholes
объект модели.
BlackScholesModel = finmodel("BlackScholes",'Volatility',0.32)
BlackScholesModel = BlackScholes with properties: Volatility: 0.3200 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"
Создайте HeynenKat
Объект калькулятора цен
Используйте finpricer
создать HeynenKat
объект калькулятора цен и использование ratecurve
объект для 'DiscountCurve'
аргумент пары "имя-значение".
outPricer = finpricer("analytic",'Model',BlackScholesModel,'DiscountCurve',myRC,'SpotPrice',100,'DividendType',"continuous",'DividendValue',.05,'PricingMethod',"HeynenKat")
outPricer = HeynenKat with properties: DiscountCurve: [1x1 ratecurve] Model: [1x1 finmodel.BlackScholes] SpotPrice: 100 DividendValue: 0.0500 DividendType: "continuous"
Цена PartialLookback
Инструмент
Используйте price
вычислить цену и чувствительность для PartialLookback
инструмент.
[Price, outPR] = price(outPricer,PartialLookbackOpt,["all"])
Price = 24.8148
outPR = priceresult with properties: Results: [1x7 table] PricerData: []
outPR.Results
ans=1×7 table
Price Delta Gamma Lambda Vega Theta Rho
______ _______ ________ ______ ______ _______ _______
24.815 0.27297 0.012438 1.1 131.33 -5.0942 -193.51
Этот пример показывает рабочий процесс, чтобы оценить несколько плавающая забастовка PartialLookback
инструменты, когда вы используете BlackScholes
модель и HeynenKat
метод ценообразования.
Создайте PartialLookback
Инструментальный объект
Используйте fininstrument
создать PartialLookback
инструментальный объект для трех Частичных инструментов Lookback.
PartialLookbackOpt = fininstrument("PartialLookback",'ExerciseDate',datetime([2022,9,15 ; 2022,10,15 ; 2022,11,15]),'Strike',NaN,'StrikeScaler', 0.75, 'MonitorDate',datetime([2021,9,15 ; 2021,10,15 ; 2021,11,15]),'OptionType',"put",'ExerciseStyle',"european",'AssetMinMax', 98,'Name',"partial_lookback_option")
PartialLookbackOpt=3×1 object
3x1 PartialLookback array with properties:
MonitorDate
StrikeScaler
OptionType
Strike
AssetMinMax
ExerciseStyle
ExerciseDate
Name
Создайте BlackScholes
Объект модели
Используйте finmodel
создать BlackScholes
объект модели.
BlackScholesModel = finmodel("BlackScholes",'Volatility',0.32)
BlackScholesModel = BlackScholes with properties: Volatility: 0.3200 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"
Создайте HeynenKat
Объект калькулятора цен
Используйте finpricer
создать HeynenKat
объект калькулятора цен и использование ratecurve
объект для 'DiscountCurve'
аргумент пары "имя-значение".
outPricer = finpricer("analytic",'Model',BlackScholesModel,'DiscountCurve',myRC,'SpotPrice',100,'DividendType',"continuous",'DividendValue',.05,'PricingMethod',"HeynenKat")
outPricer = HeynenKat with properties: DiscountCurve: [1x1 ratecurve] Model: [1x1 finmodel.BlackScholes] SpotPrice: 100 DividendValue: 0.0500 DividendType: "continuous"
Цена PartialLookback
Инструменты
Используйте price
вычислить цены и чувствительность для PartialLookback
инструменты.
[Price, outPR] = price(outPricer,PartialLookbackOpt,["all"])
Price = 3×1
24.8148
25.2306
25.6545
outPR=3×1 object
3x1 priceresult array with properties:
Results
PricerData
outPR.Results
ans=1×7 table
Price Delta Gamma Lambda Vega Theta Rho
______ _______ ________ ______ ______ _______ _______
24.815 0.27297 0.012438 1.1 131.33 -5.0942 -193.51
ans=1×7 table
Price Delta Gamma Lambda Vega Theta Rho
______ _______ ________ ______ ______ _______ _______
25.231 0.27694 0.012349 1.0976 133.05 -5.0265 -198.37
ans=1×7 table
Price Delta Gamma Lambda Vega Theta Rho
______ _______ ________ ______ ______ _______ ______
25.655 0.28099 0.012264 1.0953 134.81 -4.9578 -203.4
Этот пример показывает рабочий процесс, чтобы оценить фиксированную забастовку PartialLookback
инструмент, когда вы используете Heston
модель и AssetMonteCarlo
метод ценообразования.
Создайте PartialLookback
Инструментальный объект
Используйте fininstrument
создать PartialLookback
инструментальный объект.
PartialLookbackOpt = fininstrument("PartialLookback",'ExerciseDate',datetime(2022,9,15),'Strike',102, 'MonitorDate',datetime(2021,9,15),'OptionType',"call",'ExerciseStyle',"european",'Name',"partial_lookback_option")
PartialLookbackOpt = PartialLookback with properties: MonitorDate: 15-Sep-2021 StrikeScaler: 1 OptionType: "call" Strike: 102 AssetMinMax: NaN ExerciseStyle: "european" ExerciseDate: 15-Sep-2022 Name: "partial_lookback_option"
Создайте Heston
Объект модели
Используйте finmodel
создать Hestone
объект модели.
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',100,'simulationDates',Settle+calmonths(1):calmonths(1):datetime(2022,9,15))
outPricer = HestonMonteCarlo with properties: DiscountCurve: [1x1 ratecurve] SpotPrice: 100 SimulationDates: [15-Oct-2018 15-Nov-2018 15-Dec-2018 ... ] NumTrials: 1000 RandomNumbers: [] Model: [1x1 finmodel.Heston] DividendType: "continuous" DividendValue: 0
Цена PartialLookback
Инструмент
Используйте price
вычислить цену и чувствительность для PartialLookback
инструмент.
[Price, outPR] = price(outPricer,PartialLookbackOpt,["all"])
Price = 19.9479
outPR = priceresult with properties: Results: [1x8 table] PricerData: [1x1 struct]
outPR.Results
ans=1×8 table
Price Delta Gamma Lambda Rho Theta Vega VegaLT
______ _______ _________ ______ ______ ______ _____ ______
19.948 0.93159 0.0084898 4.6701 283.87 1.9218 48.04 2.666
Опция partial lookback дает инвестору право осуществить опцию с самым высоким (или самый низкий) цена актива подчиненного в частичный lookback период.
Частичные lookback опции называются дробными lookback опциями потому что:
Экстремумы (Smax и Smin) проверены во время подмножества жизней опций
Только часть значений плавающей забастовки в действительности
Для последнего введен фактор λ (lambda). λ фактор, представленный дополнительным аргументом StrikeScaler
значения имени, константа и включает создание дробной плавающей забастовки lookback опция, где забастовка фиксируется на уровне некоторого процента выше или ниже фактических экстремумов (Smax и Smin).
Для вызовов, когда λ ≥ 1, вызов, пускающий в ход увеличения забастовки
Для помещает, когда 0 ≤ λ ≤ 1, помещенная плавающая забастовка уменьшается
Программное обеспечение Financial Instruments Toolbox™ поддерживает два типа частичных lookback опций: зафиксированный и плавание. Частичная lookback опция фиксированной забастовки похожа на стандартную фиксированную забастовку lookback опция, но lookback период запускается в предопределенную дату (T) после расчетного дня опции. Выплата для этого опции
Max (0, Smax - K) для вызова
Max (0, K-Smin) для помещенного
где
Smax является максимальным значением базового актива во время контрольного периода.
Smin является минимальным значением базового актива во время контрольного периода.
K является ценой исполнения опциона.
Плавающая забастовка частичная lookback опция похожа на стандартную плавающую забастовку lookback опция, но lookback период запускается в, обосновывается и концы в предопределенную дату (T) перед истечением.
Выплата для этого опции
Max (0, S - λ × Smin) для вызова
Max (0, λ × Smax - S) для помещенного
где
Smax является максимальным значением базового актива во время контрольного периода.
Smin является минимальным значением базового актива во время контрольного периода.
K является ценой исполнения опциона.
S является ценой базового актива.
λ, представленный StrikeScaler
, степень пристрастия.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.