主要内容

fitSmoothingSpline

债券市场数据平滑样条

描述

例子

CurveObj= IRFunctionCurve.fitSmoothingSpline (类型,解决,仪器,Lambdafun)符合平滑样条为债券市场数据。

请注意

你必须有一个许可证曲线拟合工具箱™软件使用fitSmoothingSpline方法。

例子

CurveObj= IRFunctionCurve.fitSmoothingSpline (___,名称,值)添加可选名称-值对参数。

例子

全部折叠

这个例子展示了如何使用一个fitSmoothingSpline函数以适应为债券市场数据。

解决= repmat (datenum (30 - 4月- 2008 '),1 [6]);成熟= [datenum (' 07 - 3月- 2009 ');datenum (' 07 - 3月- 2011 ');datenum (' 07 - 3月- 2013 ');datenum (的7 - 9月- 2016);datenum (' 07 - 3月- 2025 ');datenum (' 07 - 3月- 2036 '));CleanPrice = [100.1; 100.1; 100.8; 96.6; 103.3; 96.3);CouponRate = [0.0400; 0.0425; 0.0450; 0.0400; 0.0500; 0.0425);仪器=[解决成熟度CleanPrice CouponRate];PlottingPoints = datenum (' 07 - 3月- 2009 '):180:datenum (' 07 - 3月- 2036 ');收益率= bndyield (CleanPrice CouponRate,解决、成熟度);%使用AUGKNT函数为一个三次样条构造结%每5年。CustomKnots = augknt (0:5:30 4);SmoothingModel = IRFunctionCurve.fitSmoothingSpline (“零”datenum (30 - 4月- 2008 '),仪器,@ (t) 1000,“节”,CustomKnots);%创造情节。情节(PlottingPoints getParYields (SmoothingModel PlottingPoints),“b”)举行散射(成熟,产量,“黑”)datetick (“x”)

图包含一个坐标轴对象。坐标轴对象包含2线类型的对象,散射。

这个例子展示了使用fitSmoothinSpline函数以适应利率曲线和模型Lambdafun罚函数。

首先,加载数据。

负载ukdata20080430

将等效零息债券回购利率。

RepoCouponRate = repmat(0,大小(RepoRates));RepoPrice = bndprice (RepoRates RepoCouponRate、RepoSettle RepoMaturity);

聚合数据。

