irbootstrap

Кривая процентной ставки Bootstrap из рыночных данных

Описание

пример

outCurve = irbootstrap(BootInstruments,Settle) создает структуру данных для хранения данных структуры процентной ставки. The outCurve выход a 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 (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