Преобразование объекта 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 объект или thetoRateSpec метод для 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

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

| | |

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

Больше о