主要内容gydF4y2Ba

拟合利率曲线函数gydF4y2Ba

这个例子展示了如何使用gydF4y2BaIRFunctionCurvegydF4y2Ba对利率的期限结构(也称为收益率曲线)进行建模的对象。这可以与用日期和数据向量建模术语结构以及在点之间进行插值(目前可以用函数完成)形成对比gydF4y2BaprbyzerogydF4y2Ba)。gydF4y2Ba

期限结构至少可以指三种不同的曲线:贴现曲线、零曲线或远期曲线。gydF4y2Ba

的gydF4y2BaIRFunctionCurvegydF4y2Ba对象允许您将利率曲线建模为函数。gydF4y2Ba

这个例子探讨了如何使用gydF4y2BaIRFunctionCurvegydF4y2Ba为英国无违约利率期限结构建模。期限结构的三种不同形式将在后面进行更详细的讨论:gydF4y2Ba

  • - siegelgydF4y2Ba

  • SvenssongydF4y2Ba

  • 用所谓的可变粗糙度惩罚(VRP)平滑三次样条gydF4y2Ba

数据选择gydF4y2Ba

收益率曲线建模的第一个问题是应该使用哪些数据。为了模拟无违约收益率曲线,必须使用无违约、无期权的市场工具。数据中最重要的组成部分是英国政府债券(Gilts)。历史数据从以下站点检索:gydF4y2Ba

https://www.dmo.gov.ukgydF4y2Ba

回购数据用于构建收益率曲线的短端。回购数据从以下站点检索:gydF4y2Ba

https://www.ukfinance.org.uk/gydF4y2Ba

还要注意,数据必须指定为列所在的矩阵gydF4y2Ba解决gydF4y2Ba,gydF4y2Ba成熟gydF4y2Ba,gydF4y2BaCleanPricegydF4y2Ba,gydF4y2BaCouponRategydF4y2Ba而这些工具必须是债券或合成转换成债券。gydF4y2Ba

截止日期为2008年4月30日的市场数据已下载并保存至以下数据文件(gydF4y2Baukdata20080430gydF4y2Ba),通过以下命令将其加载到MATLAB®中:gydF4y2Ba

加载数据gydF4y2Ba负载gydF4y2Baukdata20080430gydF4y2Ba将回购利率转换为等价的零息债券gydF4y2BaRepoCouponRate = repmat(0,size(RepoRates));RepoPrice = bndprice(RepoRates, RepoCouponRate, RepoSettle, RepoMaturity);gydF4y2Ba聚合数据gydF4y2Ba结算= [RepoSettle;BondSettle];到期=[债券到期;债券到期];CleanPrice = [RepoPrice;BondCleanPrice];CouponRate = [RepoCouponRate;BondCouponRate];工具=[结算期限清洁价格息票率];仪器周期= [repmat(0,6,1);repmat(2,31,1)];CurveSettle = datenum(gydF4y2Ba30 - 4月- 2008 'gydF4y2Ba);gydF4y2Ba

Nelson-Siegel模型与市场数据的拟合gydF4y2Ba

Nelson-Siegel模型提出,瞬时正向曲线可以用以下方式建模:gydF4y2Ba

fgydF4y2Ba =gydF4y2Ba βgydF4y2Ba 0gydF4y2Ba +gydF4y2Ba βgydF4y2Ba 1gydF4y2Ba egydF4y2Ba -gydF4y2Ba 米gydF4y2Ba τgydF4y2Ba +gydF4y2Ba βgydF4y2Ba 2gydF4y2Ba egydF4y2Ba -gydF4y2Ba 米gydF4y2Ba τgydF4y2Ba 米gydF4y2Ba τgydF4y2Ba

这可以通过积分得到零曲线的方程(有关方程和推导的更多信息,请参阅[6]):gydF4y2Ba

年代gydF4y2Ba =gydF4y2Ba βgydF4y2Ba 0gydF4y2Ba +gydF4y2Ba (gydF4y2Ba βgydF4y2Ba 1gydF4y2Ba +gydF4y2Ba βgydF4y2Ba 2gydF4y2Ba )gydF4y2Ba τgydF4y2Ba 米gydF4y2Ba (gydF4y2Ba 1gydF4y2Ba -gydF4y2Ba egydF4y2Ba -gydF4y2Ba 米gydF4y2Ba τgydF4y2Ba )gydF4y2Ba -gydF4y2Ba βgydF4y2Ba 2gydF4y2Ba egydF4y2Ba -gydF4y2Ba 米gydF4y2Ba τgydF4y2Ba

更多信息请参见[1]。gydF4y2Ba

的gydF4y2BaIRFunctionCurvegydF4y2Ba对象提供了将Nelson Siegel曲线与观察到的市场数据拟合的能力gydF4y2BafitNelsonSiegelgydF4y2Ba方法。通过调用优化工具箱™函数来进行拟合gydF4y2BalsqnonlingydF4y2Ba.gydF4y2Ba

的gydF4y2BafitNelsonSiegelgydF4y2Ba方法需要输入曲线gydF4y2Ba类型gydF4y2Ba,曲线gydF4y2Ba解决gydF4y2Ba,以及仪器数据矩阵。gydF4y2Ba

可选输入参数,在名称-值对参数中指定,包括:gydF4y2Ba

  • IRFitOptionsgydF4y2Ba结构:提供选择最小化数量(价格、收益率或持续时间加权价格)和其他优化参数(例如参数的上限和下限)的能力。gydF4y2Ba

  • 曲线gydF4y2Ba复合gydF4y2Ba而且gydF4y2Ba基础gydF4y2Ba(日计数公约)gydF4y2Ba

  • 附加仪器参数:gydF4y2Ba期gydF4y2Ba,gydF4y2Ba基础gydF4y2Ba,gydF4y2BaFirstCouponDategydF4y2Ba等等。gydF4y2Ba

NSModel = irfunction曲线。gydF4y2Ba“零”gydF4y2BaCurveSettle,gydF4y2Ba...gydF4y2Ba仪器,gydF4y2Ba“InstrumentPeriod”gydF4y2Ba, InstrumentPeriod);gydF4y2Ba

