使用卡尔曼滤波器估计和预测的迪堡,李型号

在2008年的金融危机之后,额外的偿付能力法规已经实施许多金融机构,将在市场估值更加重视,占负债。许多公司,尤其是保险公司和养老基金,写年金合同及招致长期负债呼吁复杂的方法,以模型和预测收益率曲线。

此外,由于长期负债的值极大地增加在低利率的环境中,非常低的产率的概率应该被准确地建模。在这种情况下,使用了卡尔曼滤波器的,与它的能力驱动观察的产率的演变一体化时变系数并推断未观察到的因素,常常是适合的产率曲线模型参数估计和产率的后续模拟和预测,这是在保险和养老金分析的心脏。

下面的例子说明通过拟合流行的迪堡 - 李利用状态空间模型(SSM)和卡尔曼滤波产量,只有模型[2]以每月的时间序列从政府债券数据得出的收益率曲线。这个例子的亮点估计,在计量经济学工具箱™提供的SSM功能仿真,平滑和预测能力,并比较其估计性能到的更传统的计量经济学方法。

该示例首先介绍了迪堡丽模型,然后概述了计量经济学工具箱的SSM功能所支持的参数状态空间,然后示出了如何迪堡锂模型可以在状态空间来配制。万博1manbetx一旦在状态空间中配制时,例如再现发表在在采样的估计结果[2],并将所得结果与所述两步方法的结果进行比较[1]

最后,通过一个简单的例子说明最小均方误差(MMSE)预测和蒙特卡罗模拟SSM功能的能力。

迪堡丽型号收益率曲线模型

迪堡 - 李模型是纳尔逊 - 西格尔模型的变种[3],获得通过重新参数化的原始制剂中。观察日期 Ť 以及到期时间 τ ,迪堡,李模型刻画了产量 ÿ Ť τ 作为四个参数的函数:

ÿ Ť τ = 大号 Ť + 小号 Ť 1 - Ë - λ τ λ τ + C Ť 1 - Ë - λ τ λ τ - Ë - λ τ

在这 大号 Ť 是长期因素,或水平 小号 Ť 是短期的因素,或 C Ť 是中期因子,或曲率 λ 决定了在曲率装载被最大化的成熟,和支配该模型的指数衰减速率。

计量经济学工具箱的状态空间模型(SSM)

SSM计量经济学工具箱的功能允许用户指定状态空间给定的问题。一旦指定一个SSM的参数形式,附加的相关的功能允许用户估计经由最大似然模型参数,通过向后和向前递归获得平滑和滤波状态,并且,获得未观测到的(潜)状态和观察到的数据的最佳预测,以及的通过蒙特卡罗潜状态和观测数据的路径模拟样本。

对于状态向量 X Ť 和观测向量 ÿ Ť 中,计量经济学工具箱SSM的参数形式表示在下面的线性状态空间:

X Ť = 一个 Ť X Ť - 1 + Ť ü Ť

ÿ Ť = C Ť X Ť + d Ť ε Ť

哪里 ü Ť ε Ť 是不相关的,单位方差的白噪声向量的过程。另外,在上述SSM表示,第一方程被称为状态方程和第二个作为观测方程。模型参数 一个 Ť Ť C Ť d Ť 被称为状态转变状态扰动负荷测量灵敏度观察创新矩阵,分别。

虽然在计量经济学工具箱中的SSM功能将容纳时变的(动态)参数 一个 Ť Ť C Ť d Ť 其值和尺寸随时间变化,在迪堡 - 李模型这些参数是时间不变(静态)。

迪堡丽型号的状态空间配方

上面介绍的迪堡锂模型被配制成使得该电平,斜率和曲率因子遵循一级,或VAR(1)的向量自回归过程,并且这样的模型立即形成一个状态空间系统。使用迪堡,鲁迪布什和Aruoba的符号[2],控制状态向量(水平、斜率和曲率因子)动力学的状态转换方程为

大号 Ť - μ 大号 小号 Ť - μ 小号 C Ť - μ C = 一个 1 1 一个 1 2 一个 1 3 一个 2 1 一个 2 2 一个 2 3 一个 3 1 一个 3 2 一个 3 3 大号 Ť - 1 - μ 大号 小号 Ť - 1 - μ 小号 C Ť - 1 - μ C + η Ť 大号 η Ť 小号 η Ť C

