exponenta event banner

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

Дата расчета, указанная как скалярная дата-время, порядковый номер даты, вектор символов даты или строка даты.

Типы данных: 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 (SIA)

  • 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 - BUS/252

Дополнительные сведения см. в разделе Базис.

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

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

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

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

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

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

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

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

свернуть все

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

  • Type

  • Settle

  • Compounding

  • Basis

  • Dates

  • Rates

  • InterpMethod

  • ShortExtrapMethod

  • LongExtrapMethod

Представлен в R2020a