创建一个IRDataCurve
对象,请参见以下选项:
使用IRDataCurve
构造函数与日期和数据的vectors创建兴趣率曲线对象。在建造时IRDataCurve
对象,您还可以使用可选的输入来定义如何从日期和数据构造利率曲线。
在本例中,为日期
和数据
对于利率曲线:
数据= [2.09 2.47 2.71 3.12 3.43 3.85 4.57 4.58 4.58] / 100;日期= Tainsadd(今天,[360 2 * 360 3 * 360 5 * 360 7 * 360 10 * 360 20 * 360 30 * 360],1);
使用IRDataCurve
属性构建利率对象不变
和pchip
插值方法:
Irdc_const = Irdatacurve(“前进”今天,日期、数据“InterpMethod”,“不变”);irdc_pchip = IRDataCurve (“前进”今天,日期、数据“InterpMethod”,“pchip”);
绘制两者的前向和零速率曲线IRDataCurve
基于对象不变
和pchip
插值方法:
plottingdates = daysadd(今天,180:10:360 * 30,1);绘图(绘图,GetFordardrates(Irdc_const,Plottingdates),“b”) 抓住上绘图(绘图,GetForwardrates(Irdc_pchip,plottingdates),“r”)绘图(绘图,召集,举办(Irdc_const,plottingdates),‘g’) plot(PlottingDates, getZeroRates(irdc_pchip, PlottingDates),“黄色”) 传奇({'不断前进的速度',“PCHIP远期利率”,'恒定零利率',…“PCHIP零利率”},“位置”,'东南') 标题('Irdatacurve对象的插值方法')DateTick.
该曲线展示了前向和零率曲线的关系。
使用基于市场工具的引导方法来创建利率曲线对象。当引导时,您还可以选择定义一系列插值方法(线性
,花键
,不变
, 和pchip
)。
在此示例中,您从存款,Eurodollar期货和换档引导了交换曲线。此示例的输入市场数据是硬编码的,并指定为数据的两个单元格阵列;一个单元格阵列表示仪器类型,另一个单元格式包含解决
,成熟
该工具的价值和市场报价。对于存款和掉期,报价就是利率;对于欧洲美元期货来说,报价就是价格。虽然本例中没有使用债券,但债券也会给出报价。
InstrumentTypes = {“存款”;“存款”;“存款”;“存款”;“存款”;…'期货';'期货';…'期货';'期货';'期货';…'期货';'期货';'期货';…'期货';'期货';'期货';…'期货';'期货';'期货';…'期货';'期货';'期货';…“交换”;“交换”;“交换”;“交换”;“交换”;“交换”;“交换”};仪器= [数据抑制(“08/10/2007”), datenum (“08/17/2007”), .0532063;…datenum (“08/10/2007”), datenum (“08/24/2007”), .0532000;…datenum (“08/10/2007”), datenum ('09 / 17/2007'), .0532000;…datenum (“08/10/2007”), datenum (“10/17/2007”),。0534000;…datenum (“08/10/2007”), datenum (“11/17/2007”), .0535866;…datenum ('08 / 08/2007'), datenum ('19 -dec-2007'),9485;…datenum ('08 / 08/2007'), datenum (“19 - 3月- 2008”),9502;…datenum ('08 / 08/2007'), datenum ('18 -Jun-2008'), 9509.5;…datenum ('08 / 08/2007'), datenum ('17 -sep-2008'), 9509;…datenum ('08 / 08/2007'), datenum (的17 - 12月- 2008), 9505.5;…datenum ('08 / 08/2007'), datenum (“18 - 3月- 2009”),9501;…datenum ('08 / 08/2007'), datenum (截止2009年6月17日的),9494.5;…datenum ('08 / 08/2007'), datenum ('16 -sep-2009'), 9489;…datenum ('08 / 08/2007'), datenum (的16 - 12月- 2009), 9481.5;…datenum ('08 / 08/2007'), datenum (的17 - 3月- 2010), 9478;…datenum ('08 / 08/2007'), datenum (截止2010年6月16的),9474;…datenum ('08 / 08/2007'), datenum (“15 - 9 - 2010”), 9469.5;…datenum ('08 / 08/2007'), datenum ('15 -dec-2010'),9464.5;…datenum ('08 / 08/2007'), datenum (的16 - 3月- 2011), 9462.5;…datenum ('08 / 08/2007'), datenum (“15 - 2011年6月- - - - - -”), 9456.5;…datenum ('08 / 08/2007'), datenum ('21 -sep-2011'), 9454;…datenum ('08 / 08/2007'), datenum (”21日- 12月- 2011),9449.5;…datenum ('08 / 08/2007'), datenum (“08/08/2014”), .0530;…datenum ('08 / 08/2007'), datenum ('08 / 08/2017'), .0545;…datenum ('08 / 08/2007'), datenum ('08 / 08/2019'),. 0551;…datenum ('08 / 08/2007'), datenum (“08/08/2022”), .0559;…datenum ('08 / 08/2007'), datenum ('08 / 08/2027'),0565;…datenum ('08 / 08/2007'), datenum (“08/08/2032”), .0566;…datenum ('08 / 08/2007'), datenum (“08/08/2037”), .0566);
的引导
方法称为静态方法@IRDataCurve类。该方法的输入包括曲线类型
(零
或者向前
),解决
日期,InstrumentTypes
, 和乐器
数据。的引导
方法还支持可选参数,包括金宝app用于自动映射的插值方法,复合基础和选项结构。例如,您正在传递@IRBootstrapOptions包含信息的对象ConvexityAdjustment
远期利率。
IRsigma = . 01;CurveSettle = datenum (“08/10/2007”);bootModel = IRDataCurve.bootstrap (“前进”,curvesettle,…InstrumentTypes,仪器,“InterpMethod”,“pchip”,…“复合”, 1“IRBootstrapOptions”,…IRBootstrapOptions (“ConvexityAdjustment”@ (t) 5 * IRsigma ^ 2。* t ^ 2))。
Bootmodel = Irdatacurve类型:前进定位:733264(10-2007年8月)复合:-1基础:0(实际/实际)Interpmethod:Pchip日期:[29x1双]数据:[29x1双]
的引导
方法使用优化工具箱™函数来解决任何引导速率。
绘制前向和零曲线:
PlottingDates = (CurveSettle + 20:30: CurveSettle + 365 * 25) ';TimeToMaturity = yearfrac (CurveSettle PlottingDates);BootstrappedForwardRates = getForwardRates(bootModel, PlottingDates);BootstrappedZeroRates = getZeroRates(bootModel, PlottingDates);图保存上绘图(时间术,Bootstrappedforwardrates,“r”)情节(TimeToMaturity BootstrappedZeroRates,‘g’) 标题(“引导曲线”)xlabel(“时间”) 传奇({“前进”,“零”})
该图展示了市场数据的正向和零利率曲线。
在此示例中,您从存款,Eurodollar期货和换回引导交换曲线。此示例的输入市场数据是硬编码的,并指定为数据的两个单元格阵列;一个单元阵列表示仪器的类型,另一个单元阵列包含解决
,成熟
该工具的价值和市场报价。这个引导示例还演示了InstrumentBasis
为每一个乐器
类型:
InstrumentTypes = {“存款”;“存款”;…'期货';'期货';'期货';'期货';'期货';'期货';…“交换”;“交换”;“交换”;“交换”;};仪器= [数据抑制(“08/10/2007”), datenum ('09 / 17/2007'), .0532000;…datenum (“08/10/2007”), datenum (“11/17/2007”), .0535866;…datenum ('08 / 08/2007'), datenum ('19 -dec-2007'),9485;…datenum ('08 / 08/2007'), datenum (“19 - 3月- 2008”),9502;…datenum ('08 / 08/2007'), datenum ('18 -Jun-2008'), 9509.5;…datenum ('08 / 08/2007'), datenum ('17 -sep-2008'), 9509;…datenum ('08 / 08/2007'), datenum (的17 - 12月- 2008), 9505.5;…datenum ('08 / 08/2007'), datenum (“18 - 3月- 2009”),9501;…datenum ('08 / 08/2007'), datenum (“08/08/2014”), .0530;…datenum ('08 / 08/2007'), datenum ('08 / 08/2019'),. 0551;…datenum ('08 / 08/2007'), datenum ('08 / 08/2027'),0565;…datenum ('08 / 08/2007'), datenum (“08/08/2037”), .0566);CurveSettle = datenum (“08/10/2007”);
的引导
方法称为静态方法@IRDataCurve类。该方法的输入包括曲线类型
(零
或者向前
),解决
日期,InstrumentTypes
, 和乐器
数据。的引导
方法还支持可选参数,包括金宝app用于自动映射的插值方法,复合基础和选项结构。在这个例子中,您正在传递额外的基础
每种仪器类型的值:
bootModel = IRDataCurve.bootstrap (“前进”CurveSettle InstrumentTypes,…仪器,“InterpMethod”,“pchip”,'internicBasis',[Repmat(2,8,1); Repmat(0,4,1)])
bootModel = IRDataCurve Type: Forward Settle: 733264 (10-Aug-2007) compound: 2 Basis: 0 (actual/actual) InterpMethod: pchip Dates: [12x1 double] Data: [12x1 double]
的引导
方法使用优化工具箱函数来求解任何引导速率。
绘制平价收益率曲线使用getParyields.
方法:
plottingdates =(数据抑制(“08/11/2007”):30:Curvesettle + 365 * 25)'绘图(绘图,getParyields(BootModel,Plottingdates),“r”)DateTick.
这幅图显示了市场数据的平价收益率曲线。
IRBootstrapOptions
|IRDataCurve
|IRFitOptions
|IRFunctionCurve