IRDataCurve
и IRFunctionCurve
объекты для процентной ставки изгибают преобразование поддержки в:
RateSpec
структура. RateSpec
сгенерированный от IRDataCurve
или IRFunctionCurve
объект, с помощью toRateSpec
метод, идентично RateSpec
структура, созданная с intenvset
использование программного обеспечения Financial Instruments Toolbox™.
Вектор из дат и данных из IRDataCurve
возразите приемлемый для prbyzero
, bkcall
, bkput
, tfutbyprice
, и tfutbyyield
или любая функция, которая требует структуры термина процентных ставок.
Преобразовывать 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
IRBootstrapOptions
| IRDataCurve
| IRFitOptions
| IRFunctionCurve