适合Svensson模型gydF4y2Ba

一个与Nelson-Siegel模型非常相似的模型是Svensson模型,它增加了两个额外的参数,以考虑期限结构的更大灵活性。该模型提出正向速率可以用以下形式进行建模:gydF4y2Ba

fgydF4y2Ba =gydF4y2Ba βgydF4y2Ba 0gydF4y2Ba +gydF4y2Ba βgydF4y2Ba 1gydF4y2Ba egydF4y2Ba -gydF4y2Ba 米gydF4y2Ba τgydF4y2Ba 1gydF4y2Ba +gydF4y2Ba βgydF4y2Ba 2gydF4y2Ba egydF4y2Ba -gydF4y2Ba 米gydF4y2Ba τgydF4y2Ba 1gydF4y2Ba 米gydF4y2Ba τgydF4y2Ba 1gydF4y2Ba +gydF4y2Ba βgydF4y2Ba 3.gydF4y2Ba egydF4y2Ba -gydF4y2Ba 米gydF4y2Ba τgydF4y2Ba 2gydF4y2Ba 米gydF4y2Ba τgydF4y2Ba 2gydF4y2Ba

如上所述,这可以积分得到零曲线的方程:gydF4y2Ba

年代gydF4y2Ba =gydF4y2Ba βgydF4y2Ba 0gydF4y2Ba +gydF4y2Ba βgydF4y2Ba 1gydF4y2Ba (gydF4y2Ba 1gydF4y2Ba -gydF4y2Ba egydF4y2Ba -gydF4y2Ba 米gydF4y2Ba τgydF4y2Ba 1gydF4y2Ba )gydF4y2Ba (gydF4y2Ba -gydF4y2Ba τgydF4y2Ba 1gydF4y2Ba 米gydF4y2Ba )gydF4y2Ba +gydF4y2Ba βgydF4y2Ba 2gydF4y2Ba (gydF4y2Ba (gydF4y2Ba 1gydF4y2Ba -gydF4y2Ba egydF4y2Ba -gydF4y2Ba 米gydF4y2Ba τgydF4y2Ba 1gydF4y2Ba )gydF4y2Ba τgydF4y2Ba 1gydF4y2Ba 米gydF4y2Ba -gydF4y2Ba egydF4y2Ba 米gydF4y2Ba τgydF4y2Ba 1gydF4y2Ba )gydF4y2Ba +gydF4y2Ba βgydF4y2Ba 3.gydF4y2Ba (gydF4y2Ba (gydF4y2Ba 1gydF4y2Ba -gydF4y2Ba egydF4y2Ba -gydF4y2Ba 米gydF4y2Ba τgydF4y2Ba 2gydF4y2Ba )gydF4y2Ba τgydF4y2Ba 2gydF4y2Ba 米gydF4y2Ba -gydF4y2Ba egydF4y2Ba 米gydF4y2Ba τgydF4y2Ba 2gydF4y2Ba )gydF4y2Ba