对应的观测(测量)方程可写为

ÿ Ť τ 1 ÿ Ť τ 2 ÿ Ť τ ñ = 1 1 - Ë - λ τ 1 λ τ 1 1 - Ë - λ τ 1 λ τ 1 - Ë - λ τ 1 1 1 - Ë - λ τ 2 λ τ 2 1 - Ë - λ τ 2 λ τ 2 - Ë - λ τ 2 1 1 - Ë - λ τ ñ λ τ ñ 1 - Ë - λ τ ñ λ τ ñ - Ë - λ τ ñ 大号 Ť 小号 Ť C Ť + Ë Ť τ 1 Ë Ť τ 2 Ë Ť τ ñ

在矢量矩阵表示法中,迪堡锂模型改写为用于均值调整因子的3-d向量下列状态空间系统 F Ť 和观察到的产率 ÿ Ť

F Ť - μ = 一个 F Ť - 1 - μ + η Ť

ÿ Ť = Λ F Ť + Ë Ť

在哪里正交,高斯白噪声处理 η Ť Ë Ť 被限定为使得

η Ť Ë Ť w ^ ñ 0 0 Q 0 0 H

此外,迪堡 - 李模型被配制成使得状态方程因素干扰 η Ť 是相关的,因此相应的协方差矩阵 Q 非对角线。相比之下,然而,该模型强加给协方差矩阵对角性 H 观测方程的扰动 Ë Ť 在不同期限观察产量,使得偏差是不相关的。

将潜伏期定义为均值调整因子

X Ť = F Ť - μ

和截距调整,或放气时,产率

ÿ Ť = ÿ Ť - Λ μ

而代入上述方程,和迪堡利状态空间系统可以被改写为

X Ť = 一个 X Ť - 1 + η Ť

ÿ Ť = ÿ Ť - Λ μ = Λ X Ť + Ë Ť

现在,迪堡 - 李状态空间系统比较由计量经济学工具箱的SSM功能所支持的配方,万博1manbetx

X Ť = 一个 X Ť - 1 + ü Ť

ÿ Ť = C X Ť + d ε Ť

从上面的状态空间系统,我们立即看到状态转移矩阵 一个 两个公式和那个Diebold-Li矩阵是一样的吗 Λ 仅仅是状态测量灵敏度矩阵 C 在SSM制剂。

扰动之间的关系,但是,和因此的参数化 d 的SSM制剂的基质,是更微妙。看到这种关系,请注意

η Ť = ü Ť

Ë Ť = d ε Ť

由于每个模型的扰动必须是相同的,协方差 η Ť 在迪堡锂制剂必须等于缩放白噪声SSM过程的协方差 ü Ť 。同样,协方差 Ë Ť 必须等于该过程的 d ε Ť 。此外,由于 ü Ť ε Ť 在SSM制剂扰动被定义为不相关的,单位方差的白噪声向量的过程,其协方差矩阵是单位矩阵。

因此,在的一个应用程序线性变换属性高斯随机向量,迪堡锂制剂的协方差相关的SSM制剂使得所述参数

Q =

H = d d

为了使Diebold-Li模型符合计量经济学工具箱的估计,用户必须首先创建一个SSM模型SSM函数。而且,SSM模型可以与显式或隐式定义未知参数来创建。

要显式地创建SSM模型,需要所有的矩阵 一个 C d 必须提供。在明确的方法,未知参数显示为值,以指示存在和未知值的放置;每条目对应一个唯一的参数估计。

虽然通过直接指定参数创建模型明确 一个 C d 有时比指定模型隐含地更方便,显式方法的效用是有限的,每个估计的参数影响和唯一地与一个系数矩阵的单个元素相关联。

隐式地创建一个模型,用户必须指定的输入参数向量映射到模型参数的参数映射函数 一个 C d 。在隐式方法中,映射函数单独定义模型,对于估计复杂模型和施加各种参数约束特别方便。

此外,SSM框架不存储的状态变量的非零偏移或与观测方程中的回归组件相关联的任何参数。取而代之的是,一个回归分量被放气的观察估计 ÿ Ť 。类似地,其它相关SSM的功能,如过滤器光滑预测模拟中,假设观测已经手动放气,或预处理,以考虑到观测方程中的任何偏移或消退组件。

