Cap инструментальный объект
Создайте и оцените Cap инструментальный объект для одного или нескольких инструментов Кэпа с помощью этого рабочего процесса:
Использование fininstrument создать Cap инструментальный объект для одного или нескольких инструментов Кэпа.
Использование finmodel задавать HullWhite, BlackKarasinski, Black, Normal, BraceGatarekMusiela, SABRBraceGatarekMusiela, или LinearGaussian2F модель для Cap инструментальный объект.
Выберите метод ценообразования.
При использовании HullWhite, BlackKarasinski, Black, или Normal модель, использовать finpricer задавать Normal, Black, HullWhite, или IRTree метод ценообразования для одного или нескольких Cap инструменты.
При использовании HullWhite, BraceGatarekMusiela, SABRBraceGatarekMusiela, или LinearGaussian2F модель, использовать finpricer задавать IRMonteCarlo метод ценообразования для одного или нескольких Cap инструменты.
Для получения дополнительной информации об этом рабочем процессе смотрите Начало работы с Рабочими процессами Используя Основанную на объектах Среду для Оценки Финансовых инструментов.
Для получения дополнительной информации о доступных моделях и методах ценообразования для Cap инструмент, смотрите, Выбирают Instruments, Models и Pricers.
создает CapOpt = fininstrument(InstrumentType,'Strike',strike_value,'Maturity',maturity_date)Cap объект для одного или нескольких инструментов Кэпа путем определения InstrumentType и устанавливает свойства для необходимых аргументов пары "имя-значение" Strike и Maturity.
Cap инструмент поддерживает дно амортизации и ваниль.
устанавливает дополнительные свойства с помощью дополнительных пар "имя-значение" в дополнение к обязательным аргументам в предыдущем синтаксисе. Например, CapOpt = fininstrument(___,Name,Value)CapOpt = fininstrument("Cap",'Strike',0.65,'Maturity',datetime(2019,1,30),'Reset',4,'Principal',100,'ResetOffset',1,'Basis',1,'DaycountAdjustedCashFlow',true,'BusinessDayConvention',"follow",'ProjectionCurve',ratecurve_object,'Name',"cap_option") создает Cap опция с забастовкой 0,65. Можно задать несколько аргументов пары "имя-значение".
InstrumentType — Инструментальный тип"Cap" | массив строк со значениями "Cap" | вектор символов со значением 'Cap' | массив ячеек из символьных векторов со значениями 'Cap'Инструментальный тип в виде строки со значением "Cap", вектор символов со значением 'Cap', NINST- 1 массив строк со значениями "Cap", или NINST- 1 массив ячеек из символьных векторов со значениями 'Cap'.
Типы данных: char | cell | string
Cap Аргументы в виде пар имя-значениеЗадайте требуемые и дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.
CapOpt = fininstrument("Cap",'Strike',0.65,'Maturity',datetime(2019,1,30),'Reset',4,'Principal',100,'ResetOffset',1,'Basis',1,'DaycountAdjustedCashFlow',true,'BusinessDayConvention',"follow",'ProjectionCurve',ratecurve_object,'Name',"cap_option")Cap Аргументы в виде пар имя-значениеStrike — Цена исполнения опциона днаЦена исполнения опциона дна в виде разделенной запятой пары, состоящей из 'Strike' и скалярное неотрицательное десятичное значение или NINST- 1 неотрицательный числовой вектор.
Типы данных: double
Maturity — Дата погашения днаДата погашения дна в виде разделенной запятой пары, состоящей из 'ExerciseDate' и скалярный datetime, последовательный номер даты, вектор символов даты, строка даты или NINST- 1 вектор из datetimes, последовательных чисел даты, массива ячеек векторов символов даты или массива строки даты.
Если вы используете векторы символов даты или строки даты, формат должен быть распознаваемым datetime потому что Maturity свойство хранится как datetime.
Типы данных: double | char | cell | string | datetime
Cap Аргументы в виде пар имя-значениеReset — Сбросьте платежи частоты в год
(значение по умолчанию) | числовой со значением 0, 1, 2, 3, 4, 6, или 12 | числовой вектор со значениями 0, 1, 2, 3, 4, 6, или 12Сбросьте платежи частоты в год в виде разделенной запятой пары, состоящей из 'Reset' и числовой скаляр или NINST- 1 числовой вектор.
Типы данных: double
Basis — Дневной базис количества (фактическое/фактическое) (значение по умолчанию) | целое число от 0 к 13 | вектор из целых чисел от 0 к 13Дневной базис количества в виде разделенной запятой пары, состоящей из 'Basis' и скалярное целое число или NINST- 1 вектор из целых чисел со следующими значениями:
0 — фактический/фактический
1 — 30/360 (СИА)
2 — фактический/360
3 — фактический/365
4 — 30/360 (PSA)
5 — 30/360 (ISDA)
6 — 30/360 (европеец)
7 — фактический/365 (японский язык)
8 — фактический/фактический (ICMA)
9 — фактический/360 (ICMA)
10 — фактический/365 (ICMA)
11 — 30/360E (ICMA)
12 — фактический/365 (ISDA)
13 — ШИНА/252
Для получения дополнительной информации смотрите Базис.
Типы данных: double
Principal — Основная сумма или основное расписание значения
(значение по умолчанию) | скаляр, числовой | числовой вектор | расписаниеОсновная сумма или основное значение планируют в виде разделенной запятой пары, состоящей из 'Principal' и числовой скаляр или NINST- 1 числовой вектор или расписание.
Principal принимает a timetable, где первый столбец является датами, и второй столбец является своим связанным основным значением. Дата указывает в последний день, что основное значение допустимо.
Примечание
Если вы создаете один или несколько Cap инструменты и использование расписание, спецификация расписания применяется ко всему Cap инструменты. Principal не принимает NINST- 1 массив ячеек расписаний, как введено.
Типы данных: double | timetable
ResetOffset — Отстаньте в установлении норм
(значение по умолчанию) | скаляр, числовой | числовой векторОтстаньте в установлении норм в виде разделенной запятой пары, состоящей из 'ResetOffset' и числовой скаляр или NINST- 1 числовой вектор.
Типы данных: double
DaycountAdjustedCashFlow — Отметьте, чтобы настроить потоки наличности на основе фактического дневного количества периодаfalse
(значение по умолчанию) | значение true или false | вектор из значений true или falseОтметьте, чтобы настроить потоки наличности на основе фактического дневного количества периода в виде разделенной запятой пары, состоящей из 'DaycountAdjustedCashFlow' и скаляр или NINST- 1 вектор со значениями true или false.
Типы данных: логический
BusinessDayConvention — Соглашения рабочего дня"actual"
(значение по умолчанию) | представляет в виде строки | массив строк | вектор символов | массив ячеек из символьных векторовСоглашения рабочего дня в виде разделенной запятой пары, состоящей из 'BusinessDayConvention' и скалярная строка или вектор символов или NINST- 1 массив ячеек из символьных векторов или массив строк для соглашения рабочего дня. Выбор для соглашения рабочего дня определяет, как обработаны нерабочие дни. Нерабочие дни заданы как выходные плюс любая другая дата, что компании не открыты (например, установленные законом праздники). Значения:
"actual" — Нерабочие дни эффективно проигнорированы. Потоки наличности, которые падают в нерабочие дни, приняты, чтобы быть распределенными в фактическую дату.
"follow" — Потоки наличности, которые падают в нерабочий день, приняты, чтобы быть распределенными в следующий рабочий день.
"modifiedfollow" — Потоки наличности, которые падают в нерабочий день, приняты, чтобы быть распределенными в следующий рабочий день. Однако, если следующий рабочий день находится в различном месяце, предыдущий рабочий день принят вместо этого.
"previous" — Потоки наличности, которые падают в нерабочий день, приняты, чтобы быть распределенными в предыдущий рабочий день.
"modifiedprevious" — Потоки наличности, которые падают в нерабочий день, приняты, чтобы быть распределенными в предыдущий рабочий день. Однако, если предыдущий рабочий день находится в различном месяце, следующий рабочий день принят вместо этого.
Типы данных: char | cell | string
Holidays — Праздники используются в вычислении рабочих днейNaT
(значение по умолчанию) | datetimes | массив ячеек из символьных векторов | массив строки даты | последовательные числа датыПраздники, используемые в вычислении рабочих дней в виде разделенной запятой пары, состоящей из 'Holidays' и даты с помощью NINST- 1 вектор из datetimes, последовательных чисел даты, массива ячеек векторов символов даты или массива строки даты. Например:
H = holidays(datetime('today'),datetime(2025,12,15));
CapOpt = fininstrument("Cap",'Strike',100,'Maturity',datetime(2025,12,15),'Holidays',H)Типы данных: double | cell | datetime | string
ProjectionCurve — Кривая уровня используется в генерации будущих потоков наличностиratecurve.empty (значение по умолчанию) | ratecurve возразите | вектор из ratecurve объектыКривая уровня, используемая в проектировании будущих потоков наличности в виде разделенной запятой пары, состоящей из 'ProjectionCurve' и скалярный ratecurve возразите или NINST- 1 вектор из ratecurve объекты. Эти объекты должны быть созданы с помощью ratecurve. Используйте этот дополнительный вход, если прямая кривая отличается от дисконтной кривой.
Типы данных: object
Name — Пользовательское имя для инструмента" "
(значение по умолчанию) | представляет в виде строки | массив строк | вектор символов | массив ячеек из символьных векторовПользовательское имя для одного из большего количества инструментов в виде разделенной запятой пары, состоящей из 'Name' и скалярная строка или вектор символов или NINST- 1 массив ячеек из символьных векторов или массив строк.
Типы данных: char | cell | string
Strike — Значение цены исполнения опциона опцииЗначение цены исполнения опциона опции, возвращенное как скалярное неотрицательное значение или NINST- 1 вектор из неотрицательных значений.
Типы данных: double
Maturity — Дата погашения днаДата погашения дна, возвращенная как скалярный datetime или NINST- 1 вектор из datetimes.
Типы данных: datetime
Reset — Сбросьте платежи частоты в год
(значение по умолчанию) | скаляр, числовой | числовой векторСбросьте платежи частоты в год, возвращенный как числовой скаляр или NINST- 1 числовой вектор.
Типы данных: double
Basis — Дневной базис количества (фактическое/фактическое) (значение по умолчанию) | целое число от 0 к 13 | вектор из целых чисел от 0 к 13Дневной базис количества, возвращенный как скалярное целое число или NINST- 1 вектор из целых чисел.
Типы данных: double
Principal — Основная сумма или основное расписание значения
(значение по умолчанию) | скаляр, числовой | числовой вектор | расписаниеОсновная сумма или основное расписание значения, возвращенное как числовой скаляр или NINST- 1 числовой вектор для основных сумм или расписание для основного расписания значения.
Типы данных: double | timetable
ResetOffset — Отстаньте в установлении норм
(значение по умолчанию) | скаляр, числовой | числовой векторОтстаньте в установлении норм, возвращенном как числовой скаляр или NINST- 1 числовой вектор.
Типы данных: double
DaycountAdjustedCashFlow — Отметьте, чтобы настроить потоки наличности на основе фактического дневного количества периодаfalse
(значение по умолчанию) | значение true или false | вектор из значений true или falseОтметьте, чтобы настроить потоки наличности на основе фактического дневного количества периода, возвращенного как логический скаляр или NINST- 1 вектор со значениями true или false.
Типы данных: логический
BusinessDayConvention — Соглашения рабочего дня"actual"
(значение по умолчанию) | представляет в виде строки | массив строкСоглашения рабочего дня, возвращенные как скалярная строка или NINST- 1 массив строк.
Типы данных: string
Holidays — Праздники используются в вычислении рабочих днейNaT (значение по умолчанию) | вектор из datetimesПраздники используются в вычислении рабочих дней, возвращенных как NINST- 1 вектор из datetimes.
Типы данных: datetime
ProjectionCurve — Кривая уровня используется в генерации будущих потоков наличностиratecurve.empty (значение по умолчанию) | ratecurve возразите | вектор из ratecurve объектыКривая уровня, используемая в проектировании будущих потоков наличности, возвращенных как скалярный ratecurve возразите или NINST- 1 вектор из ratecurve объекты.
Типы данных: object
Name — Пользовательское имя для инструмента" "
(значение по умолчанию) | представляет в виде строки | массив строкПользовательское имя для инструмента, возвращенного как скалярная строка или NINST- 1 массив строк.
Типы данных: string
Этот пример показывает рабочий процесс, чтобы оценить ваниль Cap инструмент при использовании HullWhite модель и HullWhite метод ценообразования.
Создайте Cap Инструментальный объект
Используйте fininstrument создать Cap инструментальный объект.
CapOpt = fininstrument("Cap",'Strike',0.02,'Maturity',datetime(2019,1,30),'Reset',4,'Principal',100,'Basis',8,'Name',"cap_option")
CapOpt =
Cap with properties:
Strike: 0.0200
Maturity: 30-Jan-2019
ResetOffset: 0
Reset: 4
Basis: 8
Principal: 100
ProjectionCurve: [0x0 ratecurve]
DaycountAdjustedCashFlow: 0
BusinessDayConvention: "actual"
Holidays: NaT
Name: "cap_option"
Создайте HullWhite Объект модели
Используйте finmodel создать HullWhite объект модели.
HullWhiteModel = finmodel("HullWhite",'Alpha',0.62,'Sigma',0.99)
HullWhiteModel =
HullWhite with properties:
Alpha: 0.6200
Sigma: 0.9900
Создайте ratecurve Объект
Создайте ratecurve объект с помощью ratecurve.
Settle = datetime(2018,9,15); Type = 'zero'; ZeroTimes = [calmonths(6) calyears([1 2 3 4 5 7 10 20 30])]'; ZeroRates = [0.0052 0.0055 0.0061 0.0073 0.0094 0.0119 0.0168 0.0222 0.0293 0.0307]'; ZeroDates = Settle + ZeroTimes; myRC = ratecurve('zero',Settle,ZeroDates,ZeroRates)
myRC =
ratecurve with properties:
Type: "zero"
Compounding: -1
Basis: 0
Dates: [10x1 datetime]
Rates: [10x1 double]
Settle: 15-Sep-2018
InterpMethod: "linear"
ShortExtrapMethod: "next"
LongExtrapMethod: "previous"
Создайте HullWhite Объект калькулятора цен
Используйте finpricer создать HullWhite объект калькулятора цен и использование ratecurve объект для 'DiscountCurve' аргумент пары "имя-значение".
outPricer = finpricer("analytic",'Model',HullWhiteModel,'DiscountCurve',myRC)
outPricer =
HullWhite with properties:
DiscountCurve: [1x1 ratecurve]
Model: [1x1 finmodel.HullWhite]
Цена Cap Инструмент
Используйте price вычислить цену за Cap инструмент.
Price = price(outPricer,CapOpt)
Price = 2.9366
Этот пример показывает рабочий процесс, чтобы оценить несколько ваниль Cap инструменты при использовании HullWhite модель и HullWhite метод ценообразования.
Создайте Cap Инструментальный объект
Используйте fininstrument создать Cap инструментальный объект для трех инструментов Кэпа.
CapOpt = fininstrument("Cap",'Strike',0.02,'Maturity',datetime([2019,1,30 ; 2019,2,30 ; 2019,3,30]),'Reset',4,'Principal',[100 ; 200 ; 300],'Basis',8,'Name',"cap_option")
CapOpt=3×1 object
3x1 Cap array with properties:
Strike
Maturity
ResetOffset
Reset
Basis
Principal
ProjectionCurve
DaycountAdjustedCashFlow
BusinessDayConvention
Holidays
Name
Создайте HullWhite Объект модели
Используйте finmodel создать HullWhite объект модели.
HullWhiteModel = finmodel("HullWhite",'Alpha',0.62,'Sigma',0.99)
HullWhiteModel =
HullWhite with properties:
Alpha: 0.6200
Sigma: 0.9900
Создайте ratecurve Объект
Создайте ratecurve объект с помощью ratecurve.
Settle = datetime(2018,9,15); Type = 'zero'; ZeroTimes = [calmonths(6) calyears([1 2 3 4 5 7 10 20 30])]'; ZeroRates = [0.0052 0.0055 0.0061 0.0073 0.0094 0.0119 0.0168 0.0222 0.0293 0.0307]'; ZeroDates = Settle + ZeroTimes; myRC = ratecurve('zero',Settle,ZeroDates,ZeroRates)
myRC =
ratecurve with properties:
Type: "zero"
Compounding: -1
Basis: 0
Dates: [10x1 datetime]
Rates: [10x1 double]
Settle: 15-Sep-2018
InterpMethod: "linear"
ShortExtrapMethod: "next"
LongExtrapMethod: "previous"
Создайте HullWhite Объект калькулятора цен
Используйте finpricer создать HullWhite объект калькулятора цен и использование ratecurve объект для 'DiscountCurve' аргумент пары "имя-значение".
outPricer = finpricer("analytic",'Model',HullWhiteModel,'DiscountCurve',myRC)
outPricer =
HullWhite with properties:
DiscountCurve: [1x1 ratecurve]
Model: [1x1 finmodel.HullWhite]
Цена Cap Инструменты
Используйте price вычислить цены на Cap инструменты.
Price = price(outPricer,CapOpt)
Price = 3×1
2.9366
7.4694
17.7915
Этот пример показывает рабочий процесс, чтобы оценить ваниль Cap инструмент, когда вы используете Normal модель и Normal метод ценообразования.
Создайте ratecurve Объект
Создайте ratecurve объект с помощью ratecurve поскольку базовая процентная ставка изгибается для cap инструмент.
Settle = datetime(2018,9,15); Type = 'zero'; ZeroTimes = [calmonths(6) calyears([1 2 3 4 5 7 10 20 30])]'; ZeroRates = [0.0052 0.0055 0.0061 0.0073 0.0094 0.0119 0.0168 0.0222 0.0293 0.0307]'; ZeroDates = Settle + ZeroTimes; myRC = ratecurve('zero',Settle,ZeroDates,ZeroRates)
myRC =
ratecurve with properties:
Type: "zero"
Compounding: -1
Basis: 0
Dates: [10x1 datetime]
Rates: [10x1 double]
Settle: 15-Sep-2018
InterpMethod: "linear"
ShortExtrapMethod: "next"
LongExtrapMethod: "previous"
Создайте Cap Инструментальный объект
Используйте fininstrument создать Cap инструментальный объект.
CapOpt = fininstrument("Cap",'Maturity',datetime(2022,9,15),'Strike',0.04,'ProjectionCurve',myRC)
CapOpt =
Cap with properties:
Strike: 0.0400
Maturity: 15-Sep-2022
ResetOffset: 0
Reset: 1
Basis: 0
Principal: 100
ProjectionCurve: [1x1 ratecurve]
DaycountAdjustedCashFlow: 0
BusinessDayConvention: "actual"
Holidays: NaT
Name: ""
Создайте Normal Объект модели
Используйте finmodel создать Normal объект модели.
NormalModel = finmodel("Normal",'Volatility',0.01)
NormalModel =
Normal with properties:
Volatility: 0.0100
Создайте Normal Объект калькулятора цен
Используйте finpricer создать Normal объект калькулятора цен и использование ratecurve объект для 'DiscountCurve' аргумент пары "имя-значение".
outPricer = finpricer("analytic",'DiscountCurve',myRC,'Model',NormalModel)
outPricer =
Normal with properties:
DiscountCurve: [1x1 ratecurve]
Shift: 0
Model: [1x1 finmodel.Normal]
Цена Cap Инструмент
Используйте price вычислить цену за Cap инструмент.
[Price, outPR] = price(outPricer, CapOpt)
Price = 0.0701
outPR =
priceresult with properties:
Results: [1x1 table]
PricerData: []
Этот пример показывает рабочий процесс, чтобы оценить амортизацию Cap инструмент, когда вы используете Black модель и Black метод ценообразования.
Создайте Cap Инструментальный объект
Используйте fininstrument создать амортизацию Cap инструментальный объект.
CADates = [datetime(2020,9,1) ; datetime(2023,9,1)]; CAPrincipal = [100; 85]; Principal = timetable(CADates,CAPrincipal); CapOpt = fininstrument("Cap",'Maturity',datetime(2023,9,1),'Strike',0.015,'Principal',Principal,'Name',"cap_amortizing_option")
CapOpt =
Cap with properties:
Strike: 0.0150
Maturity: 01-Sep-2023
ResetOffset: 0
Reset: 1
Basis: 0
Principal: [2x1 timetable]
ProjectionCurve: [0x0 ratecurve]
DaycountAdjustedCashFlow: 0
BusinessDayConvention: "actual"
Holidays: NaT
Name: "cap_amortizing_option"
Создайте Black Объект модели
Используйте finmodel создать Black объект модели.
BlackModel = finmodel("Black",'Volatility',0.2)
BlackModel =
Black with properties:
Volatility: 0.2000
Shift: 0
Создайте ratecurve Объект
Создайте ratecurve объект с помощью ratecurve.
Settle = datetime(2018,9,1); Type = 'zero'; ZeroTimes = [calyears([1 2 3 4 5 7 10])]'; ZeroRates = [0.0052 0.0055 0.0061 0.0073 0.0094 0.0119 0.0168]'; ZeroDates = Settle + ZeroTimes; myRC = ratecurve('zero',Settle,ZeroDates,ZeroRates);
Создайте Black Объект калькулятора цен
Используйте finpricer создать Black объект калькулятора цен и использование ratecurve объект для 'DiscountCurve' аргумент пары "имя-значение".
outPricer = finpricer("analytic",'Model',BlackModel,'DiscountCurve',myRC)
outPricer =
Black with properties:
Model: [1x1 finmodel.Black]
DiscountCurve: [1x1 ratecurve]
Цена Cap Инструмент
Используйте price вычислить цену за Cap инструмент.
Price = price(outPricer,CapOpt)
Price = 0.3897
Этот пример показывает рабочий процесс, чтобы оценить ваниль Cap инструмент при использовании HullWhite модель и IRTree метод ценообразования.
Создайте Cap Инструментальный объект
Используйте fininstrument создать Cap инструментальный объект.
CapOpt = fininstrument("Cap",'Strike',0.02,'Maturity',datetime(2020,1,30),'Reset',4,'Principal',100,'Basis',8,'Name',"cap_option")
CapOpt =
Cap with properties:
Strike: 0.0200
Maturity: 30-Jan-2020
ResetOffset: 0
Reset: 4
Basis: 8
Principal: 100
ProjectionCurve: [0x0 ratecurve]
DaycountAdjustedCashFlow: 0
BusinessDayConvention: "actual"
Holidays: NaT
Name: "cap_option"
Создайте HullWhite Объект модели
Используйте finmodel создать HullWhite объект модели.
HullWhiteModel = finmodel("HullWhite",'Alpha',0.01,'Sigma',0.10)
HullWhiteModel =
HullWhite with properties:
Alpha: 0.0100
Sigma: 0.1000
Создайте ratecurve Объект
Создайте ratecurve объект с помощью ratecurve.
Settle = datetime(2018,9,15); Type = 'zero'; ZeroTimes = [calmonths(6) calyears([1 2 3 4 5 7 10 20 30])]'; ZeroRates = [0.0052 0.0055 0.0061 0.0073 0.0094 0.0119 0.0168 0.0222 0.0293 0.0307]'; ZeroDates = Settle + ZeroTimes; myRC = ratecurve('zero',Settle,ZeroDates,ZeroRates)
myRC =
ratecurve with properties:
Type: "zero"
Compounding: -1
Basis: 0
Dates: [10x1 datetime]
Rates: [10x1 double]
Settle: 15-Sep-2018
InterpMethod: "linear"
ShortExtrapMethod: "next"
LongExtrapMethod: "previous"
Создайте IRTree Объект калькулятора цен
Используйте finpricer создать IRTree объект калькулятора цен и использование ratecurve объект для 'DiscountCurve' аргумент пары "имя-значение".
CFdates = cfdates(Settle, CapOpt.Maturity, CapOpt.Reset, CapOpt.Basis); outPricer = finpricer("IRTree",'Model',HullWhiteModel,'DiscountCurve',myRC,'TreeDates',CFdates')
outPricer =
HWBKTree with properties:
Tree: [1x1 struct]
TreeDates: [6x1 datetime]
Model: [1x1 finmodel.HullWhite]
DiscountCurve: [1x1 ratecurve]
Цена Cap Инструмент
Используйте price вычислить цену и чувствительность для Cap инструмент.
[Price, outPR] = price(outPricer,CapOpt,["all"])Price = 2.7733
outPR =
priceresult with properties:
Results: [1x4 table]
PricerData: [1x1 struct]
outPR.Results
ans=1×4 table
Price Vega Gamma Delta
______ ______ _______ ______
2.7733 31.655 -49.227 28.932
Этот пример показывает рабочий процесс, чтобы оценить Cap инструмент при использовании LinearGaussian2F модель и IRMonteCarlo метод ценообразования.
Создайте Cap Инструментальный объект
Используйте fininstrument создать Cap инструментальный объект.
CapOpt = fininstrument("Cap","Maturity",datetime(2022,9,15),'Strike',0.01,'Reset',2,'Name',"cap_option")
CapOpt =
Cap with properties:
Strike: 0.0100
Maturity: 15-Sep-2022
ResetOffset: 0
Reset: 2
Basis: 0
Principal: 100
ProjectionCurve: [0x0 ratecurve]
DaycountAdjustedCashFlow: 0
BusinessDayConvention: "actual"
Holidays: NaT
Name: "cap_option"
Создайте LinearGaussian2F Объект модели
Используйте finmodel создать LinearGaussian2F объект модели.
LinearGaussian2FModel = finmodel("LinearGaussian2F",'Alpha1',0.07,'Sigma1',0.01,'Alpha2',0.5,'Sigma2',0.006,'Correlation',-0.7)
LinearGaussian2FModel =
LinearGaussian2F with properties:
Alpha1: 0.0700
Sigma1: 0.0100
Alpha2: 0.5000
Sigma2: 0.0060
Correlation: -0.7000
Создайте ratecurve Объект
Создайте ratecurve объект с помощью ratecurve.
Settle = datetime(2019,1,1); Type = 'zero'; ZeroTimes = [calmonths(6) calyears([1 2 3 4 5 7 10 20 30])]'; ZeroRates = [0.0052 0.0055 0.0061 0.0073 0.0094 0.0119 0.0168 0.0222 0.0293 0.0307]'; ZeroDates = Settle + ZeroTimes; myRC = ratecurve('zero',Settle,ZeroDates,ZeroRates)
myRC =
ratecurve with properties:
Type: "zero"
Compounding: -1
Basis: 0
Dates: [10x1 datetime]
Rates: [10x1 double]
Settle: 01-Jan-2019
InterpMethod: "linear"
ShortExtrapMethod: "next"
LongExtrapMethod: "previous"
Создайте IRMonteCarlo Объект калькулятора цен
Используйте finpricer создать IRMonteCarlo объект калькулятора цен и использование ratecurve объект для 'DiscountCurve' аргумент пары "имя-значение".
outPricer = finpricer("IRMonteCarlo",'Model',LinearGaussian2FModel,'DiscountCurve',myRC,'SimulationDates',ZeroDates)
outPricer =
G2PPMonteCarlo with properties:
NumTrials: 1000
RandomNumbers: []
DiscountCurve: [1x1 ratecurve]
SimulationDates: [01-Jul-2019 01-Jan-2020 01-Jan-2021 ... ]
Model: [1x1 finmodel.LinearGaussian2F]
Цена Cap Инструмент
Используйте price вычислить цену и чувствительность для Cap инструмент.
[Price,outPR] = price(outPricer,CapOpt,["all"])Price = 1.2389
outPR =
priceresult with properties:
Results: [1x4 table]
PricerData: [1x1 struct]
outPR.Results
ans=1×4 table
Price Delta Gamma Vega
______ ______ _____ _________________
1.2389 132.71 11038 131.63 -163.71
cap является контрактом, который включает гарантию, которая устанавливает максимальную процентную ставку платежи держателя, на основе в противном случае плавающей процентной ставки.
Выплата для дна:
Для получения дополнительной информации смотрите Кэпа.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.