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

Введение

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

  • A RateSpec структура. The 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/
процентная ставка/доходность .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

См. также

| | |

Похожие примеры

Подробнее о

Для просмотра документации необходимо авторизоваться на сайте