这个例子展示了如何引导利率曲线,通常称为互换曲线,使用IRDataCurve
对象。静态引导
方法以一系列市场工具(可以是存款、利率期货、掉期和债券)作为输入,并引导一条远期或零曲线的利率曲线。也可以指定多个插值方法,包括分段常数、线性和分段三次埃尔米特插值多项式(PCHIP)。
曲线是由市场数据引导的。在本例中,从存款、欧洲美元期货和掉期启动掉期曲线。
对于本例,输入的市场数据是硬编码的,并指定为2个单元数据数组,其中一个表示仪器的类型,另一个单元数组包含解决
,成熟
,以及该工具的市场报价。对于存款和掉期,报价是一个利率,而对于欧洲美元期货,报价是一个价格。虽然在这个例子中没有使用债券,但债券将被报价。
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
类。该方法的输入包括曲线类型(Zero或Forward)、结算日期、仪器类型、仪器数据和可选参数,包括插值方法、复利和自举的选项结构。注意,在这个例子中,您传入一个IRBootstrapOptions
对象,该对象包含用于远期汇率的凸度调整的信息。
IRsigma = . 01;CurveSettle = datenum (“08/10/2007”);bootModel = IRDataCurve.bootstrap (“前进”CurveSettle,...InstrumentTypes,仪器,“InterpMethod”,“pchip”,...“复合”, 1“IRBootstrapOptions”,...IRBootstrapOptions (“ConvexityAdjustment”@ (t) 5 * IRsigma ^ 2 * t ^ 2));
绘制正曲线和零曲线。
PlottingDates = (CurveSettle + 20:30: CurveSettle + 365 * 25) ';TimeToMaturity = yearfrac (CurveSettle PlottingDates);BootstrappedForwardRates = bootModel.getForwardRates (PlottingDates);BootstrappedZeroRates = bootModel.getZeroRates (PlottingDates);图保存在情节(TimeToMaturity BootstrappedForwardRates,“r”)情节(TimeToMaturity BootstrappedZeroRates,‘g’)标题(“引导曲线”)包含(“时间”)({传奇“前进”,“零”})
这个例子来自以下论文和期刊文章:
[1] Hagan, P., West, G.(2006)。曲线构造的插值方法。应用数学金融学,第13卷第2期
[2] Ron, Uri(2000)。《构建交换曲线的实用指南》工作文件00-17,加拿大银行。