主要内容

模拟美国经济

该示例说明了如何使用向量误差修正(VEC)模型作为Smets-Wouters动态随机一般均衡(DSGE)宏观经济模型的线性替代方案,并将Smets-Wouters的许多技术应用于美国经济的描述。

此外,这个例子突出了计量经济学工具箱中多重时间序列分析的许多更显著的特征™, 包括估计、蒙特卡罗模拟、滤波、预测和脉冲响应功能。该示例还说明了如何使用Johansen协整测试套件确定协整排名,以及在估计过程中施加参数约束。

Smets-Wouters模型([11][12][13])是DSGE模型形式的非线性方程组。DSGE模型试图使用从微观经济学原理衍生的宏观经济模型来解释总体经济行为,如增长、商业周期以及货币和财政政策效应。

DSGE模型是动态的;他们研究经济如何随时间变化。DSGE模型也是随机的;它们解释了随机冲击的影响,包括技术变化和价格波动。

由于DSGE模型从约束决策的微观经济学原理出发,而不是依赖历史相关性,因此更难解决和分析。然而,由于DSGE模型也基于经济主体的偏好,因此DSGE模型为评估政策变化的影响提供了一个自然的基准。

相比之下,传统的宏观经济预测模型使用历史数据估计不同经济部门变量之间的关系,通常更容易实施、分析和解释。

这个例子实现了一个传统的线性预测模型。这样做的目的不是复制最初的Smets-Wouters DSGE模型的结果,也不是解释它的结果。相反,这个示例说明了如何使用Econometrics工具箱的特性来支持类似于Smets和Wouters的工作流万博1manbetx[13]使用相同的宏观经济时间序列数据。

此示例使用协整载向量自动增加(var)模型,也称为矢量纠错(VEC)模型,两者都是经验分子工具箱中的各种功能支持的。万博1manbetx这种描述性宏观经济模型提供了一个很好的起点,以检查各种冲击对美国经济的影响,特别是在2008年的财政危机期间。此示例使用Johansen Cointegration测试,并说明了Outuminetrics工具箱中VAR和VEC多变量时间序列模型的估算,仿真,过滤和预测功能。在SMets和Wouters的风格中,这个例子模型相同的7个响应系列:输出(GDP),价格(GDP比分),工资,小时工作,利率(联邦资金),消费和投资。

此外,为了突出对季度经济时间序列数据的操纵和管理,本示例使用时间表datetime数据类型。

获得经济数据

档案Data_USEconVECModel.mat载列两种时间表内的适当经济系列:弗雷德国会预算办公室弗雷德包含模型适用的样本,该样本来自美联储经济数据库(FRED)[14]1957年第一季度(1957年3月31日)至2016年第四季度(2016年12月31日)。国会预算办公室来自国会预算办公室[1]并包含对FRED系列的一个子集的10年经济预测。国会预算办公室位于预测范围内;此示例使用其中的观测值进行条件预测,并模拟最新FRED数据之外的情况。

使用的响应系列是:

