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 (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

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

Описание

F = getForwardRates(CurveObj,InpDates,Name,Value) Возвраты форвардные ставки для дат входа. Необходимо ввести необязательные аргументы для Basis и Compounding как разделенные запятыми пары Name, Value аргументы. 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