更多信息请参见[2]。gydF4y2Ba

对该模型进行参数拟合的方式与使用的Nelson-Siegel模型类似gydF4y2BafitSvenssongydF4y2Ba方法。gydF4y2Ba

svensson模型= IRFunctionCurve.fitSvensson(gydF4y2Ba“零”gydF4y2BaCurveSettle,gydF4y2Ba...gydF4y2Ba仪器,gydF4y2Ba“InstrumentPeriod”gydF4y2Ba, InstrumentPeriod);gydF4y2Ba

拟合平滑样条gydF4y2Ba

期限结构也可以用样条曲线来建模,具体来说,期限结构建模的一种方法是用三次样条来表示正向曲线。为了确保样条足够平滑,将对样条的曲率(二阶导数)施加惩罚:gydF4y2Ba

∑gydF4y2Ba 我gydF4y2Ba =gydF4y2Ba 1gydF4y2Ba NgydF4y2Ba [gydF4y2Ba PgydF4y2Ba 我gydF4y2Ba -gydF4y2Ba PgydF4y2Ba ˆgydF4y2Ba 我gydF4y2Ba (gydF4y2Ba fgydF4y2Ba )gydF4y2Ba DgydF4y2Ba 我gydF4y2Ba ]gydF4y2Ba 2gydF4y2Ba +gydF4y2Ba ∫gydF4y2Ba 0gydF4y2Ba 米gydF4y2Ba λgydF4y2Ba tgydF4y2Ba (gydF4y2Ba 米gydF4y2Ba )gydF4y2Ba [gydF4y2Ba fgydF4y2Ba ”gydF4y2Ba ”gydF4y2Ba (gydF4y2Ba 米gydF4y2Ba )gydF4y2Ba ]gydF4y2Ba 2gydF4y2Ba dgydF4y2Ba 米gydF4y2Ba

第一项是观察到的价格之间的差值gydF4y2BaPgydF4y2Ba预测价格,gydF4y2BaP_hatgydF4y2Ba,(按债券的存续期加权,gydF4y2BaDgydF4y2Ba)对数据集中的所有债券求和,第二项为惩罚项(其中gydF4y2BaλgydF4y2Ba惩罚函数和gydF4y2BafgydF4y2Ba是样条)。gydF4y2Ba

见下面的[3],[4],[5]。gydF4y2Ba

对于惩罚函数的规范有不同的建议gydF4y2BaλgydF4y2Ba.[4]倡导的一种方法,目前被英国债务管理办公室(UK Debt Management Office)使用,是如下形式的惩罚函数:gydF4y2Ba

lgydF4y2Ba ogydF4y2Ba ggydF4y2Ba (gydF4y2Ba λgydF4y2Ba (gydF4y2Ba 米gydF4y2Ba )gydF4y2Ba )gydF4y2Ba =gydF4y2Ba lgydF4y2Ba -gydF4y2Ba (gydF4y2Ba lgydF4y2Ba -gydF4y2Ba 年代gydF4y2Ba )gydF4y2Ba egydF4y2Ba -gydF4y2Ba 米gydF4y2Ba μgydF4y2Ba

的参数gydF4y2BalgydF4y2Ba,gydF4y2Ba年代gydF4y2Ba,gydF4y2BaμgydF4y2Ba通常是根据历史数据估计的。gydF4y2Ba

的gydF4y2BaIRFunctionCurvegydF4y2Ba对象可以使用该方法用罚函数拟合正向曲线的平滑样条表示gydF4y2BafitSmoothingSplinegydF4y2Ba.gydF4y2Ba

与上面的方法一样,所需的输入是agydF4y2BaCurveTypegydF4y2Ba,曲线gydF4y2Ba解决gydF4y2Ba,gydF4y2Ba仪器gydF4y2Ba矩阵和函数句柄(gydF4y2BaLambdafungydF4y2Ba)包含惩罚函数。gydF4y2Ba

可选参数类似于gydF4y2BafitNelsonSiegelgydF4y2Ba而且gydF4y2BafitSvenssongydF4y2Ba.gydF4y2Ba

