创建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')图(PlottingDates,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  - 癸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('时间')图例({'向前''零'})

该图演示了市场数据的转发和零利率曲线。

实施例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  - 癸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

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

也可以看看

|||

相关的例子

更多关于

外部网站