由于Diebold-Li模型为这三个因素中的每一个都包含了一个非零偏移(均值),它代表了一个简单但常见的回归组件,因此本例使用了一个映射函数。此外,映射函数还对协方差矩阵施加对称约束 Q = 和协方差矩阵的对角约束 H = d d ,两者都特别适合于隐式方法。此外,映射函数还允许我们估计 λ 衰减率参数。

注意,该状态空间制剂,以及相应的方法包括回归成分,不是唯一的。例如,所述因子偏移也可以通过增加状态向量的维数包括在内。

在本例中采用的方法中,将因子偏移量包含在SSM表示的状态方程中,从而在观测方程中引入了一个回归组件。为了允许这种调整,本例使用一个参数映射函数来缩小模型估计期间观察到的收益率。该方法的优点是未观测因子的状态向量维数保持为3,直接对应于三维产量也仅仅迪堡,鲁迪布什和Aruoba的因子模型[2]。缺点是,由于估计是对放低收益率进行的,其他SSM函数也必须通过放低收益率并随后使收益率膨胀来考虑这种调整。

收益曲线数据

产量数据包括时间序列的29年每月的不光滑Fama-Bliss美国财政部零息产率,所用的和在所讨论的[1][2]中,出于3成熟度,6,9,12,15,18,21,24,30,36,48,60,72,84,96,108,和120个月。该收益率以百分比表示,并在每个月底记录,开始1972年1月和总共的17个各期限的348条每月曲线截至2000年12月。整个未平滑法玛-布利斯产量曲线数据集,一个子集,其中在使用[1][2],可以在这里找到https://www.sas.upenn.edu/~fdiebold/papers/paper49/FBFITTED.txt

以下的分析采用全迪堡 - 李的数据集的复制发表的估计结果[2],并比较两步骤和SSM接近。

作为替代方案,所述数据集也可以被划分成一个样本内期间用于估计每个模型,和一个外的样本期间保留评估预测性能。在概念上,这样的预测准确性分析可以以类似于在发表在迪堡和Li的表4-6中的方式进行[1]。然而,这样做会花费太长时间才能完成,因此不适合于实时MATLAB例子。

负载Data_DieboldLi期限到期=(:);%确保的列向量产率=数据(1:结束,:);%样本内产量估计

两步迪堡 - 李模型估计

在他们的原始论文[1],迪堡和Li估计使用两个步骤的方法其产量曲线模型的参数:

  • λ 保持固定,估计电平,斜率和曲率为每个月产量曲线参数。重复该过程对于所有观察到的产率的曲线,并提供了一个3-d的时间序列的不可观测的电平,斜率和曲率因子估计。

  • 适合一阶自回归模型的时间序列的第一步骤中导出的因素。

通过固定 λ 在第一步骤中,什么否则将是非线性(OLS)估计最小二乘估计是通过一个相对简单的普通最小二乘取代。在纳尔逊 - 西格尔的框架,这是习惯设定 λ = 0.0609,这意味着在该上曲率(中期因子)的负载量为最大的值在30个月发生。

而且,由于产量曲线参数化为的因素的函数,预测产量曲线相当于预测潜在的因素和评价迪堡锂模型作为预测因子的函数。

第一步相当于3个因子(电平,斜率和曲率)由OLS得到的回归系数,并通过重复OLS适合各观察到的产率曲线积累了3-d的时间序列的估计的因素。下面执行步骤OLS,回归系数和线性模型拟合的残差被存储供以后使用。

lambda0 = 0.0609;X = [ones(size(到期))(1-exp(-lambda0*到期))./(lambda0*到期)...((1-EXP(-lambda0 *期限))./(lambda0 *期限)-exp(-lambda0 *期限))];的β=零(大小(产率,1),3);残差=零(大小(产率,1),numel(到期日));I = 1:尺寸(产率,1)= EstMdlOLS fitlm(X,产率(I,:)”,“拦截”,假);β(I,:) = EstMdlOLS.Coefficients.Estimate';残差(I,:) = EstMdlOLS.Residuals.Raw';结束

