主要内容

创建一个IRDataCurve对象

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

使用IRDataCurve有日期和数据

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

例子

在本例中,创建的向量日期而且数据对于利率曲线。

Data = [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(1)今天,180:10:360 * 30日;情节(PlottingDates getForwardRates (irdc_const PlottingDates),“b”)举行情节(PlottingDates getForwardRates (irdc_pchip PlottingDates),“r”getZeroRates(irdc_const, PlottingDates),‘g’getZeroRates(irdc_pchip, PlottingDates),“黄色”)({传奇远期利率不变的“PCHIP远期利率”“恒零利率”...“PCHIP零利率”},“位置”“东南”)标题(IRDataCurve对象的插值方法) datetick

该图展示了远期利率曲线和零利率曲线的关系。

引导IRDataCurve基于市场工具的研究

使用基于市场工具的自举函数来创建利率曲线对象。当引导时,您还可以选择定义插值方法的范围(线性样条常数,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 - 12月- 2007 '), 9485;...datenum (“08/08/2007”), datenum (“19 - 3月- 2008”), 9502;...datenum (“08/08/2007”), datenum (“18 - 2008年6月- - - - - -”), 9509.5;...datenum (“08/08/2007”), datenum (的17 - 9月- 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 - 9月- 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 - 12月- 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 - 9 - 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,仪器数据。的引导Function还支持可选参数,包括插值方法、复合、基础和用于引导的选项结构。例如,传入一个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-Aug-2007)复合:-1基数:0(实际/实际)InterpMethod: pchip日期:[29x1 double]数据:[29x1 double]

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

绘制正向和零值曲线。

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

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

示例2

在本例中,您从存款、欧洲美元期货和掉期启动掉期曲线。本例的输入市场数据是硬编码的,并指定为两个单元格数据数组;一个单元格数组表示仪器的类型,另一个单元格数组包含解决成熟仪器的价值和市场报价。引导的示例还演示了类的使用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 - 12月- 2007 '), 9485;...datenum (“08/08/2007”), datenum (“19 - 3月- 2008”), 9502;...datenum (“08/08/2007”), datenum (“18 - 2008年6月- - - - - -”), 9509.5;...datenum (“08/08/2007”), datenum (的17 - 9月- 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”);

引导函数作为函数调用IRBootstrapOptions对象。的输入引导函数包含曲线类型向前),解决目前为止,InstrumentTypes,仪器数据。的引导Function还支持可选参数,包括插值方法、复合、基础和用于引导的选项结构。在本例中,您传递的是一个附加参数基础每种仪器类型的值。

bootModel = IRDataCurve.bootstrap (“前进”CurveSettle InstrumentTypes,...仪器,“InterpMethod”“pchip”“InstrumentBasis”, (repmat (2 8 1); repmat (0 4 1)))
bootModel = IRDataCurve类型:向前结算:733264 (10-Aug-2007)复合:2基础:0(实际/实际)InterpMethod: pchip日期:[12x1 double]数据:[12x1 double]

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

绘制票面收益率曲线使用getParYields函数。

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

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

另请参阅

|||

相关的例子

更多关于

外部网站

Baidu
map