FloatBond инструментальный объект
Создайте и оцените FloatBond инструментальный объект, использующий этот рабочий процесс:
Использование fininstrument создать FloatBond инструментальный объект.
Используйте ratecurve задавать модель кривой для FloatBond инструмент или использование HullWhite, BraceGatarekMusiela, SABRBraceGatarekMusiela, или LinearGaussian2F модель.
Выберите метод ценообразования.
При использовании ratecurveИспользование finpricer задавать Discount метод ценообразования для одного или нескольких FloatBond инструменты.
При использовании HullWhite, BraceGatarekMusiela, SABRBraceGatarekMusiela, или LinearGaussian2F модель, использовать finpricer задавать IRMonteCarlo метод ценообразования для одного или нескольких FloatBond инструменты.
Для получения дополнительной информации об этом рабочем процессе смотрите Начало работы с Рабочими процессами Используя Основанную на объектах Среду для Оценки Финансовых инструментов.
Для получения дополнительной информации о доступных моделях и методах ценообразования для FloatBond инструмент, смотрите, Выбирают Instruments, Models и Pricers.
создает FloatBondObj = fininstrument(InstrumentType,'Spread',spread_value,'Maturity',maturity_date)FloatBond объект путем определения InstrumentType и устанавливает свойства для необходимых аргументов пары "имя-значение" Spread и Maturity.
FloatBond инструмент поддерживает долговое обязательство с плавающей ставкой ванили и долговое обязательство с плавающей ставкой амортизации. Для получения дополнительной информации смотрите Долговое обязательство с плавающей ставкой.
устанавливает дополнительные свойства с помощью дополнительных пар "имя-значение" в дополнение к обязательным аргументам в предыдущем синтаксисе. Например, FloatBondObj = fininstrument(___,Name,Value)FloatBondObj = fininstrument("FloatBond",'Spread',0.6,'Maturity',datetime(2019,1,30),'Basis',1,'Principal',100,'FirstCouponDate',datetime(2016,1,30),'EndMonthRule',true,'Name',"float_bond_instrument") создает FloatBond инструмент с распространением 0,6 и зрелость от 30 января 2019. Можно задать несколько аргументов пары "имя-значение".
InstrumentType — Инструментальный тип"FloatBond" | массив строк со значениями "FloatBond" | вектор символов со значением 'FloatBond' | массив ячеек из символьных векторов со значениями 'FloatBond'Инструментальный тип в виде строки со значением "FloatBond", вектор символов со значением 'FloatBond', NINST- 1 массив строк со значениями "FloatBond", или NINST- 1 массив ячеек из символьных векторов со значениями 'FloatBond'.
Типы данных: char | cell | string
FloatBond Аргументы в виде пар имя-значениеЗадайте требуемые и дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.
FloatBondObj = fininstrument("FloatBond",'Spread',0.6,'Maturity',datetime(2019,1,30),'Basis',1,'Principal',100,'FirstCouponDate',datetime(2016,1,30),'EndMonthRule',true,'Name',"float_bond_instrument")FloatBond Аргументы в виде пар имя-значениеSpread — Десятичное значение по ссылочному уровнюДесятичное значение по ссылочному уровню в виде разделенной запятой пары, состоящей из 'Spread' и скалярное неотрицательное десятичное число или NINST- 1 вектор из неотрицательных десятичных чисел.
Типы данных: double
Maturity — Дата погашенияДата погашения в виде разделенной запятой пары, состоящей из 'Maturity' и скалярный datetime, последовательный номер даты, вектор символов даты, строка даты или NINST- 1 вектор из datetimes, последовательных чисел даты, массива ячеек векторов символов даты или массива строки даты.
Если вы используете векторы символов даты или строки даты, формат должен быть распознаваемым datetime потому что Maturity свойство хранится как datetime.
Типы данных: char | cell | double | string | datetime
FloatBond Аргументы в виде пар имя-значениеReset — Частота платежей в год
(значение по умолчанию) | скалярное целое число | вектор из целых чиселЧастота платежей в год в виде разделенной запятой пары, состоящей из 'Reset' и скалярное целое число или NINST- 1 вектор из целых чисел. Значения для Reset : 1, 2, 3, 4, 6, или 12.
Типы данных: 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, где первый столбец является датами, и второй столбец является связанным отвлеченным основным значением. Дата указывает в последний день, что основное значение допустимо.
Примечание
Если вы создаете один или несколько FloatBond инструменты и использование расписание, спецификация расписания применяется ко всему FloatBond инструменты. Principal не принимает NINST- 1 массив ячеек расписаний, как введено.
Типы данных: double | timetable
ProjectionCurve — Кривая уровня для проектирования плавающих потоков наличностиratecurve.empty (значение по умолчанию) | скалярный ratecurve возразите | вектор из ratecurve объектыКривая уровня для проектирования плавающих потоков наличности в виде разделенной запятой пары, состоящей из 'ProjectionCurve' и скалярный ratecurve возразите или NINST- 1 вектор из ratecurve объекты. Необходимо создать этот объект с помощью ratecurve.
Типы данных: object
ResetOffset — Отстаньте в установлении норм (значение по умолчанию) | скаляр, числовой | числовой векторОтстаньте в установлении норм в виде разделенной запятой пары, состоящей из 'ResetOffset' и числовой скаляр или NINST- 1 числовой вектор.
Типы данных: double
LatestFloatingRate — Последний плавающий курс[]
(значение по умолчанию) | скалярное десятичное число | вектор из десятичных чиселПоследний плавающий курс для FloatBond объект в виде разделенной запятой пары, состоящей из 'LatestFloatingRate' и скалярное десятичное число или 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));
FloatBondObj = fininstrument("floatbond",'Spread',100,'Maturity',datetime(2025,12,15),'Holidays',H)Типы данных: double | cell | datetime | string
EndMonthRule — Правило конца месяца отмечает для генерации дат когда Maturity дата конца месяца в течение месяца с 30 или меньшим количеством днейtrue (в действительности) (значение по умолчанию) | скаляр, логический со значением true или false | вектор из logicals со значениями true или falseПравило конца месяца отмечает для генерации дат когда Maturity дата конца месяца в течение месяца с 30 или меньшим количеством дней в виде разделенной запятой пары, состоящей из 'EndMonthRule' и логический скаляр или NINST- 1 вектор из logicals со значениями true или false.
Если вы устанавливаете EndMonthRule к false, программное обеспечение игнорирует правило, означая, что платежный день всегда является тем же числовым днем месяца.
Если вы устанавливаете EndMonthRule к true, программное обеспечение устанавливает правило о, означая, что платежный день всегда является прошлым фактическим днем месяца.
Типы данных: логический
IssueDate — Дата выпуска облигацийNaT
(значение по умолчанию) | datetime | последовательный номер даты | вектор символов даты | строка даты | вектор из datetimes | вектор из последовательных чисел даты | массив ячеек векторов символов даты | массив строки датыДата выпуска облигаций в виде разделенной запятой пары, состоящей из 'IssueDate' и скалярный datetime, последовательный номер даты, вектор символов даты, строка даты или NINST- 1 вектор из datetimes, последовательных чисел даты, массива ячеек векторов символов даты или массива строки даты.
Если вы используете векторы символов даты или строки даты, формат должен быть распознаваемым datetime потому что IssueDate свойство хранится как datetime.
Типы данных: double | char | cell | string | datetime
FirstCouponDate — Неправильная первая дата купонаNaT
(значение по умолчанию) | datetime | последовательный номер даты | вектор символов даты | строка даты | вектор из datetimes | вектор из последовательных чисел даты | массив ячеек векторов символов даты | массив строки датыНеправильная первая дата купона в виде разделенной запятой пары, состоящей из 'FirstCouponDate' и скалярный datetime, последовательный номер даты, вектор символов даты, строка даты или NINST- 1 вектор из datetimes, последовательных чисел даты, массива ячеек векторов символов даты или массива строки даты.
Когда FirstCouponDate и LastCouponDate оба заданы, FirstCouponDate более приоритетен в определении структуры купонного платежа. Если вы не задаете FirstCouponDate, платежные дни потока наличности определяются из других входных параметров.
Если вы используете векторы символов даты или строки даты, формат должен быть распознаваемым datetime потому что FirstCouponDate свойство хранится как datetime.
Типы данных: double | char | cell | string | datetime
LastCouponDate — Неправильная последняя дата купонаNaT
(значение по умолчанию) | datetime | последовательный номер даты | вектор символов даты | строка даты | вектор из datetimes | вектор из последовательных чисел даты | массив ячеек векторов символов даты | массив строки датыНеправильная последняя дата купона в виде разделенной запятой пары, состоящей из 'LastCouponDate' и скалярный datetime, последовательный номер даты, вектор символов даты, строка даты или NINST- 1 вектор из datetimes, последовательных чисел даты, массива ячеек векторов символов даты или массива строки даты.
Если вы задаете LastCouponDate но не FirstCouponDate, LastCouponDate определяет структуру купона связи. Структура купона связи является усеченной в LastCouponDate, независимо от того, где это падает и сопровождается только датой потока наличности зрелости связи. Если вы не задаете LastCouponDate, платежные дни потока наличности определяются из других входных параметров.
Если вы используете векторы символов даты или строки даты, формат должен быть распознаваемым datetime потому что LastCouponDate свойство хранится как datetime.
Типы данных: double | cell | char | string | datetime
StartDate — Передайте срок начала работы платежейNaT
(значение по умолчанию) | datetime | последовательный номер даты | вектор символов | строка даты | вектор из datetimes | вектор из последовательных чисел даты | массив ячеек векторов символов даты | массив строки датыПередайте срок начала работы платежей в виде разделенной запятой пары, состоящей из 'StartDate' и скалярный datetime, последовательный номер даты, вектор символов, строка даты или NINST- 1 вектор из datetimes, последовательных чисел даты, массива ячеек векторов символов даты или массива строки даты.
Если вы используете векторы символов даты или строки даты, формат должен быть распознаваемым datetime потому что StartDate свойство хранится как datetime.
Типы данных: char | cell | double | string | datetime
Name — Пользовательское имя для инструмента" "
(значение по умолчанию) | представляет в виде строки | массив строк | вектор символов | массив ячеек из символьных векторовПользовательское имя для одного из большего количества инструментов в виде разделенной запятой пары, состоящей из 'Name' и скалярная строка или вектор символов или NINST- 1 массив ячеек из символьных векторов или массив строк.
Типы данных: char | cell | string
Spread — Количество пунктов по ссылочному уровнюКоличество пунктов по ссылочному уровню, возвращенному как скаляр, неотрицательный числовой или NINST- 1 неотрицательный числовой вектор.
Типы данных: double
Maturity — Дата погашенияДата погашения, возвращенная как скалярный datetime или NINST- 1 вектор из datetimes.
Типы данных: datetime
Reset — Частота оплаты в год (значение по умолчанию) | скалярное целое число | вектор из целых чиселКупоны в год, возвращенный как скалярное целое число или NINST- 1 вектор из целых чисел.
Типы данных: double
Basis — Дневной базис количества (фактическое/фактическое) (значение по умолчанию) | скалярное целое число от 0 к 13 | вектор из целых чисел от 0 к 13Дневной базис количества, возвращенный как скалярное целое число или NINST- 1 вектор из целых чисел.
Типы данных: double
Principal — Отвлеченная основная сумма или основные расписания значения
(значение по умолчанию) | скаляр, числовой | числовой вектор | расписаниеОтвлеченная основная сумма или основные расписания значения, возвращенные как числовой скаляр или NINST- 1 числовой вектор или расписание.
Типы данных: timetable | double
ProjectionCurve — Кривая уровня используется в генерации будущих потоков наличностиratecurve.empty (значение по умолчанию) | скалярный ratecurve возразите | вектор из ratecurve объектыКривая уровня, которая будет использоваться в проектировании будущих потоков наличности, возвращенных как скалярный ratecurve возразите или NINST- 1 вектор из ratecurve объекты.
Типы данных: object
ResetOffset — Отстаньте в установлении норм (значение по умолчанию) | скаляр, числовой | числовой векторОтстаньте в установлении норм, возвращенном как числовой скаляр или NINST- 1 числовой вектор.
Типы данных: double
LatestFloatingRate — Последний плавающий курс для FloatBond[ ]
(значение по умолчанию) | скалярное десятичное число | вектор из десятичных чиселПоследний плавающий курс для FloatBond, возвращенный как скалярное десятичное число или NINST- 1 вектор из десятичных чисел.
Типы данных: double
DaycountAdjustedCashFlow — Отметьте, чтобы настроить потоки наличности на основе фактического дневного количества периодаfalse
(значение по умолчанию) | скалярное логическое значение true или false | вектор из логических значений с true или falseОтметьте, чтобы настроить потоки наличности на основе фактического дневного количества периода, возвращенного как логический скаляр или NINST- 1 вектор из logicals со значениями true или false.
Типы данных: логический
BusinessDayConvention — Соглашения рабочего дня"actual"
(значение по умолчанию) | скаляр представляет в виде строки | массив строкСоглашения рабочего дня, возвращенные как скалярная строка или NINST- 1 массив строк.
Типы данных: string
Holidays — Праздники используются в вычислении рабочих днейNaT (значение по умолчанию) | datetimesПраздники используются в вычислении рабочих дней, возвращенных как NINST- 1 вектор из datetimes.
Типы данных: datetime
EndMonthRule — Правило конца месяца отмечает для генерации дат когда Maturity дата конца месяца в течение месяца с 30 или меньшим количеством днейtrue (в действительности) (значение по умолчанию) | скаляр, логический со значением true или false | вектор из logicals со значениями true или falseПравило конца месяца отмечает для генерации дат когда Maturity дата конца месяца в течение месяца с 30 или меньшим количеством дней, возвращенных как логический скаляр или NINST- 1 вектор из логических значений.
Типы данных: логический
IssueDate — Дата выпуска облигацийNaT
(значение по умолчанию) | datetime | вектор из datetimesДата выпуска облигаций, возвращенная как скалярный datetime или NINST- 1 вектор из datetimes.
Типы данных: datetime
FirstCouponDate — Неправильная первая дата купонаNaT
(значение по умолчанию) | datetime | вектор из datetimesНеправильная первая дата купона, возвращенная как скалярный datetime или NINST- 1 вектор из datetimes.
Типы данных: datetime
LastCouponDate — Неправильная последняя дата купонаNaT
(значение по умолчанию) | datetime | вектор из datetimesНеправильная последняя дата купона, возвращенная как скалярный datetime или NINST- 1 вектор из datetimes.
Типы данных: datetime
StartDate — Передайте срок начала работы платежейNaT
(значение по умолчанию) | datetime | вектор из datetimesПередайте срок начала работы платежей, возвращенных как скалярный datetime или NINST- 1 вектор из datetimes.
Типы данных: datetime
Name — Пользовательское имя для инструмента" "
(значение по умолчанию) | представляет в виде строки | массив строкПользовательское имя для инструмента, возвращенного как строка или NINST- 1 массив строк.
Типы данных: string
cashflows | Вычислите поток наличности для FixedBond, FloatBondподкачка, FRA, STIRFuture, OISFuture, OvernightIndexedSwap, или Deposit инструмент |
ratecurve и обесценьте калькулятор ценЭтот пример показывает рабочий процесс, чтобы оценить ваниль FloatBond инструмент, когда вы используете ratecurve и Discount метод ценообразования.
Создайте FloatBond Инструментальный объект
Используйте fininstrument создать ваниль FloatBond инструментальный объект.
FloatB = fininstrument("FloatBond",'Maturity',datetime(2022,9,15),'Spread',0.025,'Reset',2,'Basis',1,'Principal',100,'EndMonthRule',false,'Name',"float_bond_instrument")
FloatB =
FloatBond with properties:
Spread: 0.0250
ProjectionCurve: [0x0 ratecurve]
ResetOffset: 0
Reset: 2
Basis: 1
EndMonthRule: 0
Principal: 100
DaycountAdjustedCashFlow: 0
BusinessDayConvention: "actual"
LatestFloatingRate: NaN
Holidays: NaT
IssueDate: NaT
FirstCouponDate: NaT
LastCouponDate: NaT
StartDate: NaT
Maturity: 15-Sep-2022
Name: "float_bond_instrument"
Создайте 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"
Создайте Discount Объект калькулятора цен
Используйте finpricer создать Discount объект калькулятора цен и использование ratecurve объект для 'DiscountCurve' аргумент пары "имя-значение".
outPricer = finpricer("Discount",'DiscountCurve',myRC)
outPricer =
Discount with properties:
DiscountCurve: [1x1 ratecurve]
Цена FloatBond Инструмент
Используйте price вычислить цену и чувствительность для ванили FloatBond инструмент.
[Price, outPR] = price(outPricer, FloatB,["all"])Price = 109.8322
outPR =
priceresult with properties:
Results: [1x2 table]
PricerData: []
outPR.Results
ans=1×2 table
Price DV01
______ _________
109.83 0.0021981
ratecurve и обесценьте калькулятор ценЭтот пример показывает рабочий процесс, чтобы оценить несколько ваниль FloatBond инструменты, когда вы используете ratecurve и Discount метод ценообразования.
Создайте FloatBond Инструментальный объект
Используйте fininstrument создать ваниль FloatBond инструментальный объект для трех инструментов Связи Плавающих.
FloatB = fininstrument("FloatBond",'Maturity',datetime([2022,9,15 ; 2022,9,15 ; 2022,9,15]),'Spread',0.025,'Reset',2,'Basis',1,'Principal',[100 ; 200 ; 300],'EndMonthRule',false,'Name',"float_bond_instrument")
FloatB=3×1 object
3x1 FloatBond array with properties:
Spread
ProjectionCurve
ResetOffset
Reset
Basis
EndMonthRule
Principal
DaycountAdjustedCashFlow
BusinessDayConvention
LatestFloatingRate
Holidays
IssueDate
FirstCouponDate
LastCouponDate
StartDate
Maturity
Name
Создайте 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"
Создайте Discount Объект калькулятора цен
Используйте finpricer создать Discount объект калькулятора цен и использование ratecurve объект для 'DiscountCurve' аргумент пары "имя-значение".
outPricer = finpricer("Discount",'DiscountCurve',myRC)
outPricer =
Discount with properties:
DiscountCurve: [1x1 ratecurve]
Цена FloatBond Инструменты
Используйте price вычислить цены и чувствительность для ванили FloatBond инструменты.
[Price, outPR] = price(outPricer, FloatB,["all"])Price = 3×1
109.8322
219.6644
329.4965
outPR=1×3 object
1x3 priceresult array with properties:
Results
PricerData
outPR.Results
ans=1×2 table
Price DV01
______ _________
109.83 0.0021981
ans=1×2 table
Price DV01
______ _________
219.66 0.0043961
ans=1×2 table
Price DV01
_____ _________
329.5 0.0065942
ratecurve и обесценьте калькулятор ценЭтот пример показывает рабочий процесс, чтобы оценить амортизацию FloatBond инструмент, когда вы используете ratecurve и Discount метод ценообразования.
Создайте ratecurve Объект
Создайте ratecurve объект с помощью ratecurve.
Settle = datetime(2018,1,1); ZeroTimes = calyears(1:10)'; ZeroRates = [0.0052 0.0055 0.0061 0.0073 0.0094 0.0119 0.0168 0.0222 0.0293 0.0307]'; ZeroDates = Settle + ZeroTimes; Compounding = 1; ZeroCurve = ratecurve("zero",Settle,ZeroDates,ZeroRates, "Compounding",Compounding);
Создайте FloatBond Инструментальный объект
Используйте fininstrument создать амортизацию FloatBond инструментальный объект.
Maturity = datetime(2024,1,1); Spread = 0.02; Reset = 1; ADates = datetime([2020,1,1 ; 2024,1,1]); APrincipal = [100; 80]; Principal = timetable(ADates,APrincipal); Floatamort = fininstrument("FloatBond",'Maturity',Maturity,'Spread',Spread,'Reset',Reset,'ProjectionCurve',ZeroCurve,'Principal',Principal)
Floatamort =
FloatBond with properties:
Spread: 0.0200
ProjectionCurve: [1x1 ratecurve]
ResetOffset: 0
Reset: 1
Basis: 0
EndMonthRule: 1
Principal: [2x1 timetable]
DaycountAdjustedCashFlow: 0
BusinessDayConvention: "actual"
LatestFloatingRate: NaN
Holidays: NaT
IssueDate: NaT
FirstCouponDate: NaT
LastCouponDate: NaT
StartDate: NaT
Maturity: 01-Jan-2024
Name: ""
Создайте Discount Объект калькулятора цен
Используйте finpricer создать Discount объект калькулятора цен и использование ratecurve объект с 'DiscountCurve' аргумент пары "имя-значение".
outPricer = finpricer("Discount",'DiscountCurve',ZeroCurve)
outPricer =
Discount with properties:
DiscountCurve: [1x1 ratecurve]
Цена FloatBond Инструмент
Используйте price вычислить цену и чувствительность для ванили FloatBond инструмент.
[Price, outPR] = price(outPricer,Floatamort,["all"])Price = 110.1101
outPR =
priceresult with properties:
Results: [1x2 table]
PricerData: []
outPR.Results
ans=1×2 table
Price DV01
______ _________
110.11 0.0033187
Этот пример показывает рабочий процесс, чтобы оценить FloatBond инструмент при использовании HullWhite модель и IRMonteCarlo метод ценообразования.
Создайте FloatBond Инструментальный объект
Используйте fininstrument создать FloatBond инструментальный объект.
FloatB = fininstrument("FloatBond",'Maturity',datetime(2022,9,15),'Spread',0.025,'Reset',2,'Basis',1,'Principal',100,'EndMonthRule',false,'Name',"float_bond_instrument")
FloatB =
FloatBond with properties:
Spread: 0.0250
ProjectionCurve: [0x0 ratecurve]
ResetOffset: 0
Reset: 2
Basis: 1
EndMonthRule: 0
Principal: 100
DaycountAdjustedCashFlow: 0
BusinessDayConvention: "actual"
LatestFloatingRate: NaN
Holidays: NaT
IssueDate: NaT
FirstCouponDate: NaT
LastCouponDate: NaT
StartDate: NaT
Maturity: 15-Sep-2022
Name: "float_bond_instrument"
Создайте HullWhite Объект модели
Используйте finmodel создать HullWhite объект модели.
HullWhiteModel = finmodel("HullWhite",'Alpha',0.32,'Sigma',0.49)
HullWhiteModel =
HullWhite with properties:
Alpha: 0.3200
Sigma: 0.4900
Создайте 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',HullWhiteModel,'DiscountCurve',myRC,'SimulationDates',ZeroDates)
outPricer =
HWMonteCarlo with properties:
NumTrials: 1000
RandomNumbers: []
DiscountCurve: [1x1 ratecurve]
SimulationDates: [01-Jul-2019 01-Jan-2020 01-Jan-2021 ... ]
Model: [1x1 finmodel.HullWhite]
Цена FloatBond Инструмент
Используйте price вычислить цену и чувствительность для FloatBond инструмент.
[Price,outPR] = price(outPricer,FloatB,["all"])Price = 109.1227
outPR =
priceresult with properties:
Results: [1x4 table]
PricerData: [1x1 struct]
outPR.Results
ans=1×4 table
Price Delta Gamma Vega
______ _______ ______ ____
109.12 -19.033 50.224 0
floating-rate note является безопасностью как связь, но процентная ставка примечания периодически сбрасывается, относительно уровня справочного указателя, чтобы отразить колебания рыночных процентных ставок.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.