创建一个IRDataCurve对象

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

带有日期和数据的IRDataCurve构造函数

使用IRDataCurve构造函数使用日期和数据的载体,以创建一个利率曲线对象。当构建IRDataCurve对象,您还可以使用可选的输入来定义如何根据日期和数据构造利率曲线。

例子

在本例中,为日期数据对于利率曲线:

数据= [2.09 2.47 2.71 3.12 3.43 3.85 4.57 4.58] / 100;日期= daysadd(今天,[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);图(PlottingDates,getForwardRates(irdc_const,PlottingDates)“b”)保持图(PlottingDates,getForwardRates(irdc_pchip,PlottingDates)“r”)图(PlottingDates,getZeroRates(irdc_const,PlottingDates)‘g’) plot(plottingdate, getZeroRates(irdc_pchip, plottingdate)“黄色”)图例({“不断前进的价格”,“PCHIP远期利率”,“恒零利率”,“PCHIP零利率”},“位置”,'东南')标题(“插值方法IRDataCurve对象”)datetick

该图演示了向前和零利率曲线的关系。

IRDataCurve Bootstrapping基于市场工具

使用bootstrapping方法,基于市场工具,创建一个利率曲线对象。当bootstrapping时,你也可以选择定义一个插值方法的范围(线性,仿样,不变pchip)。

示例1

在本例中,引导从存款,欧洲美元期货和掉期互换曲线。对于本例的输入市场数据是硬编码和指定为数据的两个单元阵列;一个单元阵列表示仪器的类型,而另一个包含解决,成熟该工具的价值和市场报价。对于存款和掉期,报价是一种利率;对于欧洲美元期货,报价是一个价格。虽然在本例中没有使用债券,但债券也要有报价。

InstrumentTypes = {“存款”;“存款”;“存款”;“存款”;“存款”;'期货';'期货';'期货';'期货';'期货';'期货';'期货';'期货';'期货';'期货';'期货';'期货';'期货';'期货';'期货';'期货';'期货';“交换”;“交换”;“交换”;“交换”;“交换”;“交换”;“交换”};仪器= [datenum(“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  - 癸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  - 癸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仪器数据。的引导方法还支持可选参数,包括万博1manbetx一个内插方法,配混,基础,和一个选择结构,用于自举。例如,你传递一个@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  -  8  -  2007)配混:-1基础:0(实际/实际)InterpMethod:pchip日期:[29x1双]数据:[α29x1双]

引导方法使用优化工具箱™函数来求解任何引导速率。

剧情向前和零条曲线:

PlottingDates = (CurveSettle + 20:30: CurveSettle + 365 * 25) ';TimeToMaturity = yearfrac (CurveSettle PlottingDates);getForwardRates(bootModel, plottingdate);BootstrappedZeroRates = getZeroRates(bootModel, plottingdate);图保存图(TimeToMaturity,BootstrappedForwardRates,“r”)情节(TimeToMaturity BootstrappedZeroRates,‘g’)标题(“引导曲线”)xlabel(“时间”)图例({“前进”,“零”})

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

示例2

在本例中,引导从存款,欧洲美元期货,掉期和互换曲线。对于本例的输入市场数据是硬编码和指定为数据的两个单元阵列;一个单元阵列表示仪器的类型,而另一个单元阵列包含解决,成熟该工具的价值和市场报价。这个bootstrapping示例还演示了an的使用InstrumentBasis为每一个仪器类型:

InstrumentTypes = {“存款”;“存款”;'期货';'期货';'期货';'期货';'期货';'期货';“交换”;“交换”;“交换”;“交换”;};仪器= [datenum(“08/10/2007”), datenum ('09 / 17 / 2007' 的), .0532000;datenum (“08/10/2007”), datenum (“11/17/2007”), .0535866;datenum ('08 / 08 / 2007'), datenum ('19  - 癸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仪器数据。的引导方法还支持可选参数,包括万博1manbetx一个内插方法,配混,基础,和一个选择结构,用于自举。在这个例子中,要传递一个附加基础每种仪器的数值:

bootModel = IRDataCurve.bootstrap (“前进”CurveSettle InstrumentTypes,仪器,“InterpMethod”,“pchip”,'InstrumentBasis'[repmat(2,8,1); repmat(0,4,1)])
bootModel = IRDataCurve类型:Forward Settle: 733264(2007年8月10日)复利:2基:0(实际/实际)InterpMethod: pchip日期:[12x1 double]数据:[12x1 double]

引导方法使用一个优化工具箱函数来解决任何引导率。

方法绘制par收益率曲线getParYields方法:

PlottingDates =(datenum(“08/11/2007”):30:CurveSettle + 365 * 25)';图(PlottingDates,getParYields(bootModel,PlottingDates)“r”)datetick

图中显示了市场数据的票面收益率曲线。

另请参阅

|||

相关的例子

更多关于

外部网站