exponenta event banner

IRDataCurve

Создание объекта кривой процентных ставок на основе дат и данных

Класс

@IRDataCurve

Синтаксис

CurveObj = IRDataCurve(Type,Settle,Dates,Data)
CurveObj = IRDataCurve(Type,Settle,Dates,Data,Name,Value)

Аргументы

Type

Тип кривой процентной ставки. Допустимые значения: forward, zero, или discount.

Settle

Скаляр для Settle дата кривой.

Dates

Даты, соответствующие данным тарифа.

Data

Данные процентной ставки для объекта кривой.

Compounding

(Необязательно) Скаляр, задающий частоту объединения в год для IRDataCurve объект:

  • −1 = Непрерывное компаундирование

  • 0 = Простой процент (без суммирования) только для типов кривых «ноль» и «скидка», не поддерживается для «прямых» кривых

  • 1 = Годовое суммирование

  • 2 = Полугодичное объединение (по умолчанию)

  • 3 = Три раза в год

  • 4 = Квартальное суммирование

  • 6 = Компаундирование раз в два месяца

  • 12 = Ежемесячное суммирование

Примечание

Простой процент может быть определен для инструмента путем указания Compounding значение как 0 и поддерживается только для «нулевых» и «дисконтных» типов кривых (не поддерживается для «прямых» кривых).

Basis

(Необязательно) База подсчета дней кривой процентных ставок. Скаляр целых чисел.

  • 0 = факт/факт (по умолчанию)

  • 1 = 30/360 (SIA)

  • 2 = фактически/360

  • 3 = факт/365

  • 4 = 30/360 (BMA)

  • 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

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

InterpMethod

(Необязательно) Значения:

  • 'linear' - Линейная интерполяция (по умолчанию).

  • 'constant' - Кусочно-постоянная интерполяция.

  • 'pchip' - Кусочно-кубическая эрмитовая интерполяция.

  • 'spline' - интерполяция кубических сплайнов.

Описание

CurveObj = IRDataCurve(Type,Settle,Dates,Data,Name,Value) строит кривую процентной ставки с указанным Dates и Data. Необходимо ввести необязательные аргументы для Basis, Compounding, и InterpMethod как пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.

В качестве альтернативы, IRDataCurve объект может быть загружен из рыночных данных с помощью bootstrap способ.

После IRDataCurve для определения форвардных ставок, нулевых ставок и коэффициентов дисконтирования можно использовать следующие методы. Кроме того, можно использовать toRateSpec метод преобразования объекта кривой процентной ставки в RateSpec структура.

МетодОписание
getForwardRates

Возвращает форвардные ставки для дат ввода.

getZeroRates

Возвращает нулевые ставки для дат ввода.

getDiscountFactors

Возвращает коэффициенты дисконтирования для дат ввода.

getParYields

Возвращает значения доходности для входных дат.

toRateSpec

Преобразует в RateSpec объект; эта структура идентична RateSpec произведенные функцией intenvset.

bootstrap

Начальная загрузка кривой процентной ставки из рыночных данных.

Примеры

CurveSettle = datenum('2-Mar-2016');
Data = [2.09 2.47 2.71 3.12 3.43 3.85 4.57 4.58]/100;
Dates = datemnth(CurveSettle,12*[1 2 3 5 7 10 20 30]);
irdc = IRDataCurve('Zero',CurveSettle,Dates,Data)
irdc = 

			 Type: Zero
		   Settle: 736391 (02-Mar-2016)
	  Compounding: 2
			Basis: 0 (actual/actual)
	 InterpMethod: linear
			Dates: [8x1 double]
			 Data: [8x1 double]
Представлен в R2008b