解决= [RepoSettle; BondSettle];成熟= [RepoMaturity; BondMaturity];CleanPrice = [RepoPrice; BondCleanPrice];CouponRate = [RepoCouponRate; BondCouponRate];仪器=[解决成熟度CleanPrice CouponRate];InstrumentPeriod = [repmat (0, 1); repmat(1) 2, 31日];CurveSettle = datenum (30 - 4月- 2008 ');

选择的参数Lambdafun输入参数。

L = 9.2;S = 1;μ= 1;

定义Lambdafun罚函数。

lambdafun = @ (t) exp (L -(自旋)* exp (- t /亩));t = 0: .1:25;y = lambdafun (t);图semilogy (t、y);标题(对VRP的罚函数方法)ylabel (“惩罚”)包含(“时间”)

图包含一个坐标轴对象。坐标轴对象使用标题VRP的罚函数方法,包含时间,ylabel点球包含一个类型的对象。

使用fitSmoothinSpline函数以适应利率曲线和模型Lambdafun罚函数。

VRPModel = IRFunctionCurve.fitSmoothingSpline (“前进”CurveSettle,乐器,lambdafun“复合”,1“InstrumentPeriod”InstrumentPeriod)
VRPModel =类型:提出解决:733528(30 - 4月- 2008)复合:1基础:0(实际/实际)

画出平滑样条利率远期利率曲线。

:PlottingDates = CurveSettle + 20:30 CurveSettle + 365 * 25;TimeToMaturity = yearfrac (CurveSettle PlottingDates);VRPForwardRates = getForwardRates (VRPModel PlottingDates);人物,情节(TimeToMaturity VRPForwardRates)标题(英国瞬时名义向前曲线的平滑样条模型”)

图包含一个坐标轴对象。坐标轴对象与标题英国瞬时名义向前曲线的平滑样条模型包含一个类型的对象。

输入参数

全部折叠

指定类型的债券利率曲线,通过使用一个标量特征向量。

数据类型:字符

结算日期利率曲线,串行数字或日期指定特征向量。

数据类型:|字符

仪器,使用一个指定的N——- - - - - -4数据矩阵的第一列的位置解决日期使用串行日期编号,第二列是成熟使用一个串行日期数字,第三列是干净的价格,第四列是CouponRate债券。

数据类型:

罚函数,指定使用一个函数处理。时间的罚函数作为输入,并返回一个点球的价值。罚函数接受一个函数处理的数字输入(期限)并返回一个数值输出(处罚适用于曲率的样条)。定义一个函数处理的更多信息,参见MATLAB®编程基础知识文档。

请注意

曲线平滑样条代表着前进。花键是曲率通过指定一个罚函数的惩罚。这只能装了一个FitTypeDurationWeightedPrice

数据类型:function_handle

名称-值参数

指定可选的双参数作为Name1 = Value1,…,以=家,在那里的名字参数名称和吗价值相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。

R2021a之前,用逗号来分隔每一个名称和值,并附上的名字在报价。

例子:CurveObj = IRFunctionCurve.fitSmoothingSpline(‘零’,datenum(30 - 4月- 2008),仪器,@ (t) 1000年,“结”,CustomKnots)

名称-值对所有债券仪器参数

全部折叠

每年的复合频率IRFunctionCurve对象,指定为逗号分隔组成的“复合”和一个标量数字使用一个支持的价值观:万博1manbetx

  • −1=连续复利计算

  • 0=单利(不计息)

  • 1=年度复合

  • 2=半年计息

  • 3每年三次=复利

  • 4=季度复合

  • 6=双月刊复合

  • 12=每月复利

数据类型:

日计数的基础利率曲线,指定为逗号分隔组成的“基础”和一个标量整数。

  • 0 -实际/实际

  • 1 - 30/360 (SIA)

  • 2 -实际/ 360

  • 3 -实际/ 365

  • 4 - 30/360 (PSA)

  • 5 - 30/360 (ISDA)

  • 6 - 30/360(欧洲)

  • 实际/ 7 - 365(日本)

  • 8 -实际/实际(国际)

  • 9 -实际/ 360(国际)

  • 实际/ 10 - 365(国际)

  • 11 - 30/360E(国际)

  • 实际/ 12 - 365 (ISDA)

  • 13 -总线/ 252

有关更多信息,请参见基础

数据类型:

名称-值对为每个债券仪器参数

全部折叠

优惠券的债券,每年指定为逗号分隔组成的“InstrumentPeriod”和一个标量数值。

数据类型:

天计算债券的基础上,指定为逗号分隔组成的“InstrumentBasis”和一个标量整数。

  • 0 -实际/实际

  • 1 - 30/360 (SIA)

  • 2 -实际/ 360

  • 3 -实际/ 365

  • 4 - 30/360 (PSA)

  • 5 - 30/360 (ISDA)

  • 6 - 30/360(欧洲)

  • 实际/ 7 - 365(日本)

  • 8 -实际/实际(国际)

  • 9 -实际/ 360(国际)

  • 实际/ 10 - 365(国际)

  • 11 - 30/360E(国际)

  • 实际/ 12 - 365 (ISDA)

  • 13 -总线/ 252

请注意

InstrumentBasis不同债券的工具基础从利率曲线的值基础价值。

有关更多信息,请参见基础

数据类型:

月底规则,指定为逗号分隔组成的“InstrumentEndMonthRule”和一个逻辑值。这条规则只适用于当成熟是一个月底日期一个月有30或更少的天。

  • 0=无视规则,也就是说,债券的息票付款日期总是相同的数值的一天。

  • 1=裁决(默认),也就是说,债券的息票付款日期总是最后实际日。

数据类型:逻辑

仪器发行日期,指定为逗号分隔组成的“InstrumentIssueDate”和一个标量串行数字或日期特征向量。

数据类型:|字符

日期首次当债券票面利率支付(当债券有一个不规则的第一次使用优惠券),指定为逗号分隔组成的“InstrumentFirstCouponDate”和一个标量串行数字或日期特征向量。当InstrumentFirstCouponDateInstrumentLastCouponDate都是指定的,InstrumentFirstCouponDate优先支付在确定结构。如果你不指定一个InstrumentFirstCouponDate、现金流支付日期决定从其他输入。

数据类型:|字符

最后一息票债券的到期之前日期(使用去年息票债券有一个不规则的时期),指定为逗号分隔组成的“InstrumentLastCouponDate”和一个标量串行数字或日期特征向量。在缺乏指定InstrumentFirstCouponDate,一个指定的InstrumentLastCouponDate确定债券的票面利率结构。债券的票面利率结构是截断InstrumentLastCouponDate的,不管在哪里摔倒,是成熟之后只债券的现金流。如果你不指定一个InstrumentLastCouponDate、现金流支付日期决定从其他输入。

数据类型:|字符

脸或票面价值,指定为逗号分隔组成的“InstrumentFace”和一个标量数值。

数据类型:

请注意

当使用仪器名称-值对,您可以指定单利债券通过指定InstrumentPeriod值作为0。如果InstrumentBasisInstrumentPeriod不指定为键,使用默认值如下:InstrumentBasis0(行动/行为)InstrumentPeriod2

输出参数

全部折叠

平滑样条曲线模型,作为一个结构返回。

算法

期限结构可以建模与样条——具体来说,一种方法模型代表提出的期限结构是由三次样条曲线。充分确保样条平滑,点球是实施有关花键的曲率(二阶导数):

在第一项的区别是观察到的价格吗P和预测的价格, P ^ (加权债券的持续时间,D求和所有债券在我们的数据集,第二项是惩罚项(λ是罚函数f是花键)。

看到[3],[4],[5]。

有不同的罚函数的规范建议λ。倡导的一种方法,[4],目前使用的英国债务管理办公室,是以下的罚函数形式:

引用

[1]纳尔逊,C.R.,Siegel, A.F. “Parsimonious modelling of yield curves.”商业杂志》上。60卷,1987年,页473 - 89。

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

[3]费舍尔,M。Nychka D。Zervos D。“合适的利率期限结构与平滑样条函数。”联邦储备系统的理事会,联邦储备委员会工作报告1995 - 1。

[4]安德森,N。Sleath, J。“新英国实际和名义收益率曲线的估计。”英格兰银行的季度通报,11月,1999年,页384 - 92。

[5]御夫座,D。“样条方法提取利率曲线从附息债券价格。”联邦储备委员会工作报告1997 - 10。

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

[7]大胆,D.J.、Gusba年代。“指数、多项式和傅里叶级数:更多的加拿大银行收益率曲线造型。”加拿大银行工作论文2002 - 29日。

[8]大胆,D.J.Streliski D。“在加拿大银行收益率曲线造型。”技术报告84年,1999年,加拿大银行。

版本历史

介绍了R2008b