现在已经计算了因素的三维时间序列,第二步将时间序列拟合为一阶自回归(AR)模型。此时,AR fit有两个选择:

  • 每个因子拟合至单变量AR(1)模型分开,如在[1]

  • 同时满足所有3个因素的VAR(1)模型,如在[2]

虽然Econometrics Toolbox支持单变量和多变量AR估万博1manbetx计,但是下面的VAR(1)模型是对三维时间序列的因素进行拟合的。为了与使用均值调整因子的SSM公式保持一致,VAR(1)模型包含一个附加常数,以说明每个因子的均值。

EstMdlVAR =估计(varm(3,1),β);

迪堡丽型号的SSM估计

如上面所讨论的,迪堡锂模型使用隐式的方法,其中所指定的参数映射函数进行估计。该映射函数映射参数向量来SSM模型参数,放气的意见以考虑各因素的装置,并且强加约束的协方差矩阵。

下面的代码行通过使参数映射函数创建一个SSM模型Example_DieboldLiSSM功能,以及指示该映射函数将输入参数向量被称为PARAMS。映射函数的附加输入参数静态地指定产量和成熟度信息,并用于以适合于后续评估使用的方式初始化函数。有关其他详细信息,请参见帮助函数Example_DieboldLi

Mdl =舰导弹(@ (params) Example_DieboldLi(参数、产量、到期日));

通过卡尔曼滤波器SSM模型的最大似然估计(MLE)对初始参数值众所周知的敏感。在这个例子中,我们使用了两个步骤的方法的结果来初始化估计。

具体而言,初始值传递给SSM估计函数被编码成一个列向量。在这个例子中,矩阵 一个 的SSM模型被设定为VAR的估计3×3 AR系数矩阵(1)模型堆叠在列方向的方式成列向量的第一元素9。

从上面的讨论中,矩阵 的SSM模型是一个3×3矩阵约束这样 Q = ,并在接下来的估计 是下部的Cholesky因数 Q 。因此,要确保 Q 是对称的,正定的,以及允许与下部的Cholesky因数相关联的非零非对角协方差,6种元素 Q 必须在初始参数列向量进行分配。然而,在下文中,我们用所估计的创新的平方根初始化初始参数向量的元素的方差VAR(1)模型的。

换句话说,当参数向量初始化时,我们假设协方差矩阵 Q 为协方差矩阵,使得下部的Cholesky因数的以下非对角元素的对角线,但仍然保留空间 Q = 。同样,初始参数向量的安排使得元素 沿着与主对角线下方堆叠在逐列的方式。

由于协方差矩阵 H 在迪堡,李制剂是对角,矩阵 d 的SSM模型也约束为对角线使得 H = d d 。因此,该元素与初始参数向量相关联 d 被设置为VAR的残差的样本协方差矩阵的对角元素的平方根(1)模型,(在这个例子中有17个期限),用于将输入的产量数据的每个成熟一个这样的元素,再次堆积在一列式的方式。

注意, C SSM模型的矩阵不直接估计,而是估计的衰减率参数的完全参数化函数 λ ,由映射函数在内部计算。此外, λ 参数被初始化为传统值0.0609,并且被存储在初始参数列向量的最后一个元素。

最后,与所述因子装置相关联的初始参数向量的元素被简单地设定在原来的两个步骤的方法的第一步骤中通过OLS得到的回归系数的样本的平均值。

A0 = EstMdlVAR.AR {1};%获取VAR(1)矩阵(存储为单元阵列)A0 = A0(:);%堆栈它纵列Q0 = EstMdlVAR.Covariance;%获取VAR(1)估计的创新的协方差矩阵B0 = [SQRT(Q0(1,1));0;0;SQRT(Q0(2,2));0;SQRT(Q0(3,3))];H0 = COV(残差);VAR(1)的残差%样本协方差矩阵D0 = SQRT(DIAG(H0));对角化D矩阵MU0 =平均值(测试版)';参数0 = [A0;B0;D0;MU0;lambda0];

现在,初始值已经计算出来,设置一些优化参数,并通过调用函数SSM估计使用了卡尔曼滤波器的模型估计。在这个例子中,协方差矩阵 H = d d 是对角,所以我们选择调用多元系列的单变量处理,以提高估计的运行时性能。