弗雷德系列描述  ------------ ---------------------------------------------------------------------------- 国内生产总值占国内生产总值(GDP)(季度)数十亿美元,占国内生产总值(GDP) GDPDEF内含平减物价指数(季度)指数2009 = 100,COE支付薪酬的员工(数十亿美元,(季度)HOANBS所有人的非农业务部门时间(指数2009 = 100,季度)联邦基金有效联邦基金利率(年化,百分比,月)PCEC个人消费支出(十亿美元,季度)GPDI私人国内投资总额(十亿美元,季度)
负载数据使用ConvecModel

如果您有Datafeed Toolbox™许可证,那么您可以直接从FRED加载、同步和合并最新的经济数据,以更好地理解更全面的工作流。要直接从FRED下载最新的数据,Datafeed Toolbox的用户可以运行以下命令:

FRED=示例_USEconData;

FRED在每个周期开始时返回所有数据。除联邦基金外,FRED在每个季度初按季节调整后的季度报告。联邦基金每月在每月初报告。由于模型中包含GDP隐含价格平减指数,因此本例始终使用名义级数。

为了与SMET和Wouters保持一致,本例使用季度末报告约定将FRED数据与季度周期同步。

例如,FRED报告2012:2012年1月1日的第一季度GDP和2012年3月1日的M3联邦基金。当同步到一个共同的季度末周期时,这两个系列都与2012年3月31日(2012年第一季度的最后一天)相关联。对于任何给定年YYYY, Q1、Q2、Q3和Q4的数据分别对应于31-Mar-YYYY、30- june -YYYY、30-Sep-YYYY和31-Dec-YYYY。

转换原始数据

根据FRED的原始数据,将系列转换为Smets和Wouters[13]其中利率(FEDFUNDS.)保持不变,而表现出指数增长的剩余序列表示为相应报告值对数的100倍。为简单起见,为原始数据和转换数据保留相同的序列名称。

数据=弗雷德;%分配日期和原始数据Data.GDP=100*log(FRED.GDP);% %(输出)数据。GDPDEF = 100 *日志(FRED.GDPDEF);%GDP隐性价格平减指数数据。COE = 100 *日志(FRED.COE);%雇员补偿(工资)数据。HOANBS = 100 *日志(FRED.HOANBS);%所有人工作时间(小时)数据。P.CEC = 100*log(FRED.PCEC);%个人消费支出(消费)数据。GPDI = 100 *日志(FRED.GPDI);国内私人投资总额(投资)

显示模型数据

为了检查模型中的数据,绘制每个系列和叠加阴影带,以确定由国家经济研究局(NBER)确定的经济衰退时期。[9]这个衰退图函数绘制衰退,本例在适当的地方将衰退包含在图形结果中。衰退图任意将每月中旬设定为衰退的开始或结束日期。

图次要情节(2 2 1)情节(数据。时间,(数据。经济衰退图标题(“GDP &价格平减指数”) ylabel ('对数(x100)')h=图例(“GDP”“GDPDEF”“位置”“最好的”);h.盒子=“关”;子地块(2,2,2);地块(Data.Time,[Data.PCEC Data.GPDI])衰退地块标题(“消费与投资”) ylabel ('对数(x100)')h=图例(“PCEC”'gpdi'“位置”“最好的”);h.盒子=“关”;次要情节(2,2,3)情节(数据。时间,(数据。(COE Data.HOANBS])“工资和工时”) ylabel ('对数(x100)')h=图例(“科”“HOANBS”“位置”“最好的”);h.盒子=“关”;子地块(2,2,4)图(Data.Time,Data.FEDFUNDS)衰退图标题(“联邦基金”) ylabel (“百分比”的)

概述估算方法

适当的VEC模型规范可以结合个人经验和对数据的熟悉程度、特别分析、行业最佳实践、监管要求和统计严谨性。此外,模型规范可应用于样本内度量,如AIC/BIC信息标准和样本外预测性能。尽管许多研究人员经常以迭代的方式包含所有这些度量的元素,但在这里这样做超出了示例的范围。

考虑到这些污点和伤口[13]强调样本外预测性能,本例不评估样本内拟合优度测量。然而,计量经济学工具箱支持这样的评估(例如,见万博1manbetx艾比克).

为了理解本例中的规范方法,有必要观察VEC模型估计分两步进行:

  1. 估计协整关系。这通常被称为约翰森台阶.对于非平稳时间序列$Y\u t$, 这协整秩R)是独立线性组合的数量,其$Y\u t$是平稳的,并且可以被松散地解释为长期平衡关系的数量$Y\u t$换言之,尽管部件系列$Y\u t$可以单独是非平稳的,它们的各种线性组合是平稳的。平稳独立线性组合的个数为协整秩,对应的平稳线性组合为协整关系。

  2. 使用第一步的协整关系作为预测因子,估计差异中的VAR模型。因为预测因素的加入给VAR模型增加了一个回归成分,这通常被称为变步长

指定适当的VEC或协整VAR模型的工作流是:

  • 确定滞后长度(P.)模型。无论您是否更喜欢VEC(P-1)形式的差异$\Delta{Y}\t$或VAR(P)形式的水平$Y\u t$P.表示初始化模型所需的预采样响应数。

  • 确定协整等级(R).

  • 确定一个协整模型,以最好地捕捉数据的确定性项。

总的来说,该序列确定协整关系,并对应于两步估计方法的第一步。

对VARX模型的参数施加附加结构:

  • 估计一个不受限制的VARX模型作为基线模型。

  • 确定并对VARX模型的参数施加适当的约束,包括常数、回归系数和自回归系数。

评估VEC模型

首先指定滞后长度(P.(P-1)模型。本示例采用了一种简单的方法,并采用了Johansen的指导[4]第4页,犹斯利乌斯[5]P72假定P.= 2时滞足以描述各级数之间的动态相互作用。

低滞后阶数的好处是模型简单。特别地,一个无约束VEC模型的每一个额外延迟都需要估计额外的7*7 = 49个参数,因此低延迟阶可以减轻过度参数化的影响。

估计协整关系

一个特别重要的步骤是同时确定所有序列的协整等级,这需要一个协整模型。因为数据清楚地显示了时间趋势,所以检查数据可以由两种包含线性时间趋势的Johansen参数形式中的任何一种来描述的可能性。

这两种形式中比较普遍的是约翰森式H*模型,其中总常数的一个分量出现在($c_0$)外面($c_1$),而时间趋势($d_0$)仅限于协整关系:

$ $ & # xA; \δY} {_t = (B”Y_ {t - 1} + c_0 + d_0t) + c₁+ \ sum_ {i = 1} ^ {p - 1} \ Gamma_i \三角洲{Y} _ {t -我}+ \ varepsilon_t& # xA; = (c_0 + c₁)+ (B”Y_ {t - 1} + d_0t) + \ sum_ {i = 1} ^ {p - 1} \ Gamma_i \三角洲{Y} _ {t -我}+ \ varepsilon_t强生# xA; $ $

因为常数的一个组成部分出现在协整关系的内部和外部,所以总体常数($c=A c_0+c_1$)不受限制,H*模型变为:

$$
;\Delta{Y}t=c+A(B'Y{t-1}+d{0t)+\sum{i=1}^{p-1}\Gamma\i\Delta{Y}{t-i}+\varepsilon\t.&xA$$

重要的是要注意VEC模型是以不同的方式表达的$\Delta{Y}\t$,则无限制常数(美元加元)表示相应水平的线性趋势$Y\u t$

第二个模型是约翰森H1模型,其中模型常量也是不受限制的,但整侧关系没有时间趋势:

目前,约0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 epsilon_t.&xA$$

H1模型强调常数的无限制性:

$ $ & # xA; \δY} {_t = c + A B ' Y_ {t - 1} + \ sum_ {i = 1} ^ {p - 1} \ Gamma_i \三角洲{Y} _ {t -我}+ \ varepsilon_t强生# xA; $ $

注意,H1模型是H*模型的受限参数化,因为H1模型施加了额外的R对H*模型参数的限制,否则不受限制。具体来说,H1模型通过约束排除了协整关系中的时间趋势$d_0$= 0。当协整关系沿共同的线性趋势漂移,且线性趋势序列的趋势斜率相同时,就会出现这种情况。

在这两种模型中,响应都是

$$
\textbf{Y}u t=\left[\begin{array}{c}
;GDP\\\
;GDPDEF\\\
;COE#t\\\
;Hoans#t\\\
;FEDFUNDS\\\\\\\\
;PCEC\\\\\\\\\
 GPDI\\\\\\
 end\\\\\\\\\右数组}$$

与创新

$$
;\varepsilon_t\sim N(0,ω)。
$$

以确定协整等级(R),使用约翰森假设检验函数jcitest,默认情况下实现Johansen的跟踪测试。

jcitest返回逻辑决策指示符(H)其中H= 1 (true)表示拒绝协整秩为零(R)支持替代方案和H= 0 (false)表示拒绝null失败。后续输出是被检验的每个协整秩的VEC模型参数的p值、检验统计量、临界值和最大似然估计。默认情况下,MATLAB®以表格形式显示测试结果。

P=2;%vec(p-1)模型滞后的数量Y = Data.Variables;%为方便起见,从时间表中提取所有数据[h, pValue,统计,cValue mleHstar] = jcitest (Y,“滞后”,P-1,“模型”“H *”);[h,pValue,stat,cValue,mleH1]=jcitest(Y,“滞后”,P-1,“模型”“标题”);
************************结果摘要(测试1)数据:Y有效样本量:238模型:H*滞后:1统计:跟踪显著性水平:0.05 r H统计值Cvalues Pvalues eigVal-------------------------------------------------------0 1 266.1410 150.5530 0.0010 0.3470 1 164.7259 117.7103 0.0010 0.2217 2 105.0660 88.8042 0.0028 0.1665 3 0 61.7326 63.8766 0.0748 0.0748 0.1323 0.9442.9154 0.6336 0.0446 017.0919 25.8723 0.4470 0.0379 6 0 7.9062 12.5174 0.2927 0.0327*******************************结果汇总(测试1)数据:Y有效样本量:238模型:H1滞后:1统计:跟踪显著性水平:0.05 r h统计值Cvalues Pvalues eigVal-----------------------------------------------------------------0 1 261.9245 125.6176 0.0010.3460 1 160.8737 95.7541 0.0010.2212 101.3621 69.8187 0.0010.1661 1 58.1247 47.8564 0.0045 0.1323 4 0 24.3440 29.7976 0.1866 0.0446 013.4866 15.4948 0.0982 0.0340 6 1 5.2631 3.8415 0.0219 0.0219

H*测试结果表示拒绝测试失败R=3在5%显著性水平上的协整等级,但不在10%显著性水平上R=4将无法拒绝(见第5列中的p值)。相比之下,H1测试无法拒绝R=4在5%水平上的协整排名。因此,似乎R= 4协整关系是合理的。

使用R= 4作为协整级,通过使用基于两个似然比的测试方法,确定两个模型更好地描述了数据。

第一种方法使用lratiotest函数,其中H*模型为非限制模型,H1模型为具有R限制。得到的检验统计量是渐近的美元\ x ^ 2美元(r), 看[8]p。342。

使用lratiotest,从返回的估计H*和H1模型中提取对数似然值jcitest关于协整秩R= 4,然后进行似然比检验。

r = 4;%协整级别uLogL=mleHstar.r4.rLL;r = 4时无限制H*模型的LoglikelihoodrLogL=mleH1.r4.rLL;% r = 4受限H1模型的Loglikelihood[h,pvalue,stat,cvalue] = lratiotest(ulogl,rlogl,r)
h=逻辑0 pValue=0.9618 stat=0.6111 cValue=9.4877

测试未能拒绝受限H1模型。

第二种方法还执行似然比测试,但测试了使用该载体中的向量中跨越的空间使用jcontest函数。以下测试确定您是否可以在趋势系数上强加零限制(排除约束)$d_0$具体而言,该检验排除了协整关系中的时间趋势,并对整个经济系统施加了限制。本质上,它确定了受限制的协整向量是否位于平稳性的空间由协整矩阵张成,看[6]175 - 178页。

H*模型将线性时间趋势限制为协整关系,你可以通过在协整矩阵中添加额外的行来估计一个。通过将H*模型重写为:

[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0}B\\d\u 0'\end{array}\right]'\left[\begin{array}{c}Y{t-1}\\t\end{array}\right]+\sum{i=1}^{p-1}\Gamma_i\Delta{Y}{t-i}+\varepsilon_t.&xA$$

现在,格式化约束矩阵(R.)以致

$$
;R'\left[\begin{array}{c}B\\d_0'\end{array}\right]=\left[\begin{array}{c}0\0\0\0\0\1\end{array}\right]\left[\begin array}{c}B\\d_0'\end{array}\right]=0&$$

并使用jcontest

R=[零(1,大小(Y,2))1];%约束矩阵[h, pValue,统计,cValue] = jcontest (Y, r,“BCon”R“模型”“H *”“滞后”,P-1)
h=逻辑0 pValue=0.9618 stat=0.6111 cValue=9.4877

jcontestlratiotest结果是相同的,也就是说,决策未能拒绝受限H1模型。

综上所述,假设检验结果表明协整秩为4,模型具有H1 Johansen参数形式。协整关系的估计是完整的。

估计VARX模型的差异

可以将VEC(1)模型表示为VARX(1)模型,其中协整关系是预测因子,$X_t = B'Y_{t - 1}$,及调整矩阵(一个美元)是相应的回归系数:

$ $ & # xA; \δY} {_t = c + A (B ' Y_ {t - 1}) + \ Gamma_1 \三角洲{Y} _ {t - 1} + & # xA; \ varepsilon_t = c + \ Gamma_1 \三角洲{Y} _ {t - 1} + AX_t + \ varepsilon_t强生# xA; $ $

要确定VARX模型参数的约束条件,重要的是要了解Johansen协整参数(B美元)第一步中的估计值以与样本大小成比例的速率收敛元新台币这个Refore, using the cointegrating relations obtained in the first step as predictors in the second step does not affect the distribution of the second step VARX parameters. In contrast, the VARX parameters of the second step are asymptotically normally distributed and converge at the usual rate of$ \ sqrt {T} $,所以你可以解释他们T统计数据以通常的方式。

当您处理季度经济数据时,您应该关注相对于可供估计的样本大小的模型的过度参数化。这是使用低延迟长度的部分原因。

估计基线模型使用估计函数。返回参数估计的标准误差,以便进行计算T统计,并使用它们进一步限制初步估计基线VEC(1)模型。

[Mdl,se] = vecm(size(Y,2),r,P-1), Y,“模型”“标题”);

由于VARX参数估计误差是渐近正态分布的,因此可以通过排除(设置为零)所有具有T绝对值小于2的统计。

创建一个具有与基线模型相同参数形式的VEC模型Mdl,但对第二步的VARX参数(包括常数)施加排除约束(美元加元)、短期矩阵(\ Gamma_1美元),以及调整矩阵(一个美元).有些引用引用排除约束为子集限制,这是VEC和VAR模型支持的个体约束类型的特殊情况。万博1manbetx

toFit=vecm(Mdl.NumSeries,Mdl.Rank,Mdl.P-1);toFit.Constant(abs(Mdl.Constant./se.Constant)<2)=0;toFit.ShortRun{1}(abs(Mdl.ShortRun{1}./se.ShortRun{1})<2)=0;toFit.Adjustment(abs(Mdl.Adjustment./se.Adjustment)<2)=0;

拟合受限H1模型,然后绘制最终模型的协整关系,以供参考。

拟合=估计值(toFit,Y,“模型”“标题”);B =[健康。协整;健康。CointegrationConstant ';Fit.CointegrationTrend ');图绘制(数据。时间,[Y ones(size(Y,1),1)) (-(Fit。P.- 1):(size(Y,1) - Fit.P))'] * B) recessionplot title(“协整关系”的)

这些地块表明协整关系大致静止,尽管波动率和突然变化的时期出现在经济衰退周围聚集。

脉冲响应分析

当经济条件发生变化时,特别是在响应政策决定时,您可以使用脉冲响应分析来评估系统的敏感性。

使用以下公式计算名义GDP对每个经济变量的一个标准偏差冲击的脉冲响应函数(IRF)armairf作用默认情况下,armairf显示了正交化剩余协方差矩阵通过其Cholesky分解进行正交化的脉冲响应armairf函数还支持万博1manbetx广义北环和胫骨的脉冲响应[10],但就名义GDP而言,结果大致相似。

armairf函数返回三维数组中的IRF。每一页(第三维度)都记录了在给定的预测范围内,特定变量对系统中所有变量的一个标准偏差冲击的响应。具体来说,元素TjK.是变量的响应K.在时间T在预测地平线中,以创新休克变量j在时间为0。列和页对应于数据中的响应变量T= 0, 1, ...跳频,在那里跳频为预测的地平线长度。

将拟合的VEC模型转换为其协整VAR表示varm转换功能。然后,计算IRF 40个季度(10年)。

地平线=40;VAR=varm(拟合);IRF=armairf(VAR.AR,{},“InnovCov”VAR.Covariance,“NumObs”,水平线);h=图形;iSeries=1;%第1列与GDP系列相关对于i = 1:mdl.numseries子图(mdl.numseries,1,i)绘图(IRF(:,i,iSeries))标题(“GDP的脉冲响应”+数据.属性.变量名称(i))终止屏幕=得到(h,“父”); 设置(h,“位置”,[h.位置(1)屏幕。监视器位置(4)*0.1 h.位置(3)屏幕。监视器位置(4)*0.8]);

虽然前面的图显示了10年的脉冲响应,但每个响应实际上都接近一个表明单位根的稳定状态渐近水平,并表明这些冲击是持久的,对名义GDP有永久性影响。

计算样本外预测并评估预测准确性

为了测试模型的准确性,迭代计算样本外预测。执行一个类似于Smets和Wouters建议的实验[13],第21-22页:

  1. 估计初始20年样本期1957年第1季度至1976年第4季度的VEC模型

  2. 预测数据1,2,3和4个季度进入未来。

  3. 在1957年期间重新估算模型:Q1 - 1977:Q1,将下一季度的数据添加到样品中,从而增加可用于估计的样本大小。

  4. 重复步骤2和步骤3,积累一个时间序列的预测,直到样本结束。

Y =数据;%直接按照时间表工作T0 = datetime(1976、12、31);%初始化预测原点(1976年12月31日=(1976,12,31)三元组)T = T0;地平线= 4;%季度预测期(4=1年)numForecasts=numel(Y.Time)(时间范围T,Y.Time(结束),“关闭”))) -层;yForecast = nan(numForecasts, horizon, Mdl.NumSeries); / /预测未来对于t = 1: numForecasts获得当前预测原点的季度末日期。quarterlyDates=时间范围(Y.时间(1),T,“关闭”);%估计VEC模型。拟合=估计(toFit, Y{季度日期,:},“模型”“标题”);在每个季度对模型进行预测。%将当前原点(T)的预测存储为三维数组,其中%第一页存储第一系列(GDP)的所有预测,第二页%存储第二系列(GDPDEF)的所有预测,等等。这%存储约定方便了从时间表访问数据%的预测创建如下。yForecast(t,:,:) = forecast(Fit, horizon, Y{quarterlyDates,:});%更新forecast origin以包含下一季度的数据。t = dateshift(t,“结束”“季”“下一个”);终止

计算预测期内所有预测共有的预测起始日期,以及每个预测适用的具体季度日期。然后,创建一个时间表,其公共时间戳(沿每行)是每个季度预测来源的日期。在每个预测来源,存储未来7个系列1、2、3和4个季度的预测,以及每个预测适用的季度日期。时间表的格式是这样的,以便于获取给定经济序列的预测。

originDates = dateshift (T0,“结束”“季”,(0:(numForecasts-1));预报日期=NaT(numForecasts,地平线);对于i=1:地平线预测日期(:,i)=日期偏移(原始日期,“结束”“季”,我);终止预测=时间表(预测日期,“划船时间”,原创日期,“变化无常”, {《泰晤士报》});对于i = 1:大小(y,2)预测。(y.properties.variablenames {i})= yforecast(:,:,i);终止

使用刚刚获得的迭代预测,通过绘制预测和预测期(提前四个季度)的真实报告值,评估实际GDP(扣除GDP平减物价指数的名义GDP)的预测准确性。此外,绘制相应的预测误差。

forecastRealGDP=Forecast.GDP(:,4)-Forecast.GDPDEF(:,4);realGDP=Y.GDP(Forecast.Times(:,4))-Y.GDPDEF(Forecast.Times(:,4));图子地块(2,1,1)绘图(Forecast.Times(:,4),forecastRealGDP,'r')举行绘图(预测时间(:,4),实际GDP,“b”)头衔(“实际GDP与预测:提前四个季度”) ylabel (“亿美元”)衰退曲线图h=图例('预报'“实际的”“位置”“最好的”);h.盒子=“关”;子地块(2,1,2)图(预测时间(:,4),forecastRealGDP-realGDP)标题(“实际GDP预测误差:4个季度后”) ylabel (“亿美元”) recessionplot

这些曲线图表明,在经济衰退期间和之后不久,GDP预测往往高估了真实GDP。特别是在2008年财政危机之后以及2009年上半年,观察到了巨大的正误差。

作为参考,尽管在没有对常数、短期和调整参数施加排除约束的情况下,图中没有显示无约束VARX模型的预测误差,但图中的约束结果表明实际GDP预测的均方根误差(RMSE)约减少了25%。

2008年财政危机分析:实际GDP预测

更详细地调查2008年财政危机附近的预测。具体而言,在经济进入衰退时,调查危机发生前的预测表现,然后在危机发生后,再调查经济复苏时的预测表现。为了完整性,请使用最新数据检查预测行为。

以斯米特和伍特的风格[13],使用12个季度(3年)的预测范围。为了把不止一个单一系列的预测结合起来,考察实际GDP。

使用2007年底,即抵押贷款危机之前的数据,估计和预测未来12个季度的实际GDP。

horizon=12;T=datetime(2007,12,31);%危机前的预测来源(2007年12月31日=(2007年12月31日)三元组)Fit =估计(Tofit,Y {timerange(Y.time(1),T,“关闭”):},“模型”“标题”); [yForecast,yMSE]=预测(拟合,水平,Y{时间范围,“关闭”):});σ= 0(地平线,1);%预测标准误差对于i = 1:地平线σ(i) = sqrt (yMSE{我}(1,1)- 2 * yMSE{我}(1、2)+ yMSE{我}(2,2));终止预测日期=日期偏移(T,“结束”“季”1:地平线);图(forecastDates, (yForecast(:,1) - yForecast(:,2)) + sigma,“r”)举行地块(预测日期,Y预测(:,1)-Y预测(:,2),'r')绘图(预测日期,(Y预测(:,1)-Y预测(:,2))-sigma,“r”)地块(预测日期,Y.GDP(预测日期)-Y.GDPDEF(预测日期),“b”)头衔(“实际GDP与12季度预测:来源=”+字符串(T)标签(“亿美元”)衰退曲线图h=图例(“预测+1\sigma”'预报'“预测-1\sigma”“实际的”“位置”“最好的”);h.盒子=“关”

估计的模型未能预测到剧烈的经济衰退。考虑到此次危机的严重程度,未能捕捉到衰退的程度或许并不令人意外。

利用截至2009年中期的数据,估计和预测未来12个季度的实际GDP,而2009年中期正是抵押贷款危机之后。

T = datetime(2009、6、30);%危机后的预测来源(2009年6月30日=(2009,6,30)三元组)Fit =估计(Tofit,Y {timerange(Y.time(1),T,“关闭”):},“模型”“标题”); [yForecast,yMSE]=预测(拟合,水平,Y{时间范围,“关闭”):});σ= 0(地平线,1);%预测标准误差对于i = 1:地平线σ(i) = sqrt (yMSE{我}(1,1)- 2 * yMSE{我}(1、2)+ yMSE{我}(2,2));终止预测日期=日期偏移(T,“结束”“季”1:地平线);图(forecastDates, (yForecast(:,1) - yForecast(:,2)) + sigma,“r”)举行地块(预测日期,Y预测(:,1)-Y预测(:,2),'r')绘图(预测日期,(Y预测(:,1)-Y预测(:,2))-sigma,“r”)地块(预测日期,Y.GDP(预测日期)-Y.GDPDEF(预测日期),“b”)头衔(“实际GDP与12季度预测:来源=”+字符串(T)标签(“亿美元”)h=图例(“预测+1\sigma”'预报'“预测-1\sigma”“实际的”“位置”“最好的”);h.盒子=“关”

一旦将衰退数据纳入估算,实际GDP的预测与真实值相当吻合。尽管在2年预测期之外,这些预测仍然呈现出过度乐观的经济复苏。

最后,纳入最新的危机后数据。

T=日期偏移(数据时间(结束),“结束”“季”, - 他苏典);Fit =估计(Tofit,Y {timerange(Y.time(1),T,“关闭”):},“模型”“标题”); [yForecast,yMSE]=预测(拟合,水平,Y{时间范围,“关闭”):});σ= 0(地平线,1);%预测标准误差对于i = 1:地平线σ(i) = sqrt (yMSE{我}(1,1)- 2 * yMSE{我}(1、2)+ yMSE{我}(2,2));终止预测日期=日期偏移(T,“结束”“季”1:地平线);图(forecastDates, (yForecast(:,1) - yForecast(:,2)) + sigma,“r”)举行地块(预测日期,Y预测(:,1)-Y预测(:,2),'r')绘图(预测日期,(Y预测(:,1)-Y预测(:,2))-sigma,“r”)地块(预测日期,Y.GDP(预测日期)-Y.GDPDEF(预测日期),“b”)头衔(“实际GDP与12季度预测:来源=”+字符串(T)标签(“亿美元”)h=图例(“预测+1\sigma”'预报'“预测-1\sigma”“实际的”“位置”“最好的”);h.盒子=“关”

现在经济复苏已经获得了一些动力并趋于稳定,3年的预测与真实值更加接近。

子样本敏感性:大通货膨胀与大缓和

为了检验分析的稳定性和敏感性,比较从两个不同子样本获得的估计结果。

遵循Smets和Wouters提出的方法[13],第28-29页,通过执行假设敏感性分析,称为反事实实验.检验一个模型对一个周期内数据的拟合对另一个周期内模型的冲击的响应。

具体来说,Smets和Wouters确定了结束于1979年第二季度的时期,即保罗·沃尔克(Paul Volker)被任命为美联储理事会主席的时期大通货膨胀从1984年第一季度开始大缓和大通货膨胀和大缓和之间的差距显然是一个过渡期,包括20世纪80年代初的两次衰退。

估计1957年第一季度到1979年第二季度的VEC模型,然后再从1984年第一季度到最近一个有数据的季度。尽管可以对每个子样本重复对整个样本执行的相同的预估计模型评估,但为了简单起见,保留以前使用的相同的VEC模型和子集约束。

T1=日期时间(1979,6,30);%大通货膨胀的最后一个季度(1979年6月30日=(1979,6,30)三连环)日元= Y (timerange (Y.Time (1), T1,“关闭”),:);%大通胀数据[Fit1,~,~,E1]=估计值(toFit,Y1.变量,“模型”“标题”)T2=日期时间(1984,3,31);%大缓和第一季度(1984年3月31日=(1984,3,31)三元组)Y2=Y(时间范围T2,Y.时间(结束),“关闭”),:);%大缓和数据Fit2=估计值(toFit,Y2.变量,“模型”“标题”);

使用从最近的子样本(大缓和)获得的模型,过滤从第一个子样本(大通货膨胀)获得的推断残差滤器函数。

为了更好地将下面取得的过滤的响应进行比较至上述拟合温度的拟合结果,请使用较大泛频子样本的第一P观察初始化过滤器。换句话说,尽管从伟大的充气过滤器推断出从拟合模型中获得的拟合模型,但您可以使用从良好审核开始的数据初始化过滤器。

yy =滤波器(Fit2,E1,“Y0”, Y2 {1: Fit2。P:},“规模”, 错误的);Y2 = Y2((fit2.p + 1):(大小(e1,1)+ fit2.p),:);%提取相关数据以便于比较YY=阵列时间表(YY,“划船时间”,Y2.时间,“变化无常”, Y.Properties.VariableNames);

将大缓和时期报告的实际GDP数据与通过拟合大缓和时期的模型过滤大通胀冲击而得到的数据进行比较。

图绘制(YY。时间,Y2。GDP——日元。GDPDEF,“b”)举行绘图(YY.Time,YY.GDP-YY.GDPDEF,'r')头衔(“实际GDP子样本比较”) ylabel (“亿美元”)衰退曲线图h=图例(“报告的大缓和数据”“过滤掉巨大的通胀残余”“位置”“最好的”);h.盒子=“关”

根据Smets和Wouters的观察,图中显示过滤后的结果比大缓和时期报告的数据更不稳定[13],第30页。

刚执行的过滤过滤通过适度的模型过滤从巨大通胀中获得的残差,但在更广泛的历史模拟,过滤和预测框架内仅代表一个替代方案。

例如,虽然对这一点的分析主要关注GDP,但有趣的是,分析还提供了对其他系列的合理准确表示,可能是短期利率(FedFunds)的例外.

在Smets-Wouters模型中,利率是唯一未调整的序列。此外,Smets和Wouters的数据只包括到2004年底,即抵押贷款危机之前的数据。在2004年底,短期利率已经处于低水平,但在2008年底,随着财政危机的发生和衰退的开始,短期利率实际上接近于零。尽管经济复苏了,但利率多年来一直保持在历史低位。

鉴于VAR和VEC模型是真实但未知的向量过程的线性近似,其依赖性由多变量高斯分布捕获,因此遇到负利率并不奇怪。事实上,尽管FEDFUNDS利率从未为负,但其他短期计息账户,特别是在欧洲e、 已经知道,它们的收益率为负。

条件预测与模拟

条件分析与信息技术密切相关压力测试.具体地,通常预先指定变量子集的值,通常经过不利的条件或极值,以便在经济危机期间评估对剩余变量的影响。

在接近零利率的情况下对经济时间序列建模的一种方法是执行有条件的预测和模拟使用适合大中庸的模型来捕捉最新数据。

具体而言,该分析纳入了从国会预算办公室(CBO)获得的10年经济预测[1],发布FRED系列以下子集的季度预测:

CBO系列描述------------ ----------------------------------------------------------------- GDP国内生产总值(数十亿美元)GDPDEF国内生产总值隐含价格平减指数(指数2009 = 100)COE雇员薪酬(数十亿美元)TB3M 3个月国库券利率(年化,百分比)

虽然3个月期国库券和联邦基金利率不尽相同,但近年来它们几乎无法区分。因此,你可以使用3个月期国库券利率作为联邦基金利率的代理。

要获得有条件的预测,请创建一个时间表,其中CBO预测捕获未知预测所依据的已知数据的未来演变。格式化时间表时,值表示根据已知(非缺失)信息进行的未知(缺失)预测。

对于FRED系列,除了短期利率之外的所有CBO系列都进行了转换。转换系列并将其存储在新的时间表中(YF),它捕获了提前已知的系列的子集,并用作计算其余预测的数据。

YF =国会预算办公室;分配日期和原始数据YF。国内生产总值= 100 *日志(CBO.GDP);% %(输出)yf.gdpdef = 100 * log(cbo.gdpdef);%GDP隐含价格平减指数YF.COE=100*log(CBO.COE);%雇员补偿(工资)

检查最近4个季度的CBO预测,并观察到工作时间(HOANBS)、消费(PCEC)和投资(GPDI)缺失(nan),因为CBO没有发布这些系列的预测,而GDP、GDP平减指数(GDPDEF)、薪酬(COE)和联邦基金包含CBO预测。

YF(结束-3:结束,:)
4.7时间表时间表时间表时间GDP GDP GDP GDP GDP GDP GDP GDP COE E E E E E E E E E E E E时间表时间表时间表时间表时间GDP GDP GDP GDP GDP GDP GDP GDP GDP E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E B B B B B B B B B C C C C C C C C C C C C C C C C C C C(UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU493.09 964.99楠2.8楠楠2027年12月31日1026.3 493.59 965.89楠2.8楠楠楠

将CBO预测得到的实际GDP预测与VEC模型的条件预测得到的GDP预测进行比较。为了有条件地预测名义GDP,将CBO对名义GDP的预测设为nan,以表明名义GDP信息的缺乏。显示最近4个季度的预测。

YF.GDP(:) =南;YF(结束-3:结束,:)
ans = 4 x7时间表时间GDP GDPDEF COE HOANBS FEDFUNDS PCEC GPDI  ___________ ___ ______ ______ ______ ________ ____ ____ 3月31日- 2.8 492.1 - 963.14 - 2027南南南南30 - 2.8 492.6 - 964.07 2027年6月,南南南南30 - 9月2.8 493.09 - 964.99 - 2027南南南南2027年- 12月31日南493.59 2.8 965.89南南南

提取最新FRED数据日期之后的季度CBO预测,并根据预测预测未知序列。

预测函数将VEC模型转换为其等效状态空间表示形式,并使用卡尔曼滤波器导出缺失预测。缺失值成为作为最小均方误差(MMSE)条件期望计算的过滤状态。

forecastQuarters = timerange (Y.Time(结束),CBO.Time(结束),“openleft”);YF = YF (forecastQuarters:);yForecast = forecast(Fit2, size(YF,1), Y.Variables,“YF”,YF.变量);yForecast=阵列时间表(yForecast,“划船时间”,YF.时间,“变化无常”, Y.Properties.VariableNames);

检查结果,查看缺失的GDP、HOANBS、PCEC和GPDI系列被它们的条件预测填充,而用于条件设置的GDPDEF、COE和联邦基金系列没有变化。

Yilecast(结束-3:结束,:)
ans = 4 x7时间表时间GDP GDPDEF COE HOANBS FEDFUNDS PCEC GPDI  ___________ ______ ______ ______ ______ ________ ______ ______ 31日- 3月- 2027 1024.1 492.1 963.14 488.27 2.8 987.67 837.48 30 - 1025年6月- 2027 492.6 964.07 488.69 2.8 988.6 838.42 9月30 - 31 - 2027 1025.9 493.09 964.99 489.05 2.8 989.5 838.98 - 12月- 2027 1026.7 493.59 965.89 489.4 2.8 990.38839.51

将条件预测得出的实际国内生产总值与国会预算办公室预测得出的实际国内生产总值进行比较,观察两者是否一致。

图表(YF.Time,100*log(CBO.GDP(预测季度))-YF.GDPDEF,“b”)举行情节(YF。时间,yForecast。GDP——yForecast。GDPDEF,'r')头衔(“实际GDP预测与条件预测”) ylabel (“十亿美元”)h=图例(“国会预算办公室实际GDP预测”“实际GDP有条件预测”“位置”“最好的”);h.盒子=“关”

条件分析不仅限于预测,还扩展到模拟YF,您可以通过从条件,多变量高斯分布中抽样来赋予未知值。

模拟1000个条件样本路径模拟函数。

rng违约YY =模拟(Fit2, size(YF,1)),“Y0”Y.Variables,“YF”、YF。变量,“NumPaths”, 1000);

例如,绘制实际GDP的前10个样本路径。

数字对于i=1:10绘图(YF.Time,YY(:,1,i)-YY(:,2,i))保持终止标题(“实际GDP样本路径”) ylabel (“亿美元”的)

这幅图表明,实际GDP的分布随着时间的变化而显著变化,因此另一个感兴趣的指标是实际GDP的分布。

绘制未来5年(20个季度)实际GDP的经验概率密度函数(PDF)。

YY = permute(squeeze(YY(20,:,:)), [2 1]);图柱状图(YY(:) - YY(:),2),“归一化”'pdf')包含(“实际GDP(十亿美元)”)头衔(“5年前实际GDP密度”的)

