要创建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:360 * 30,1);图(PlottingDates,getForwardRates(irdc_const,PlottingDates)'B')保持上图(PlottingDates,getForwardRates(irdc_pchip,PlottingDates)'R')图(PlottingDates,getZeroRates(irdc_const,PlottingDates)'G')图(PlottingDates,getZeroRates(irdc_pchip,PlottingDates)'黄色')图例({“不断前进的价格”,“PCHIP远期汇率”,“恒零利率”,...“PCHIP零利率”},'位置','东南')标题(“插值方法IRDataCurve对象”)datetick
该图演示了向前和零利率曲线的关系。
使用方法引导的基础上,市场手段,建立一个利率曲线对象。自举时,还必须定义一系列的插值方法的选择(线性
,仿样
,不变
和pchip
)。
在本例中,引导从存款,欧洲美元期货和掉期互换曲线。对于本例的输入市场数据是硬编码和指定为数据的两个单元阵列;一个单元阵列表示仪器的类型,而另一个包含解决
,到期
价值和市场报价为仪器。对于存款和掉期交易,报价是速度;对于欧洲美元期货的报价是有代价的。虽然债券并不在这个例子中,债券也将有一个价格报价。
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 -mar-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 - 癸2008'),9505.5;...datenum('08 / 08 / 2007'),datenum('18 -mar-2009'),9501;...datenum('08 / 08 / 2007'),datenum('17 -Jun-2009'),9494.5;...datenum('08 / 08 / 2007'),datenum('16 -sep-2009'),9489;...datenum('08 / 08 / 2007'),datenum('16 - 癸2009' 年),9481.5;...datenum('08 / 08 / 2007'),datenum('17 -mar-2010'),9478;...datenum('08 / 08 / 2007'),datenum('16 -Jun-2010'),9474;...datenum('08 / 08 / 2007'),datenum('15 -sep-2010'),9469.5;...datenum('08 / 08 / 2007'),datenum('15 - 癸2010'),9464.5;...datenum('08 / 08 / 2007'),datenum('16 -mar-2011'),9462.5;...datenum('08 / 08 / 2007'),datenum('15 -Jun-2011'),9456.5;...datenum('08 / 08 / 2007'),datenum('21 -sep-2011'),9454;...datenum('08 / 08 / 2007'),datenum('21 - 癸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 = 0.01;CurveSettle = datenum('08 / 10 / 2007' 的);bootModel = IRDataCurve.bootstrap('向前',CurveSettle,...InstrumentTypes,仪器仪表,'InterpMethod','pchip',...“复利”,-1,'IRBootstrapOptions',...IRBootstrapOptions('ConvexityAdjustment',@(t)的0.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);BootstrappedForwardRates = getForwardRates(bootModel,PlottingDates);BootstrappedZeroRates = getZeroRates(bootModel,PlottingDates);身材保持上图(TimeToMaturity,BootstrappedForwardRates,'R')图(TimeToMaturity,BootstrappedZeroRates,'G')标题(“自举曲线”)xlabel('时间')图例({'向前','零'})
该图演示了市场数据的转发和零利率曲线。
在本例中,引导从存款,欧洲美元期货,掉期和互换曲线。对于本例的输入市场数据是硬编码和指定为数据的两个单元阵列;一个单元阵列表示仪器的类型,而另一个单元阵列包含解决
,到期
价值和市场报价为仪器。还自举的这个例子说明了如何使用的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 -mar-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 - 癸2008'),9505.5;...datenum('08 / 08 / 2007'),datenum('18 -mar-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类型:正向定居:733264(10 - 8 - 2007)配混:2基础:0(实际/实际)InterpMethod:pchip日期:[12X 1双]数据:[α12X 1双]
该引导
方法使用优化工具箱函数来解决任何自举率。
使用情节票面收益率曲线getParYields
方法:
PlottingDates =(datenum('08 / 11 / 2007' 的):30:CurveSettle + 365 * 25)';图(PlottingDates,getParYields(bootModel,PlottingDates)'R')datetick
该图演示了市场数据的票面收益率曲线。
IRBootstrapOptions
|IRDataCurve
|IRFitOptions
|IRFunctionCurve