选项= optimoptions('fminunc''MaxFunEvals',25000,“算法”“准牛顿”...'TolFun',1E-8,'TolX',1E-8,“麦克斯特”,1000,'显示'“关闭”);[EstMdlSSM,则params] =估计(MDL,产率,参数0,'显示'“关闭”...“选项”,期权,“单变量”,真正的);λ= params(结束);%获取估计衰减率亩=参数(最终3:端-1)';%获取估计因子的装置

参数估计结果的比较

现在将SSM得到的结果与两步方法的结果进行比较。除了提供两种方法的结果如何接近一致的感觉之外,比较还提供了两步方法的使用如何适合于提供估计SSM所需的初始参数值的想法。

首先比较估计状态转移矩阵 一个 的SSM模型从VAR模型获得的AR(1)系数矩阵。

dispvars = {SSM状态转换矩阵(A):;...“--------------------------------”;...EstMdlSSM.A};cellfun (@disp dispvars)
SSM状态转移矩阵(A):-------------------------------- 0.9944 0.0286 -0.0221 -0.0290 0.9391 0.0396 0.0253 0.02290.8415
dispvars = {“两步状态转移矩阵(A):”;...“--------------------------------”;...EstMdlVAR.AR {1}};cellfun (@disp dispvars)
两步状态转移矩阵(A):-------------------------------- 0.9901 0.0250 -0.0023 -0.0281 0.9426 0.02870.0518 0.0125 0.7881

请注意如何紧密的结果一致。特别地,注意到大的正的对角元素,指示每个因子的永久自动力学,而在同一时间的小非对角元素,表示弱交叉因子动力学。

现在,检查状态扰动载荷矩阵 和比较相应的创新的协方差矩阵 Q = 从SSM到VAR(1)模型的协方差的革新获得的。

