getForwardRates

Получите форвардные курсы для входных дат IRDataCurve

Описание

пример

F = getForwardRates(CurveObj,InpDates) вычисляет коэффициенты дисконтирования для входных дат IRDataCurve объект. getForwardRates возвращает дискретные форвардные курсы для входа интервалов в эту функцию. Например, запуская следующий код:

getForwardRates(irdc, {Date1, Date2, Date3}) 
дает три прямых уровня, и эти три тенора: [Settle, Date1], [Date1, Date2], и [Date2, Date3].

пример

F = getForwardRates(___,Name,Value) добавляют дополнительные аргументы пары "имя-значение".

Примеры

свернуть все

В этом примере показано, как получить форвардные курсы для входных дат IRDataCurve.

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);
getForwardRates(irdc, CurveSettle+30:30:CurveSettle+720)
ans = 24×1

    0.0174
    0.0180
    0.0187
    0.0193
    0.0199
    0.0205
    0.0212
    0.0218
    0.0224
    0.0230
      ⋮

Используйте getForwardRates вычислить форвардный курс из Settle дата к 5 годам с 1 марта 2017 и затем форвардному курсу в течение периода от 5 лет до 10 лет с 1 марта 2017.

Data = [2.09 2.47 2.71 3.12 3.43 3.85 4.57 4.58]/100;
Dates = daysadd(736755,[360 2*360 3*360 5*360 7*360 10*360 20*360 30*360],1);
irdc = IRDataCurve('Zero',today,Dates,Data);
getForwardRates(irdc,datemnth(irdc.Settle,12*[5 10]))
ans = 2×1

    0.0378
    0.0457

Первый элемент (.0312) форвардный курс от Settle к 5 годам с 1 марта 2017. Второсортное (0.0458) форвардный курс в течение периода от 5 лет до 10 лет с 1 марта 2017, другими словами, 5-летний форвардный курс 5 лет с 1 марта 2017.

Используйте следующие данные, чтобы создать IRDataCurve объект:

Data = [0.1 0.30 0.70 1.05 1.45 1.71 2.12 2.43 2.85 3.57]/100;
Settle = datenum('08-Aug-2016'); % Today's date
Dates = datemnth(Settle,[3 6 9 12*[1 2 3 5 7 10 20]]);
irdc = IRDataCurve('Zero',Settle,Dates,Data)
irdc = 
			 Type: Zero
		   Settle: 736550 (08-Aug-2016)
	  Compounding: 2
			Basis: 0 (actual/actual)
	 InterpMethod: linear
			Dates: [10x1 double]
			 Data: [10x1 double]

Вычислите подразумеваемые 6-месячные форвардные курсы за 1 месяц, 2 месяца и 3 месяца от Settle дата.

IntervalMonth = 6; % Interval for 6 month forward rates
FwdMonths = [1 2 3]'; % Starting in 1, 2, and 3 months from Settle
N = length(FwdMonths);
FwdRates_6M = zeros(N,1);

for k = 1:N
    FwdDates = datemnth(irdc.Settle, [FwdMonths(k) FwdMonths(k)+IntervalMonth]);
    f = getForwardRates(irdc,FwdDates);
    FwdRates_6M(k) = f(2);
end

[FwdMonths FwdRates_6M]
ans = 3×2

    1.0000    0.0050
    2.0000    0.0074
    3.0000    0.0101

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

свернуть все

Объект кривой процентной ставки, заданный при помощи IRDataCurve.

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

Введите даты, заданное использование MATLAB® dateFormat . Входные даты должны быть после Settle дата IRDataCurve.

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

Аргументы name-value

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

Пример: F = getForwardRates(irdc, CurveSettle+30:30:CurveSettle+720)

Соединение частоты в год для форвардных курсов в виде разделенной запятой пары, состоящей из '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

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

свернуть все

Форвардные курсы, возвращенные как вектор. getForwardRates возвращает форвардные курсы, соответствующие периодичности входа дат к getForwardRates. Например, где даты ежемесячно, ежемесячные форвардные курсы возвращены. Первым элементом выхода является форвардный курс от Settle к одному месяцу вторым элементом является форвардный курс с одного месяца до двух месяцев и так далее.

Представленный в R2008b