工具书类

[1]国会预算办公室,预算和经济数据,10年经济预测,https://www.cbo.gov/about/s manbetx 845products/budget-economic-data#4

[2]《论新凯恩斯主义模型的拟合》商业与经济统计杂志2007年第25卷第2期,第123-162页。

[3]汉密尔顿,詹姆斯D。时间序列分析. 新泽西州普林斯顿:普林斯顿大学出版社,1994年。

[4]约翰森,S。基于可能性的协调传染媒介自回归模型的推断.牛津大学出版社,1995。

[5]Juselius,K。协整VAR模型.牛津:牛津大学出版社,2006。

[6]金博,M。《新货币主义基本模型的定量分析》货币、信贷和银行业杂志,第二部分:流动性、货币政策和金融中介第27卷,第4期,1995年,第1241-1277页。

[7]吕特克波尔、赫尔穆特和马库斯·克拉齐格,编辑。应用时间序列计量经济学.第一版,剑桥大学出版社,2004。https://doi.org/10.1017/CBO9780511606885

[8]吕特克波尔,赫尔穆特。多时间序列分析新介绍. 纽约州纽约:斯普林格·维拉格,2007年。

[9]国家经济研究局(NBER),商业周期扩张和收缩https://www.nber.org/research/data/us-business-cycle-expansions-and-contractions

[10]比萨兰,H. H.和Y. Shin。“线性多变量模型中的广义脉冲响应分析。”经济通讯。1998年第58卷,第17-29页。

[11]欧元区估计的随机动态一般均衡模型欧洲中央银行,工作文件系列.171号,2002年。

[12]Smets,F.和Wouters,R“比较美国和欧元区商业周期的冲击和摩擦:贝叶斯DSGE方法。”欧洲中央银行,工作文件系列.2004年第391号。

[13]美国商业周期中的冲击和摩擦:贝叶斯DSGE方法欧洲中央银行,工作文件系列.722号,2007年。

[14]美国联邦储备委员会经济数据(FRED),圣路易斯联邦储备银行,https://fred.stlouisfed.org/