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
IRBootStrapOptions
| IRDataCurve
| IRFunctionCurve
| IRFitOptions