dispvars = {“SSM状态扰动载荷矩阵(B):”;...“-----------------------------------------”;...EstMdlSSM.B};cellfun (@disp dispvars)
SSM状态扰动载荷矩阵(B):-----------------------------------------0.3076 0 0 -0.0453 0.6170 0 0.1421 0.0255 0.8824
dispvars = {“SSM状态扰动协方差矩阵(Q = BB ''):”;...“-------------------------------------------------- ”;...EstMdlSSM.B * EstMdlSSM.B'};cellfun (@disp dispvars)
SSM状态扰动协方差矩阵(Q = BB ''):-------------------------------------------- 0.0946 -0.0139 0.0437 -0.0139 0.3827 0.0093 0.0437 0.0093 0.7995
dispvars = {“两步状态扰动协方差矩阵(Q):”;...“-------------------------------------------------“;...EstMdlVAR.Covariance};cellfun (@disp dispvars)
两步状态扰动协方差矩阵(Q):------------------------------------------------- 0.1149 -0.0266 -0.0719 -0.0266 0.3943 0.0140 -0.0719 0.0140 1.2152

注意,估计的协方差矩阵是比较接近的一致,并且随着我们沿着主对角线从水平到斜率再到曲率,估计的方差会增加。

最后,比较获得的从SSM对于与两个步骤的方法的因子的装置。

dispvars = {“SSM系数是指:”;...“-----------------”;...亩};cellfun (@disp dispvars)
SSM系数是指:----------------- 8.0246 -1.4423 -0.4188
dispvars = {“两步系数是指:”;...“----------------------”;...mu0 '};cellfun (@disp dispvars)
两步因子方式:---------------------- 8.3454 -1.5724 0.2030

在这种情况下,虽然两种方法的曲率不同,但水平因子和斜率因子的估计值比较接近。

推论因子比较

未观察到的因素,或潜伏状态,其对应于迪堡锂模型的电平,斜率和曲率的因素,是主要感兴趣的在预测未来产量曲线的演变。现在,我们从检查每种方法推断出的状态。

在两步骤方法中,潜状态(因素)处于OLS步骤中估计的回归系数。

在SSM方法中,光滑函数实现卡尔曼平滑,使得对于t = 1,2,...,T的平滑状态被定义为

Ë [ X Ť | ÿ Ť ÿ 1 ]

不过,在我们调用光滑函数,回想一下上面的讨论,SSM框架必须考虑在估计期间对观察到的收益率所做的偏移调整。具体地说,在估计过程中,参数映射函数使原始观测值缩小,从而与偏移调整后的收益率一致 ÿ Ť = ÿ Ť - Λ μ 而不是原来的产量。

此外,由于调整是唯一已知的映射函数,估计SSM模型对原始收益率进行的任何调整没有明确的认识。因此,其它相关SSM功能,如过滤器光滑预测模拟必须正确地考虑与包括在观测等式中的预测相关联的任何偏移或回归组件。

因此,之前我们所说的光滑函数来推断估计状态我们必须首先通过减去与该估计出的偏移相关联的截距放气的原始产率, C μ = Λ μ ,以补偿估计期间发生的偏移调整。然而,美国则推断出将对应于放气产量的时候,其实我们本身感兴趣的实际状态(水平,斜率和曲度的因素),而不是他们的偏移调整同行。因此,平滑后,放气的状态必须是通过将估计的平均再调整, μ 到的因素。

这种先让观察数据缩水,然后让政府通过通胀来消除通缩的过程,是一个重要但微妙的环节。

截距= estmdlsm . c * ';deflatedYields = bsxfun (@minus,收益率,拦截”);deflatedStates =平滑(EstMdlSSM deflatedYields);estimatedStates = bsxfun (@plus deflatedStates,μ);

现在,我们已经推断出了状态,我们可以比较在个人层面,斜率和曲度从SSM和两步方法得到的因素。

首先检查水平,或长期因素。

图图(日期,β-(:,1)estimatedStates(:,1)])标题(“水平(长期因素)”)ylabel('百分')datetickX传说({'两步'”的状态空间模型},'位置''最好'

现在,检查坡度,或短期因素。

图图(日期,β-(:,2)estimatedStates(:,2)])标题(“坡(短期因素)”)ylabel('百分')datetickX传说({'两步'”的状态空间模型},'位置''最好'

现在,检查弯曲,或中期因素,

图图(日期,β-(:,3)estimatedStates(:,3)])标题(“曲率(中期因子)”)ylabel('百分')datetickX传说({'两步'”的状态空间模型},'位置''最好'

以及所估计的衰减率参数 λ 带有曲率相关联。

dispvars = {"SSM衰减率(Lambda):";...“- - - - - - - - - - - - - - - - - - - - - - - -”;...拉姆达};cellfun (@disp dispvars)
SSM衰减率(波长):------------------------ 0.0778

注意,估计的衰减率参数大于由两步法(0.0609)中使用的值稍大。

回顾 λ 确定曲率上的载荷最大的成熟度。在两步方法中 λ 固定为0.0609,反映了有些武断的决定正好2.5年(30个月),以最大限度地弯曲载荷。与此相反,SSM估计的最大曲率装载在只是少于2年(23.1个月),这可通过绘制与每个值关联的曲率负载被视为发生 λ 。在任一种情况下,它的驼峰状行为作为成熟的功能揭示为什么曲率被解释为中期因子。

tau蛋白= 0:(1/12):最大(到期日);%成熟度(个月)衰变= [lambda0λ1;负荷=零(numel(TAU),2);i = 1:元素个数(τ)加载(我:)= ((1-exp(衰变*τ(我)))。/(衰变*τ(i)) exp(衰变*τ(我)));结束图图(头,加载)称号(“上曲率(中期因子)载重”)xlabel(的期限(月))ylabel(“曲率载入”)图例({“\波长= 0.0609通过两步固定”['\拉姆达='num2str(拉姆达)" SSM估算"],},'位置''最好'

从上面的图表中,我们看到,尽管存在这两种方法之间的差异,从每一种方法得出的因子通常是相当接近达成协议。这就是说,一步法SSM /卡尔曼滤波器的方法,其中所有的模型参数估计的同时,是优选的。

作为最终样本内的性能比较,我们现在比较类似于表2中的装置和以这样的方式这两种方式的观测方程残差的标准偏差[2]。结果在基点(BPS)表示。

在创建表下面,说明该状态的测量灵敏度矩阵 C 在SSM公式中也是因子载荷矩阵 Λ 在发现[2]

=产量-预估状态* estmdlsm . c ';残差2step =收益率- beta*X';residualMeanSSM = 100 *意味着(residualsSSM) ';residualStdSSM = 100 *性病(residualsSSM)”;residualMean2Step = 100 *意味着(residuals2Step) ';residualStd2Step = 100 *性病(residuals2Step)”;dispvars = {“-------------------------------------------------“;...“状态空间模型两步'”;...“------------------- ------------------”;...“标准标准”;...“到期日平均偏差平均值偏差”;...(月结)(月结)(月结)(月结)(月结)(月结)(月结)“;..." -------";...[期限residualMeanSSM residualStdSSM residualMean2Step residualStd2Step]};cellfun (@disp dispvars)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -两步的状态空间模型- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -标准标准成熟度平均偏差平均偏差(月)(bps) (bps) (bps) (bps) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 3.0000 -12.6440 22.3639 -7.3922 14.1709 6.0000 -1.3392 5.0715 2.1914 7.2895 9.0000 0.4922 8.1084 2.7173 11.4923 12.0000 1.3059 9.8672 2.5472 11.1200 15.0000 3.7130 8.7073 4.2189 9.0558 18.0000 3.5893 7.2946 3.5515 7.6721 21.0000 3.2308 6.51122.7968 7.2221 24.0000 -1.3996 6.3890 -2.1168 7.0764 30.0000 -2.6479 6.0614 -3.6923 7.0129 36.0000 -3.2411 6.5915 -4.4095 7.2674 48.0000 -1.8508 9.7019 -2.9761 10.6242 60.0000 -3.2857 8.0349 -4.2314 9.0296 72.0000 1.9737 9.1370 1.2238 10.3745 84.0000 0.6935 10.3689 0.1196 9.8012 96.0000 3.4873 9.0440 3.0626 9.1220 108.0000 4.1940 13.6422 3.8936 11.7942 120.0000 -1.3074 16.4545 -1.5043 13.3544

上表显示,虽然SMM在所有期限上并不总是比两步法更好,但它在6个月至60个月的大多数中期期限上提供了更好的拟合。

预测和Monte Carlo模拟

作为最后一个例子,我们现在强调最小均方误差(MMSE)预测和的SSM功能蒙特卡罗模拟的能力。

由于Diebold-Li模型只依赖于估计的因素,因此通过预测因素来预测收益率曲线。然而,正如上面所讨论的,在预测或模拟产量时,我们必须补偿在SSM估计期间所做的偏移调整,因此必须使用估算所基于的放低产量。

采用放气的产量,我们现在称之为预测函数来计算瘪产量的MMSE预测1,2,...,12月进入未来。实际预测产率然后通过将估计出的偏移来计算 C μ 到瘪同行。

注意,收率曲线预测将具有用于在预测范围(在本实施例12)每前途周期的行,并且对于每个成熟度中的每个产率曲线(在本例中17)的柱。

地平线= 12;%预测期间(月)[forecastedDeflatedYields,MSE] =预测(EstMdlSSM,地平线,deflatedYields);forecastedYields = bsxfun(@加,forecastedDeflatedYields,截距');

既然确定性MMSE预测已经使用了计算预测功能,我们现在说明如何同样的结果可以用近似模拟函数。

执行蒙特卡罗模拟,然而之前,我们必须先初始化拟合SSM模型的初始状态(因素)的平均向量和协方差矩阵,以保证仿真可用的最新信息开始。要做到这一点,下面的代码段调用光滑函数来获取通过反向递归获得的平滑的状态。

由于以下步骤初始化拟合均值和协方差到可在历史数据集的末尾,平滑从得到的状态光滑函数,使用来自整个数据集的信息,相当于从过滤器功能,使用它之前的最后一个观测唯一信息。

[〜,〜,结果] =平滑(EstMdlSSM,deflatedYields);%FILTER也可使用EstMdlSSM.Mean0 =结果(端).SmoothedStates;%初始化均值.SmoothedStatesCov cov0 =结果(结束);EstMdlSSM。Cov0 = (cov0 + cov0')/2;%初始化协方差

现在,该国的初始均值和方差已经确定,计算出的样本通过蒙特卡罗模拟预测。

在下面的代码段中,每个样品路径表示一个模拟收益曲线的在12个月的预测范围的未来演进。仿真重复10万次。

以类似于先前计算的天气预报的方式,模拟收益曲线矩阵具有用于在预测范围(在本实施例12)每前途周期的行,并且对于每个成熟度(在本例中17)的柱。然而,在对比的是MMSE预测矩阵,模拟的产率曲线矩阵具有一第三尺寸来存储100000条模拟路径。

再次,注意放气的产量实际上是模拟,然后后处理,以帐户为因素偏移。

RNG('默认')nPaths = 100000;simulatedDeflatedYields =模拟(EstMdlSSM,地平线,nPaths);simulatedYields = bsxfun(@plus,simulatedDeflatedYields,截距');

现在的产量进行了模拟,计算100000次试验的样本均值和标准差。这些统计数据是MMSE预测和标准误差的样本模拟。为了方便的样品平均值和标准偏差的计算,模拟的产率的矩阵是重新排序,使得它现在有100,000行,12列,和17页。

simulatedYields =置换(simulatedYields,[3 1 2]);%重排序为方便起见预测= 0(地平线,元素个数(期限));standardErrors = 0(地平线,元素个数(期限));i = 1:numel(到期)预测(:,i) = mean(模拟收益率(:,:,i));standardErrors (:, i) =性病(simulatedYields(:,:我));结束

现在,视觉上比较从获得的MMSE预测和相应的标准误差预测从获得的那些沿着功能模拟通过蒙特卡罗功能。结果几乎是一样的。

图图(到期日,[预报(地平线,:) 'forecastedYields(地平线,:)'])标题('12个月大的超前预测:蒙特卡洛与MMSE”)xlabel(的期限(月))ylabel('百分')图例({'蒙特卡洛'“最小均方误差”},'位置''最好'

图图(到期日,[standardErrors(地平线,:) 'SQRT(MSE(地平线,:))'])标题(“12个月前预测标准误差:蒙特卡罗与MMSE”)xlabel(的期限(月))ylabel('百分')图例({'蒙特卡洛'“最小均方误差”},'位置''最好'

当然,蒙特卡罗模拟的另一个好处是,它可以更详细地分析收益率的分布,而不仅仅是平均误差和标准误差,而且还可以进一步了解收益率的分布如何影响其他相关变量的分布。例如,在保险业中,收益率曲线的模拟通常用于评估与年金和养老金合同相关的利润和损失的分配。

下面的代码段显示了未来1个月、6个月和12个月的模拟12个月收益率的分布,在本质上类似于表4-6中所示的预测实验[1]

index12 =查找(到期日== 12);12个月收益率的页面指数仓= 0:0.2:12;图副区(3,1,1)的直方图(simulatedYields(:,1,index12),频段'正常化''PDF')标题(“12个月的屈服概率密度函数”)xlabel(“产率1个月到未来(%)”)副区(3,1,2)的直方图(simulatedYields(:,6,index12),频段'正常化''PDF')xlabel(“产率6个月到未来(%)”)ylabel(“概率”)副区(3,1,3)的直方图(simulatedYields(:,12,index12),频段'正常化''PDF')xlabel(“产率12个月到未来(%)”

摘要

线性状态空间模型是具有两个方程离散时间,随机模型,描述未观察到的潜状态的转换的状态方程,和观测方程式,该状态链接到所观察到的数据,并介绍了如何观察者间接测量在每个周期潜过程。

这个例子制定流行产量也仅仅在状态空间表示的Diebold-Li期限结构模型中,从收益率曲线的时间序列中推断潜在状态,以确定驱动利率演变的潜在因素。Diebold-Li模型是一个包含三个因素的动态模型,其新颖之处在于对这些因素的解释是水平、斜率和曲率。

上面示出的实施例说明了迪堡锂模型为适合于经由所述计量经济学工具箱的SSM功能建模形式的映射,然后进一步示出了参数估计,平滑,预测和蒙特卡罗仿真能力。

参考

[1]迪堡,F.X.和C.李。“预测政府债券收益率的期限结构。“计量经济学杂志。卷。130,第2号,2006年,第337-364。

[2]迪堡,F. X.,G. D.鲁迪布什和B. Aruoba(2006年),“宏观经济和收益​​曲线:动态潜在因子方法。“杂志计量经济学。卷。131,2006年,第309-338。

[3]尼尔森,R. C.,和A. F.西格尔。“产率曲线的简约的建模”。商业杂志。卷。60,第4号,1987年,第473-489。