%参数选择大致类似于下面的[4]。gydF4y2BaL = 9.2;S = -1;Mu = 1;lambdafun = @(t) exp(L - (L- s)*exp(-t/mu));gydF4y2Ba构造惩罚函数gydF4y2BaT = 0:.1:25;gydF4y2Ba构造数据绘制惩罚函数gydF4y2BaY = lambdafun(t);图semilogy (t、y);标题(gydF4y2Ba“VRP方法的惩罚函数”gydF4y2Ba) ylabel (gydF4y2Ba“惩罚”gydF4y2Ba)包含(gydF4y2Ba“时间”gydF4y2Ba)gydF4y2Ba

图中包含一个轴。VRP方法的标题为罚函数的轴包含一个类型为line的对象。gydF4y2Ba

VRPModel = IRFunctionCurve.fitSmoothingSpline(gydF4y2Ba“前进”gydF4y2BaCurveSettle,gydF4y2Ba...gydF4y2Ba乐器,lambdafungydF4y2Ba“复合”gydF4y2Ba, 1gydF4y2Ba...gydF4y2Ba“InstrumentPeriod”gydF4y2Ba, InstrumentPeriod);gydF4y2Ba

使用拟合曲线和绘图结果gydF4y2Ba

一旦构建了曲线,就会使用提取远期利率和零利率以及贴现因子的方法。这条曲线也可以转换成agydF4y2BaRateSpecgydF4y2Ba结构,使用gydF4y2BatoRateSpecgydF4y2Ba方法。的gydF4y2BaRateSpecgydF4y2Ba可以与金融工具工具箱™中的许多其他功能一起使用gydF4y2Ba

PlottingDates = CurveSettle+20:30:CurveSettle+365*25;timetommaturity = yearfrac(CurveSettle,PlottingDates);NSForwardRates = NSModel.getForwardRates(PlottingDates);SvenssonForwardRates = SvenssonModel.getForwardRates(PlottingDates);VRPForwardRates = VRPModel.getForwardRates(PlottingDates);图保存gydF4y2Ba在gydF4y2Ba情节(TimeToMaturity NSForwardRates,gydF4y2Ba“r”gydF4y2Ba)情节(TimeToMaturity SvenssonForwardRates,gydF4y2Ba‘g’gydF4y2Ba)情节(TimeToMaturity VRPForwardRates,gydF4y2Ba“b”gydF4y2Ba)标题(gydF4y2Ba“英国瞬时名义远期曲线”gydF4y2Ba)包含(gydF4y2Ba“几年”gydF4y2Ba)({传奇gydF4y2Ba“纳尔逊·西格尔”gydF4y2Ba,gydF4y2Ba“Svensson”gydF4y2Ba,gydF4y2Ba“与”gydF4y2Ba})gydF4y2Ba

图中包含一个轴。标题为UK瞬时标称正向曲线的轴包含3个类型为直线的对象。这些物品代表了尼尔森·西格尔,斯文森,VRP。gydF4y2Ba

与本链接比较gydF4y2Ba

此链接提供了英国发布的衍生收益率曲线的实时信息gydF4y2Ba

https://www.bankofengland.co.ukgydF4y2Ba

参考书目gydF4y2Ba

本例基于以下论文和期刊文章:gydF4y2Ba

[1]纳尔逊,c.r.,西格尔,a.f.(1987),“收益率曲线的简约建模”。gydF4y2Ba《商业杂志》。gydF4y2Ba60,第473-89页。gydF4y2Ba

[2] Svensson, L.E.O.(1994),“估计和解释远期利率:瑞典1992-4。”国际货币基金组织,货币基金组织工作文件,1994/114。gydF4y2Ba

[3] Fisher, M., Nychka, D., Zervos, D.(1995),“用平滑样条拟合利率期限结构”。联邦储备系统理事会,联邦储备委员会工作文件,95-1。gydF4y2Ba

[4]安德森,N., Sleath, J.(1999),“英国实际和名义收益率曲线的新估计。”gydF4y2Ba英格兰银行季刊。gydF4y2Ba十一月,384-92页。gydF4y2Ba

[5] Waggoner, D.(1997),“从息票债券价格中提取利率曲线的样条方法”。联邦储备委员会工作文件,97-10。gydF4y2Ba

[6]“零息收益率曲线:技术文档。”BIS文件第25号,2005年10月。gydF4y2Ba

[7] Bolder, D.J, Gusba,S(2002),“指数、多项式和傅立叶级数:加拿大银行的更多收益率曲线建模。”工作文件02-29,加拿大银行。gydF4y2Ba

[8] Bolder, D.J, Streliski, D(1999),“加拿大银行的收益率曲线建模”。技术报告84,加拿大银行。gydF4y2Ba