创建IRDataCurve对象

创建一个IRDataCurve对象,请参见以下选项:

带有日期和数据的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:3​​60 * 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.

该曲线展示了前向和零率曲线的关系。

基于市场工具的irdatacurstrapping

使用基于市场工具的引导方法来创建利率曲线对象。当引导时,您还可以选择定义一系列插值方法(线性,花键,不变, 和pchip)。

示例1

在此示例中,您从存款,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(“时间”) 传奇({“前进”,“零”})

该图展示了市场数据的正向和零利率曲线。

示例2

在此示例中,您从存款,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.

这幅图显示了市场数据的平价收益率曲线。

另请参阅

|||

相关的例子

更多关于

外部网站