getForwardRates

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

Синтаксис

F = getForwardRates(CurveObj,InpDates)
F = getForwardRates(CurveObj,InpDates,Name,Value)

Аргументы

CurveObj

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

InpDates

Вектор входных дат с помощью формата даты MATLAB®. Входные даты должны быть после уладить даты.

Compounding

(Необязательно) Скаляр, который устанавливает частоту соединения в год для форвардных курсов:

  • −1 = Непрерывное соединение

  • 1 = Ежегодное соединение

  • 2 = Полугодовое соединение (значение по умолчанию)

  • 3 = Соединение три раза в год

  • 4 = Ежеквартально соединение

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

  • 12 = Ежемесячно соединение

Basis

(Необязательно) основание Дневного количества для форвардных курсов:

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

  •  1 = 30/360 (СИА)

  •  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 = ШИНА/252

Для получения дополнительной информации смотрите Основание.

Описание

F = getForwardRates(CurveObj,InpDates,Name,Value) возвращает форвардные курсы для входных дат. Необходимо ввести дополнительные аргументы для Basis и Compounding как разделенные запятой пары NameЗначение аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Можно задать несколько имен и аргументов пары значения в любом порядке как Name1, Value1..., NameN, ValueN.

Примеры

свернуть все

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

irfc = IRFunctionCurve('Forward',today,@(t) polyval([-0.0001 0.003 0.02],t));
getForwardRates(irfc, today+30:30:today+720)
ans = 24×1

    0.0202
    0.0205
    0.0207
    0.0210
    0.0212
    0.0215
    0.0217
    0.0219
    0.0222
    0.0224
      ⋮

В этом примере показано, как вычислить подразумеваемые 2-летние форвардные курсы за 1 год, 2 года, 5 лет и 10 лет от Settle дата при помощи getForwardRates метод.

Используйте следующие данные в IRFunctionCurve объект, который создается при использовании fitSvensson метод.

Settle = datenum('15-Apr-2014');
Maturity = datemnth(Settle,12*[1 2 3 5 7 10 20 30]');

CleanPrice = [100.1 100.1 100.2 99.0 101.8 99.2 101.7 100.2]';
CouponRate = [0.0200 0.0275 0.035 0.042 0.0475 0.0525 0.055 0.052]';
Instruments = [repmat(Settle,size(Maturity)) Maturity CleanPrice CouponRate];

SvenssonModel = IRFunctionCurve.fitSvensson('Zero',Settle,Instruments);

Вычислите подразумеваемые 2-летние форвардные курсы за 1 год, 2 года, 5 лет и 10 лет от Settle дата.

IntervalMonth = 12.*2;         % Interval months for 2-year forward rates
FwdMonths = 12.*[1 2 5 10]';   % Starting in 1, 2, 5, and 10 years from Settle
N = length(FwdMonths);
FwdRates_2Y = zeros(N,1);

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

[FwdMonths FwdRates_2Y]
ans = 4×2

   12.0000    0.0418
   24.0000    0.0504
   60.0000    0.0620
  120.0000    0.0629

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