irbootstrap

Загрузите кривую процентной ставки из данных о рынке

Описание

пример

outCurve = irbootstrap(BootInstruments,Settle) создает структуру данных для того, чтобы хранить данные о структуре термина процентной ставки. outCurve выходом является ratecurve объект.

пример

outCurve = irbootstrap(___,Name,Value) задает опции с помощью одного или нескольких аргументов пары "имя-значение" в дополнение к любой из комбинаций входных аргументов в предыдущем синтаксисе. Например, OutCurve = irbootstrap("zero",BootInstruments,Settle,'Compounding',2,'Basis',5,'InterpMethod',"cubic") загружает кривую нулевой ширины от BootInstruments.

Примеры

свернуть все

Задайте депозит и подкачайте параметры

Settle = datetime(2018,3,21);
DepRates = [.0050769 .0054934 .0061432 .0072388 .0093263]';
DepTimes = [1 2 3 6 12]';
DepDates = datemnth(Settle,DepTimes);
nDeposits = length(DepTimes);
 
SwapRates = [.0112597 0;.0128489 0;.0138917 0;.0146135 0;.0151175 0;...
      .0155184 0;.0158536 0;.0161435 0];
SwapTimes = (2:9)';
SwapDates = datemnth(Settle,12*SwapTimes);
nSwaps = length(SwapTimes);
 
nInst = nDeposits + nSwaps;

Создайте вектор из инструментов подкачки рынка

Используйте fininstrument создать вектор из рынка Deposit и Swap инструментальные объекты.

 BootInstruments(nInst,1) = fininstrument.FinInstrument;
 for ii=1:length(DepDates)
      BootInstruments(ii) = fininstrument("deposit",'Maturity',DepDates(ii),'Rate',DepRates(ii));
 end
 
 for ii=1:length(SwapDates)
      BootInstruments(ii+nDeposits) = fininstrument("swap",'Maturity',SwapDates(ii),'LegRate',[SwapRates(ii) 0]);
 end

Создайте ratecurve Объект для кривой Нулевого Уровня

Используйте irbootstrap создать ratecurve объект для кривой нулевого уровня.

ZeroCurve = irbootstrap(BootInstruments,Settle)
ZeroCurve = 
  ratecurve with properties:

                 Type: "zero"
          Compounding: -1
                Basis: 0
                Dates: [13x1 datetime]
                Rates: [13x1 double]
               Settle: 21-Mar-2018
         InterpMethod: "linear"
    ShortExtrapMethod: "linear"
     LongExtrapMethod: "linear"

Входные параметры

свернуть все

Набор инструментов в виде массива инструментальных объектов.

Типы данных: object

Расчетный день в виде скалярного datetime, последовательного номера даты, вектора символов даты или строки даты.

Типы данных: double | char | string | datetime

Аргументы в виде пар имя-значение

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: OutCurve = irbootstrap("zero",BootInstruments,Settle,'Compounding',2,'Basis',5,'InterpMethod',"cubic")

Тип процентной ставки изгибается в виде скалярной строки или вектора символов.

Когда вы используете irbootstrap, значение вы задаете для Type может повлиять на конструкцию кривой, потому что она влияет на тип данных, которые интерполированы на (то есть, форвардные курсы, нулевые уровни или коэффициенты дисконтирования) во время процесса начальной загрузки.

Типы данных: char | string

Соединение частоты в виде разделенной запятой пары, состоящей из 'Compounding' и скалярное числовое использование поддерживаемых значений: –1, 0, 1, 2, 3, 4, 6, или 12.

Типы данных: double

Основание дневного количества в виде разделенной запятой пары, состоящей из 'Basis' и скалярное целое число.

  • 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

Метод интерполяции в виде разделенной запятой пары, состоящей из 'InterpMethod' и скалярная строка или вектор символов с помощью поддерживаемого значения. Для получения дополнительной информации о методах интерполяции смотрите interp1.

Типы данных: char | string

Метод экстраполяции для данных перед First Data в виде разделенной запятой пары, состоящей из 'ShortExtrapMethod' и скалярная строка или вектор символов с помощью поддерживаемого значения. Для получения дополнительной информации о методах интерполяции смотрите interp1.

Типы данных: char | string

Метод экстраполяции для данных после последних данных в виде разделенной запятой пары, состоящей из 'LongExtrapMethod' и скалярная строка или вектор символов с помощью поддерживаемого значения. Для получения дополнительной информации о методах интерполяции смотрите interp1.

Типы данных: char | string

Выходные аргументы

свернуть все

Кривая уровня, возвращенная как ratecurve объект. Объект имеет следующие свойства:

  • Type

  • Settle

  • Compounding

  • Basis

  • Dates

  • Rates

  • InterpMethod

  • ShortExtrapMethod

  • LongExtrapMethod

Введенный в R2020a