这个例子展示了如何使用gydF4y2BaIRFunctionCurvegydF4y2Ba
模型利率期限结构(也称为收益率曲线)的对象。这可以与用日期和数据向量建模期限结构和在点之间插值(目前可以用函数完成)形成对比gydF4y2BaprbyzerogydF4y2Ba
).期限结构至少可以指三种不同的曲线:贴现曲线、零曲线或远期曲线。gydF4y2Ba
的gydF4y2BaIRFunctionCurvegydF4y2Ba
对象允许您将利率曲线建模为函数。gydF4y2Ba
这个例子探讨了如何使用gydF4y2BaIRFunctionCurvegydF4y2Ba
目的是模拟英国的无违约期限利率结构。期限结构实现了三种不同的形式,稍后将进行更详细的讨论:gydF4y2Ba
- siegelgydF4y2Ba
SvenssongydF4y2Ba
用所谓的变粗糙度惩罚(VRP)平滑三次样条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,大小(RepoRates));RepoPrice = bndprice(RepoRates, RepoCouponRate, RepoSettle, RepoMaturity);gydF4y2Ba%汇总数据gydF4y2Ba解决= [RepoSettle; BondSettle];成熟= [RepoMaturity; BondMaturity];CleanPrice = [RepoPrice; BondCleanPrice];CouponRate = [RepoCouponRate; BondCouponRate];工具=[结算到期CleanPrice CouponRate];InstrumentPeriod = [repmat (0, 1); repmat(1) 2, 31日];CurveSettle = datenum (gydF4y2Ba30 - 4月- 2008 'gydF4y2Ba);gydF4y2Ba
Nelson-Siegel模型提出,瞬时正演曲线可以用以下方法建模:gydF4y2Ba
这可以被集成来推导零曲线的方程(关于方程和推导的更多信息,请参阅[6]):gydF4y2Ba
参见[gydF4y2Ba1gydF4y2Ba,以获取更多信息。gydF4y2Ba
的gydF4y2BaIRFunctionCurvegydF4y2Ba
对象提供了拟合Nelson Siegel曲线的能力,以观察市场数据gydF4y2BafitNelsonSiegelgydF4y2Ba
方法。通过调用最优化工具箱™函数来进行拟合gydF4y2BalsqnonlingydF4y2Ba
.gydF4y2Ba
的gydF4y2BafitNelsonSiegelgydF4y2Ba
函数需要曲线的输入gydF4y2Ba类型gydF4y2Ba
,曲线gydF4y2Ba解决gydF4y2Ba
,以及仪器数据矩阵。gydF4y2Ba
在名称-值对参数中指定的可选输入参数有:gydF4y2Ba
IRFitOptionsgydF4y2Ba
structure:提供选择要最小化的数量(价格、收益率或期限加权价格)和其他优化参数(例如参数的上界和下界)的能力。gydF4y2Ba
曲线gydF4y2Ba复合gydF4y2Ba
和gydF4y2Ba基础gydF4y2Ba
(日计数公约)gydF4y2Ba
额外的仪器参数,gydF4y2Ba期gydF4y2Ba
,gydF4y2Ba基础gydF4y2Ba
,gydF4y2BaFirstCouponDategydF4y2Ba
,等等。gydF4y2Ba
NSModel = IRFunctionCurve.fitNelsonSiegel (gydF4y2Ba“零”gydF4y2BaCurveSettle,gydF4y2Ba...gydF4y2Ba仪器,gydF4y2Ba“InstrumentPeriod”gydF4y2Ba, InstrumentPeriod);gydF4y2Ba
Svensson模型与Nelson-Siegel模型非常相似,它增加了两个额外的参数,以说明期限结构的更大灵活性。该模型提出远期汇率可以用以下形式建模:gydF4y2Ba
如上所述,可以将其积分得到零曲线的方程:gydF4y2Ba
参见[gydF4y2Ba2gydF4y2Ba,以获取更多信息。gydF4y2Ba
对该模型进行参数拟合的方式类似于Nelson-Siegel模型gydF4y2BafitSvenssongydF4y2Ba
函数。gydF4y2Ba
SvenssonModel = IRFunctionCurve.fitSvensson (gydF4y2Ba“零”gydF4y2BaCurveSettle,gydF4y2Ba...gydF4y2Ba仪器,gydF4y2Ba“InstrumentPeriod”gydF4y2Ba, InstrumentPeriod);gydF4y2Ba
期限结构也可以用样条来建模,具体来说,对期限结构建模的一种方法是用三次样条来表示远期曲线。为了确保样条足够光滑,需要对样条的曲率(二阶导数)进行惩罚:gydF4y2Ba
第一项是观察价格之间的差gydF4y2BaPgydF4y2Ba预测价格,gydF4y2BaP_hatgydF4y2Ba,(由债券的持续时间加权,gydF4y2BaDgydF4y2Ba)对数据集中所有化学键求和,第二项是惩罚项(其中gydF4y2BaλgydF4y2Ba是罚函数和gydF4y2BafgydF4y2Ba是花键)。gydF4y2Ba
参见[gydF4y2Ba3.gydF4y2Ba], [gydF4y2Ba4gydF4y2Ba], [gydF4y2Ba5gydF4y2Ba下面)。gydF4y2Ba
对于罚函数的具体规定,已有不同的建议gydF4y2BaλgydF4y2Ba.[gydF4y2Ba4gydF4y2Ba],目前由英国债务管理办公室使用,是一种惩罚功能,形式如下: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;μ= 1;= @(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
VRPModel = IRFunctionCurve.fitSmoothingSpline (gydF4y2Ba“前进”gydF4y2BaCurveSettle,gydF4y2Ba...gydF4y2Ba乐器,lambdafungydF4y2Ba“复合”gydF4y2Ba, 1gydF4y2Ba...gydF4y2Ba“InstrumentPeriod”gydF4y2Ba, InstrumentPeriod);gydF4y2Ba
一旦创建了一条曲线,就会使用函数来提取远期利率、零利率和贴现因子。这条曲线也可以转换成gydF4y2BaRateSpecgydF4y2Ba
结构使用gydF4y2BatoRateSpecgydF4y2Ba
函数。的gydF4y2BaRateSpecgydF4y2Ba
然后可以与Financial Instruments Toolbox™中的许多其他函数一起使用gydF4y2Ba
: PlottingDates = CurveSettle + 20:30 CurveSettle + 365 * 25;TimeToMaturity = 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
这个链接提供了对英国发布的衍生收益率曲线的实时观察gydF4y2Ba
https://www.bankofengland.co.ukgydF4y2Ba
这个例子是基于以下的论文和期刊文章:gydF4y2Ba
纳尔逊,c.r.,西格尔,A.F.“收益曲线的简约建模”。gydF4y2Ba商业杂志》上。gydF4y2Ba60,第473-89页,1987。gydF4y2Ba
[2] Svensson L.E.O.《预测和解释远期利率:1992-4年瑞典》国际货币基金组织,货币基金组织工作文件,1994/114,1994。gydF4y2Ba
[3] Fisher, M, Nychka, D, Zervos, D。用平滑样条拟合利率期限结构联邦储备系统理事会,联邦储备委员会工作文件,95-1,1995。gydF4y2Ba
安德森,N,斯利斯,J。《英国实际和名义收益率曲线的新估计》。gydF4y2Ba英格兰银行季刊。gydF4y2Ba11月,第384- 92,1999年。gydF4y2Ba
[5]御夫座,D。从息票债券价格中提取利率曲线的样条方法。联邦储备委员会工作文件,97-10,1997。gydF4y2Ba
[6] "零息债券收益率曲线:技术文档。"BIS论文第25号,2005年10月。gydF4y2Ba
[7] Bolder, d.j., Gusba,S。指数、多项式和傅里叶级数:加拿大银行更多的收益率曲线建模工作文件02-29,加拿大银行,2002。gydF4y2Ba
[8] Bolder, d.j., Streliski, D。"加拿大银行的收益率曲线模型"技术报告84,加拿大银行,1999。gydF4y2Ba
IRBootStrapOptionsgydF4y2Ba
|gydF4y2BaIRDataCurvegydF4y2Ba
|gydF4y2BaIRFunctionCurvegydF4y2Ba
|gydF4y2BaIRFitOptionsgydF4y2Ba