Преобразование IRDataCurve или IRFunctionCurve Объект

Введение

IRDataCurve и IRFunctionCurve объекты для процентной ставки изгибают преобразование поддержки в:

  • RateSpec структура.

    RateSpec сгенерированный от IRDataCurve или IRFunctionCurve объект, с помощью toRateSpec функционируйте, идентично RateSpec структура, созданная с intenvset использование программного обеспечения Financial Instruments Toolbox™.

  • Вектор из дат и данных из IRDataCurve объект

    Вектор из дат и данных приемлем для prbyzero, bkcall, bkput, tfutbyprice, и tfutbyyield или любая функция, которая требует структуры термина процентных ставок.

Используя toRateSpec Функция

Преобразовывать IRDataCurve или IRFunctionCurve возразите против RateSpec структура, необходимо сначала создать объект кривой процентной ставки. Затем используйте toRateSpec функция для IRDataCurve возразите илиtoRateSpec функция для IRFunctionCurve объект.

Пример

Создайте вектор данных из следующих данных: https://www.ustreas.gov/offices/domestic-finance/debt-management/
interest-rate/yield.shtml
.

Data = [1.85 1.84 1.91 2.09 2.47 2.71 3.12 3.43 3.85 4.57 4.58]/100;
Dates = daysadd(today,[30 90 180 360 2*360 3*360 5*360 7*360 10*360 20*360 30*360],2);
scatter(Dates,Data)
datetick

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

rr = IRDataCurve('Zero',today,Dates,Data);

Преобразуйте в RateSpec.

toRateSpec(rr, today+30:30:today+365)
ans = 
           FinObj: 'RateSpec'
      Compounding: 2
             Disc: [12x1 double]
            Rates: [12x1 double]
         EndTimes: [12x1 double]
       StartTimes: [12x1 double]
         EndDates: [12x1 double]
       StartDates: 733569
    ValuationDate: 733569
            Basis: 0
     EndMonthRule: 1

Используя вектор из дат и данных

Можно использовать getZeroRates функция для IRDataCurve объект с Dates свойство создать вектор из дат и данных, приемлемых для prbyzero в программном обеспечении Financial Toolbox™ и bkcall, bkput, tfutbyprice, и tfutbyyield в программном обеспечении Financial Instruments Toolbox.

Пример

Это - пример использования IRDataCurve объект с getZeroRates функция с prbyzero.

Data = [2.09 2.47 2.71 3.12 3.43 3.85 4.57 4.58]/100;
Dates = daysadd(today,[360 2*360 3*360 5*360 7*360 10*360 20*360 30*360],1);
irdc = IRDataCurve('Zero',today,Dates,Data,'InterpMethod','pchip');
Maturity = daysadd(today,8*360,1);
CouponRate = .055;
ZeroDates = daysadd(today,180:180:8*360,1);
ZeroRates = getZeroRates(irdc, ZeroDates);
BondPrice = prbyzero([Maturity CouponRate], today, ZeroRates, ZeroDates)
BondPrice =
  113.9250

Смотрите также

| | |

Связанные примеры

Больше о