Floor
инструментальный объект
Создайте и оцените Floor
инструментальный объект для одного из большего количества инструментов Пола с помощью этого рабочего процесса:
Использование fininstrument
создать Floor
инструментальный объект для одного из большего количества инструментов Пола.
Использование finmodel
задавать HullWhite
, BlackKarasinski
, Black
, Normal
, BraceGatarekMusiela
, SABRBraceGatarekMusiela
, или LinearGaussian2F
модель для Floor
инструментальный объект.
Выберите метод ценообразования.
При использовании HullWhite
, BlackKarasinski
, Black
, или Normal
модель, использовать finpricer
задавать Normal
, Black
, HullWhite
, или IRTree
метод ценообразования для одного или нескольких Floor
инструменты.
При использовании HullWhite
, BraceGatarekMusiela
, SABRBraceGatarekMusiela
, или LinearGaussian2F
модель, использовать finpricer
задавать IRMonteCarlo
метод ценообразования для одного или нескольких Floor
инструменты.
Для получения дополнительной информации об этом рабочем процессе смотрите Начало работы с Рабочими процессами Используя Основанную на объектах Среду для Оценки Финансовых инструментов.
Для получения дополнительной информации о доступных моделях и методах ценообразования для Floor
инструмент, смотрите, Выбирают Instruments, Models и Pricers.
создает FloorOpt
= fininstrument(InstrumentType
,'Strike
',strike_value,'Maturity
',maturity_date)Floor
объект для одного из большего количества инструментов Пола путем определения InstrumentType
и устанавливает свойства для необходимой пары "имя-значение" argumentsStrike
и Maturity
.
Floor
инструмент поддерживает этажи амортизации и ваниль.
устанавливает дополнительные свойства с помощью дополнительных пар "имя-значение" в дополнение к обязательным аргументам в предыдущем синтаксисе. Например, FloorOpt
= fininstrument(___,Name,Value
)FloorOpt = fininstrument("floor",'Strike',100,'Maturity',datetime(2019,1,30),'Reset',4,'Principal',100,'ResetOffset',1,'Basis',4,'DaycountAdjustedCashFlow',true,'BusinessDayConvention',"follow",'ProjectionCurve',ratecurve_object,'Name',"floor_option")
создает Floor
инструмент с забастовкой 100 и зрелость от 30 января 2019. Можно задать несколько аргументов пары "имя-значение".
InstrumentType
— Инструментальный тип"Floor"
| массив строк со значениями "Floor"
| вектор символов со значением 'Floor'
| массив ячеек из символьных векторов со значениями 'Floor'
Инструментальный тип в виде строки со значением "Floor"
, вектор символов со значением 'Floor'
, NINST
- 1
массив строк со значениями "Floor"
, или NINST
- 1
массив ячеек из символьных векторов со значениями 'Floor'
.
Типы данных: char |
cell
| string
Floor
Аргументы в виде пар имя-значениеЗадайте требуемые и дополнительные разделенные запятой пары Name,Value
аргументы. Name
имя аргумента и Value
соответствующее значение. Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN
.
FloorOpt = fininstrument("floor",'Strike',100,'Maturity',datetime(2019,1,30),'Reset',4,'Principal',100,'ResetOffset',1,'Basis',4,'DaycountAdjustedCashFlow',true,'BusinessDayConvention',"follow",'ProjectionCurve',ratecurve_object,'Name',"floor_option")
Floor
Аргументы в виде пар имя-значениеStrike
— Значение цены исполнения опциона опцииЗначение цены исполнения опциона опции в виде разделенной запятой пары, состоящей из 'Strike'
и скалярное неотрицательное десятичное число или NINST
- 1
вектор из неотрицательных десятичных чисел.
Типы данных: double
Maturity
— Дата погашения днаДата погашения дна в виде разделенной запятой пары, состоящей из 'ExerciseDate'
и скалярный datetime, последовательный номер даты, вектор символов даты, строка даты или NINST
- 1
вектор из datetimes, последовательных чисел даты, массива ячеек векторов символов даты или массива строки даты.
Если вы используете векторы символов даты или строки даты, формат должен быть распознаваемым datetime
потому что Maturity
свойство хранится как datetime.
Типы данных: double |
char
| cell
| string
| datetime
Floor
Аргументы в виде пар имя-значение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
, где первый столбец является датами, и второй столбец является своим связанным основным значением. Дата указывает в последний день, что основное значение допустимо.
Примечание
Если вы создаете один или несколько Floor
инструменты и использование расписание, спецификация расписания применяется ко всему Floor
инструменты. Principal
не принимает NINST
- 1
массив ячеек расписаний, как введено.
Типы данных: double |
timetable
ResetOffset
— Отстаньте в установлении норм
(значение по умолчанию) | скаляр, числовой | числовой векторОтстаньте в установлении норм в виде разделенной запятой пары, состоящей из 'ResetOffset'
и числовой скаляр или NINST
- 1
числовой вектор.
Типы данных: double
DaycountAdjustedCashFlow
— Отметьте, чтобы настроить потоки наличности на основе фактического дневного количества периодаfalse
(значение по умолчанию) | скалярное логическое значение true
или false
| вектор из логических значений true
или false
Отметьте, чтобы настроить потоки наличности на основе фактического дневного количества периода в виде разделенной запятой пары, состоящей из 'DaycountAdjustedCashFlow'
и логический скаляр или NINST
- 1
вектор из logicals со значениями 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)); FloorOpt = fininstrument("floor",'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
Этот пример показывает рабочий процесс, чтобы оценить ваниль Floor
инструмент, когда вы используете Black
модель и Black
метод ценообразования.
Создайте ratecurve
Объект
Создайте ratecurve
объект с помощью ratecurve
поскольку базовая процентная ставка изгибается для floor
инструмент.
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"
Создайте Floor
Инструментальный объект
Используйте fininstrument
создать Floor
инструментальный объект.
FloorOpt = fininstrument("Floor",'Maturity',datetime(2022,9,15),'Strike',0.03,'ProjectionCurve',myRC)
FloorOpt = Floor with properties: Strike: 0.0300 Maturity: 15-Sep-2022 ResetOffset: 0 Reset: 1 Basis: 0 Principal: 100 ProjectionCurve: [1x1 ratecurve] DaycountAdjustedCashFlow: 0 BusinessDayConvention: "actual" Holidays: NaT Name: ""
Создайте Black
Объект модели
Используйте finmodel
создать Black
объект модели.
BlackModel = finmodel("Black",'Volatility',0.2)
BlackModel = Black with properties: Volatility: 0.2000 Shift: 0
Создайте Black
Объект калькулятора цен
Используйте finpricer
создать Black
объект калькулятора цен и использование ratecurve
объект для 'DiscountCurve'
аргумент пары "имя-значение".
outPricer = finpricer("analytic",'DiscountCurve',myRC,'Model',BlackModel)
outPricer = Black with properties: Model: [1x1 finmodel.Black] DiscountCurve: [1x1 ratecurve]
Цена Floor
Инструмент
Используйте price
вычислить цену за Floor
инструмент.
[Price, outPR] = price(outPricer,FloorOpt)
Price = 8.0878
outPR = priceresult with properties: Results: [1x1 table] PricerData: []
Этот пример показывает рабочий процесс, чтобы оценить несколько ваниль Floor
инструменты, когда вы используете Black
модель и Black
метод ценообразования.
Создайте ratecurve
Объект
Создайте ratecurve
объект с помощью ratecurve
поскольку базовая процентная ставка изгибается для floor
инструмент.
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"
Создайте Floor
Инструментальный объект
Используйте fininstrument
создать Floor
инструментальный объект для трех инструментов Florr.
FloorOpt = fininstrument("Floor",'Maturity',datetime([2022,9,15 ; 2022,9,15 ; 2022,9,15]),'Strike',[0.03 ; 0.04 ; 0.05],'ProjectionCurve',myRC)
FloorOpt=3×1 object
3x1 Floor array with properties:
Strike
Maturity
ResetOffset
Reset
Basis
Principal
ProjectionCurve
DaycountAdjustedCashFlow
BusinessDayConvention
Holidays
Name
Создайте Black
Объект модели
Используйте finmodel
создать Black
объект модели.
BlackModel = finmodel("Black",'Volatility',0.2)
BlackModel = Black with properties: Volatility: 0.2000 Shift: 0
Создайте Black
Объект калькулятора цен
Используйте finpricer
создать Black
объект калькулятора цен и использование ratecurve
объект для 'DiscountCurve'
аргумент пары "имя-значение".
outPricer = finpricer("analytic",'DiscountCurve',myRC,'Model',BlackModel)
outPricer = Black with properties: Model: [1x1 finmodel.Black] DiscountCurve: [1x1 ratecurve]
Цена Floor
Инструменты
Используйте price
вычислить цены на Floor
инструменты.
[Price, outPR] = price(outPricer,FloorOpt)
Price = 3×1
8.0878
12.0033
15.9263
outPR=3×1 object
3x1 priceresult array with properties:
Results
PricerData
Этот пример показывает рабочий процесс, чтобы оценить ваниль Floor
инструмент, когда вы используете HullWhite
модель и HullWhite
метод ценообразования.
Создайте Floor
Инструментальный объект
Используйте fininstrument
создать Floor
инструментальный объект.
FloorOpt = fininstrument("Floor",'Strike',0.039,'Maturity',datetime(2019,1,30),'Reset',4,'Principal',100,'Basis',12,'Name',"floor_option")
FloorOpt = Floor with properties: Strike: 0.0390 Maturity: 30-Jan-2019 ResetOffset: 0 Reset: 4 Basis: 12 Principal: 100 ProjectionCurve: [0x0 ratecurve] DaycountAdjustedCashFlow: 0 BusinessDayConvention: "actual" Holidays: NaT Name: "floor_option"
Создайте HullWhite
Объект модели
Используйте finmodel
создать HullWhite
объект модели.
HullWhiteModel = finmodel("HullWhite",'Alpha',0.032,'Sigma',0.04)
HullWhiteModel = HullWhite with properties: Alpha: 0.0320 Sigma: 0.0400
Создайте 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]
Цена Floor
Инструмент
Используйте price
вычислить цену за Floor
инструмент.
Price = price(outPricer,FloorOpt)
Price = 1.2676
Этот пример показывает рабочий процесс, чтобы оценить амортизацию Floor
инструмент, когда вы используете Black
модель и Black
метод ценообразования.
Создайте Floor
Инструментальный объект
Используйте fininstrument
создать амортизацию Floor
инструментальный объект.
CADates = datetime([2020,9,1 ; 2023,9,1]); CAPrincipal = [100; 85]; Principal = timetable(CADates,CAPrincipal); FloorOpt = fininstrument("Floor",'Maturity',datetime(2023,9,1),'Strike',0.015,'Principal',Principal,'Name',"floor_amortizing_option")
FloorOpt = Floor 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: "floor_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]
Цена Floor
Инструмент
Используйте price
вычислить цену за Floor
инструмент.
Price = price(outPricer,FloorOpt)
Price = 3.0030
Этот пример показывает рабочий процесс, чтобы оценить ваниль Floor
инструмент при использовании HullWhite
модель и IRTree
метод ценообразования.
Создайте Floor
Инструментальный объект
Используйте fininstrument
создать Floor
инструментальный объект.
FloorOpt = fininstrument("Floor",'Strike',0.03,'Maturity',datetime(2020,1,30),'Reset',4,'Principal',100,'Basis',8,'Name',"floor_option")
FloorOpt = Floor with properties: Strike: 0.0300 Maturity: 30-Jan-2020 ResetOffset: 0 Reset: 4 Basis: 8 Principal: 100 ProjectionCurve: [0x0 ratecurve] DaycountAdjustedCashFlow: 0 BusinessDayConvention: "actual" Holidays: NaT Name: "floor_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, FloorOpt.Maturity, FloorOpt.Reset, FloorOpt.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]
Цена Floor
Инструмент
Используйте price
вычислить цену и чувствительность для Floor
инструмент.
[Price, outPR] = price(outPricer,FloorOpt,["all"])
Price = 5.7821
outPR = priceresult with properties: Results: [1x4 table] PricerData: [1x1 struct]
outPR.Results
ans=1×4 table
Price Vega Gamma Delta
______ ______ ______ _______
5.7821 31.821 141.45 -110.54
Этот пример показывает рабочий процесс, чтобы оценить Floor
инструмент при использовании BraceGatarekMusiela
модель и IRMonteCarlo
метод ценообразования.
Создайте инструментальный объект пола
Используйте fininstrument
создать Floor
инструментальный объект.
FloorOpt = fininstrument("Floor","Maturity",datetime(2022,9,15),'Strike',0.05,'Reset',1,'Name',"floor_option")
FloorOpt = Floor with properties: Strike: 0.0500 Maturity: 15-Sep-2022 ResetOffset: 0 Reset: 1 Basis: 0 Principal: 100 ProjectionCurve: [0x0 ratecurve] DaycountAdjustedCashFlow: 0 BusinessDayConvention: "actual" Holidays: NaT Name: "floor_option"
Создайте объект модели BraceGatarekMusiela
Используйте finmodel
создать BraceGatarekMusiela
объект модели.
BGMVolFunc = @(a,t) (a(1)*t + a(2)).*exp(-a(3)*t) + a(4); BGMVolParams = [.3 -.02 .7 .14]; numRates = 20; VolFunc(1:numRates-1) = {@(t) BGMVolFunc(BGMVolParams,t)}; Beta = .08; CorrFunc = @(i,j,Beta) exp(-Beta*abs(i-j)); Correlation = CorrFunc(meshgrid(1:numRates-1)',meshgrid(1:numRates-1),Beta); BGM = finmodel("BraceGatarekMusiela",'Volatility',VolFunc,'Correlation',Correlation,'Period',1);
Создайте ratecurve
Объект
Создайте ratecurve
объект с помощью ratecurve
.
Settle = datetime(2019,1,1); Type = 'zero'; ZeroTimes = [calmonths(6) calyears([1 2 3 4 5 7 10 20])]'; ZeroRates = [0.0052 0.0055 0.0061 0.0073 0.0094 0.0119 0.0168 0.0222 0.0293]'; ZeroDates = Settle + ZeroTimes; myRC = ratecurve('zero',Settle,ZeroDates,ZeroRates)
myRC = ratecurve with properties: Type: "zero" Compounding: -1 Basis: 0 Dates: [9x1 datetime] Rates: [9x1 double] Settle: 01-Jan-2019 InterpMethod: "linear" ShortExtrapMethod: "next" LongExtrapMethod: "previous"
Создайте IRMonteCarlo
Объект калькулятора цен
Используйте finpricer
создать IRMonteCarlo
объект калькулятора цен и использование ratecurve
объект для 'DiscountCurve'
аргумент пары "имя-значение".
outPricer = finpricer("IRMonteCarlo",'Model',BGM,'DiscountCurve',myRC,'SimulationDates',ZeroDates)
outPricer = BGMMonteCarlo with properties: NumTrials: 1000 RandomNumbers: [] DiscountCurve: [1x1 ratecurve] SimulationDates: [01-Jul-2019 01-Jan-2020 01-Jan-2021 ... ] Model: [1x1 finmodel.BraceGatarekMusiela]
Цена Floor
Инструмент
Используйте price
вычислить цену и чувствительность для Floor
инструмент.
[Price,outPR] = price(outPricer,FloorOpt,["all"])
Price = 14.7882
outPR = priceresult with properties: Results: [1x3 table] PricerData: [1x1 struct]
outPR.Results
ans=1×3 table
Price Delta Gamma
______ ______ ______
14.788 -400.4 1280.7
floor является контрактом, который включает гарантию, устанавливающую минимальную процентную ставку, полученную держателем, на основе в противном случае плавающей процентной ставки.
Выплата для пола:
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.