主要内容

模拟美国经济

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

此外,该示例强调了计量经济学工具箱™中发现的多时间序列分析的许多更显著的特征,包括估计、蒙特卡罗模拟、滤波、预测和脉冲响应功能。该示例还说明了如何使用Johansen协整检验集确定协整秩,以及在估计过程中施加参数约束。

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

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

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

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

这个例子实现了一个传统的线性预测模型。本文的目的不是重现原始Smets-Wouters DSGE模型的结果,也不是解释其结果。相反,这个示例说明了如何使用Econometrics Toolbox的特性来支持类似于Smets和Wouters的工作流金宝app[13]使用相同的宏观经济时间序列数据。

本例使用协整向量自回归(VAR)模型,也称为向量误差修正(VEC)模型,这两个模型都由计量经济学工具箱中的各种函数支持。金宝app这个描述性宏观经济模型为研究各种冲击对美国经济的影响提供了一个很好的起点,尤其是在2008年财政危机期间。本例使用Johansen协整检验,说明了计量经济学工具箱中VAR和VEC多元时间序列模型的估计、模拟、滤波和预测特征。在Smets和Wouters的风格下,这个例子模拟了相同的7个响应系列:产出(GDP)、价格(GDP平减指数)、工资、工作时间、利率(联邦基金)、消费和投资。

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

获取经济数据

该文件Data_USEconVECModel.mat包含存储在两个时间表中的适当经济系列:弗雷德而且国会预算办公室弗雷德包含模型适合的样本,来自美联储经济数据库(FRED)[14]1957年期间:第一季度(1957年3月31日)至2016年:第四季度(2016年12月31日)。国会预算办公室来自国会预算办公室(CBO)[1]并包含FRED系列的一个子集的10年经济预测。国会预算办公室在预测范围内;本例使用其中的观测数据进行条件预测和模拟,超出了最新的FRED数据。

所使用的响应序列为:

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

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

FRED = Example_USEconData;

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

为了与Smets和Wouters保持一致,本示例使用季度末报告惯例将FRED数据同步到季度周期性。

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

转换原始数据

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

数据= FRED;指定日期和原始数据数据。GDP = 100*log(FRED.GDP);国内生产总值%(产出)数据。GDPDEF = 100*log(FRED.GDPDEF);% GDP隐性价格平减指数数据。COE = 100*log(FRED.COE);员工薪酬(工资)%数据。HOANBS = 100*log(FRED.HOANBS);所有人工时百分比(小时)数据。PCEC = 100*log(FRED.PCEC);个人消费支出(消费)%数据。GPDI = 100*log(FRED.GPDI);国内私人投资总额(投资)

显示模型数据

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

图subplot(2,2,1) plot(数据。时间,(数据。GDP, Data.GDPDEF])衰退图标题(“GDP和物价平减指数”) ylabel (“对数(x100)”) h =传说(“国内生产总值”“GDPDEF”“位置”“最佳”);h.Box =“关闭”;次要情节(2,2,2);(数据。时间,[Data.PCEC Data.GPDI]) recessionplot title(消费与投资) ylabel (“对数(x100)”) h =传说(“PCEC”“GPDI”“位置”“最佳”);h.Box =“关闭”;次要情节(2,2,3)情节(数据。时间,(数据。COE数据。hoanbs]衰退图标题(“工资和工时”) ylabel (“对数(x100)”) h =传说(“卓越中心”“HOANBS”“位置”“最佳”);h.Box =“关闭”;次要情节(2,2,4)情节(数据。时间,数据。FEDFUNDS)recessionplot标题(“联邦基金”) ylabel (“百分比”

概述估算方法

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

考虑到Smets和Wouters[13]强调样本外预测性能,本例不评估样本内拟合优度度量。然而,计量经济学工具箱支持这样的评估(例如,参见金宝appaicbic).

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

  1. 估计协整关系.这通常被称为约翰森一步.对于非平稳时间序列Y_t美元,协整排r的独立线性组合的个数Y_t美元是平稳的,可以松散地解释为长期平衡关系的数量Y_t美元.换句话说,尽管分量级数在Y_t美元可以单独是非平稳的,它们的各种线性组合都是平稳的。平稳独立线性组合的个数为协整秩,对应的平稳线性组合为协整关系。

  2. 利用第一步的协整关系作为预测因子,在差异中估计VAR模型。由于预测因子的包含为VAR模型添加了回归组件,这通常被称为VARX一步

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

  • 确定滞后时间(P)的模型。不管你是否更喜欢VEC(P-1)形式的差异δ{Y} \ _t美元或VAR(P)形式Y_t美元P表示初始化模型所需的预采样响应的数量。

  • 确定协整秩(r).

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

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

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

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

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

估计VEC模型

首先指定滞后长度(P)的VEC(P-1)模型。本例采用了一种简单的方法,并采用了Johansen的指导[4],第4页,和犹塞略[5]第72页。假设P= 2滞后足以描述各系列之间的动态相互作用。

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

估计协整关系

一个特别重要的步骤是同时确定所有级数的协整秩,而这样做需要一个协整模型。因为数据清楚地显示了时间趋势,所以检查数据是否可以用两种包含线性时间趋势的约翰森参数形式之一来描述。

这两种形式中比较普遍的是约翰森式H *模型,其中整体常数的一个组件同时出现在(c_0美元)及户外(c₁美元)的协整关系,而时间趋势(数美元)限制于协整关系:

$ $ & # 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*模型为:

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

重要的是要观察到VEC模型在差异中表达δ{Y} \ _t美元,则无限制常数(美元加元)表示相应级别的线性趋势Y_t美元

第二种型号是约翰森H1模型,其中模型常数也是不受限制的,但协整关系不包含时间趋势:

$ $ & # xA; \δY} {_t = A (B”Y_ {t - 1} + c_0) + c₁+ \ sum_ {i = 1} ^ {p - 1} \ Gamma_i \三角洲{Y} _ {t -我}+ \ varepsilon_t& # xA; = (c_0 + c₁)+ B”Y_ {t - 1} + \ sum_ {i = 1} ^ {p - 1} \ Gamma_i \三角洲{Y} _ {t -我}+ \ varepsilon_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模型通过限制来排除协整关系中的时间趋势数美元= 0。当协整关系沿着一个共同的线性趋势漂移并且具有线性趋势的序列的趋势斜率相同时,就会出现这种情况。

在两个模型中,响应都是

$ $ & # xA; \ textbf {Y} _t左= \[开始\{数组}{c} & # xA; GDP_t \ \ & # xA; GDPDEF_t \ \ & # xA; COE_t \ \ & # xA; HOANBS_t \ \ & # xA; FEDFUNDS_t \ \ & # xA; PCEC_t \ \ & # xA; GPDI_t \ \ & # xA;数组{}\ \端)& # xA; $ $

与创新

\varepsilon_t \sim N(0,\Omega).
$$

要确定协整秩(r),使用Johansen假设检验函数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,stat,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 stat cValue pValue eigVal ---------------------------------------- 01 266.1410 150.5530 0.0010 0.3470 11 164.7259 117.7103 0.0010 0.2217 21 105.0660 88.8042 0.0028 0.1665 30 61.7326 63.8766 0.0748 0.1323 4 0 27.9494 42.9154 0.6336 0.0446 50 17.0919 25.8723 0.4470 0.0379 60 7.9062 12.5174 0.2927 0.0327 ************************结果总结(测试1)数据:Y有效样例量:238模型:H1滞后:1统计量:痕量显著性水平:0.05 r h stat cValue pValue igval ---------------------------------------- 01 261.9245 125.6176 0.0010 0.3460 1 1 160.8737 95.7541 0.0010 0.2212 21 101.3621 69.8187 0.0010 0.1661 31 58.1247 47.8564 0.0045 0.1323 40 24.3440 29.7976 0.1866 0.0446 5 0 13.4866 15.4948 0.0982 0.0340 61 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 = logical 0 pValue = 0.9618 stat = 0.6111 cValue = 9.4877

测试拒绝限制的H1模型失败。

第二种方法也执行似然比检验,但使用协整关系中的向量所张成的空间进行检验jcontest函数。下面的测试确定是否可以对趋势系数施加零限制(排除限制)数美元H*模型的。具体而言,该检验排除了协整关系中的时间趋势,并对整个经济系统进行了约束。本质上,它决定了受限协整向量是否在平稳性的空间由协整矩阵张成[6]175 - 178页。

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

$ $ & # xA; \δY} {_t =左c + A \[开始\{数组}{c} B \ d0数组{}\ \端]& # xA;左\[开始\{数组}{c} Y_ {t - 1} \ \ t \结束数组{}\]+ \ sum_ {i = 1} ^ {p - 1} \ Gamma_i \三角洲{Y} _ {t -我}+左\ varepsilon_t = c + \[开始\ B{数组}{c} \ \数的数组{}\ \端]“左\[开始\{数组}{c} Y_ {t - 1} \ \ t \结束数组{}\]+ \ sum_ {i = 1} ^ {p - 1} \ Gamma_i \三角洲{Y} _ {t -我}+ \ varepsilon_t强生# xA; $ $

现在,格式化约束矩阵(R)如此

$ $ & # xA; R '左\ [\ B开始{数组}{c} \ \ d0的\{数组}\]= \左右结束[\ 0开始{数组}{c} \ \ 0 \ 0 \ \ 0 \ \ 1 \结束数组{}\]左\[开始\ B{数组}{c} \ \数的数组{}\ \端)= 0 & # xA; $ $

并利用jcontest

R = [0 (1,size(Y,2)) 1]';约束矩阵[h,pValue,stat,cValue] = jcontest(Y,r,“BCon”R“模型”“H *”“滞后”p - 1)
h = logical 0 pValue = 0.9618 stat = 0.6111 cValue = 9.4877

jcontest而且lratiotest结果相同,即决策不能拒绝受限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美元)在第一步中估计的收敛速度与样本量成正比元新台币.因此,使用第一步得到的协整关系作为第二步的预测因子并不影响第二步VARX参数的分布。相比之下,第二步的VARX参数是渐近正态分布的,并以通常的速率收敛$ \ sqrt {T} $,所以你可以解释他们的t常用的统计方法。

当你处理季度经济数据时,你应该关注模型相对于可供估计的样本量的过度参数化。这是使用低滞后长度的部分基本原理。

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

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

由于VARX参数估计误差是渐近正态分布的,您可以通过排除(设置为零)所有具有方差的VARX参数来减轻过度参数化的影响并提高样本外预测性能t绝对值小于2的统计量。

创建与基线模型具有相同参数形式的VEC模型Mdl,但对第二步的VARX参数施加排除约束,其中包括常数(美元加元),则短期矩阵(\ Gamma_1美元),调整矩阵(一个美元).一些参考文献将排除约束称为子集的限制,这是VEC和VAR模型支持的个别约束类型的特殊情况。金宝app

toFit = vecm(Mdl。NumSeries Mdl。排名,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,“模型”“标题”);适合;协整;健康。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函数还支持金宝app广义Pesaran和Shin的脉冲响应[10]但就名义GDP而言,结果大致相似。

armairf函数返回三维数组中的IRF。每一页(第三维度)都捕获了特定变量在给定预测范围内对系统中所有变量的一个标准偏差冲击的响应。具体来说,元素tjk变量的响应是k在时间t在预测的范围内,以创新冲击为变量j在时间0。列和页对应于数据中的响应变量,和t= 0, 1,…跳频,在那里跳频是预测的视界长度。

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

地平线= 40;VAR = VAR(适合);IRF = armairf(VAR。基于“增大化现实”技术,{},“InnovCov”VAR.Covariance,“NumObs”地平线);H =数字;iSeries = 1;列1与GDP系列相关i = 1:Mdl。NumSeries subplot(mld .NumSeries,1,i) plot(IRF(:,i,iSeries))GDP对…的冲动反应+ Data.Properties.VariableNames (i))结束Screen = get(h,“父”);集(h,“位置”,[h.位置(1)屏幕. monitorpositions (4)*0.1 h.位置(3)屏幕. monitorpositions (4)*0.8]);

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

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

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

  1. 估计初始20年样本期的VEC模型1957:Q1 - 1976:Q4

  2. 预测未来1、2、3、4个季度的数据。

  3. 重新估计1957年期间的模型:Q1 - 1977年:Q1,将下一个季度的数据添加到样本中,从而增加可供估计的样本量。

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

Y =数据;直接按照时间表工作T0 = datetime(1976,12,31);%初始化预测起源(31- december -1976 =(1976,12,31)三元组)T = t0;地平线= 4;%以季度为单位的预测期限(4 = 1年)numForecasts = nummel (Y.Time(timerrange (T,Y.Time(end)),“关闭”)) -视界;yForecast = nan(numForecasts, horizon, Mdl.NumSeries);t = 1:numForecasts获取当前预测来源的季度末日期。quarterlyDates =时间范围(Y.Time(1), T,“关闭”);估计VEC模型。Fit =估计(toFit, Y{quarterlyDates,:},“模型”“标题”);预测模型在每个季度的预测范围。将当前原点(T)的预测存储为一个三维数组,其中第一页存储第一个系列(GDP)的所有预测,第二页%存储第二个系列(GDPDEF)的所有预测,等等。这%存储约定便于从时间表中访问数据%的预测创建以下。yForecast(t,:,:) = forecast(Fit, horizon, Y{quarterlyDates,:});更新预测来源,包括下个季度的数据。T =移码(T,“结束”“季”“下一个”);结束

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

originDates =数据移码(T0,“结束”“季”(0: (numForecasts-1)));forecastDates = NaT(numForecasts,horizon);i = 1:horizon forecastDates(:,i) = dateshift(originDates,“结束”“季”,我);结束预测=时间表(预测日期,“RowTimes”originDates,“VariableNames”,{“次”});i = 1:size(Y,2) Forecast.(Y. properties . variablenames {i}) = yForecast(:,:,i);结束

使用刚刚获得的迭代预测,通过绘制其预测值和预测范围(未来4个季度)的真实报告值,评估实际GDP(名义GDP净GDP价格平减指数)的预测准确性。并绘制出相应的预测误差。

forecastRealGDP = Forecast.GDP(:,4) - Forecast.GDPDEF(:,4);realGDP = Y.GDP(Forecast.Times(:,4)) - Y.GDPDEF(Forecast.Times(:,4));图subplot(2,1,1) plot(Forecast.Times(:,4), forecastRealGDP,“r”)举行情节(Forecast.Times (: 4), realGDP,“b”)标题(“实际GDP与预测:未来四个季度”) ylabel (“美元”经济衰退图例“预测”“实际”“位置”“最佳”);h.Box =“关闭”;subplot(2,1,2) plot(Forecast.Times(:,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进行估计和预测。

地平线= 12;T = datetime(2007,12,31);%危机前的预测起源(2007年12月31日=(2007,12,31)三元组)拟合=估计(toFit, Y{timerrange (Y. time (1),T,“关闭”):},“模型”“标题”);[yForecast, yMSE] = forecast(拟合,视界,Y{timerrange (Y. time (1),T,“关闭”):});σ = 0(视界,1);%预测标准误差i = 1:地平线σ(i) = sqrt (yMSE{我}(1,1)- 2 * yMSE{我}(1、2)+ yMSE{我}(2,2));结束forecastDates =数据移码(T,“结束”“季”1:地平线);figure plot(forecastDates, (yForecast(:,1) - yForecast(:,2)) + sigma,“r”)举行plot(forecastDates, yForecast(:,1) - yForecast(:,2),“r”) plot(forecastDates, (yForecast(:,1) - yForecast(:,2)) - sigma,“r”)图(预测日期,Y.GDP(预测日期)- Y.GDPDEF(预测日期),“b”)标题(“实际GDP vs. 12季度预测:来源=”+字符串(T)“美元”经济衰退图例“预测+ 1 \σ”“预测”“预测σ1 \”“实际”“位置”“最佳”);h.Box =“关闭”

估计的模型未能预测到剧烈的经济衰退。考虑到危机的严重程度,未能捕捉到衰退的程度也许在某种程度上不足为奇。

利用截至2009年中期(即抵押贷款危机刚刚结束)的数据估算和预测未来12个季度的实际GDP。

T = datetime(2009,6,30);%危机后的预测来源(2009年6月30日=(2009,6,30)三元组)拟合=估计(toFit, Y{timerrange (Y. time (1),T,“关闭”):},“模型”“标题”);[yForecast, yMSE] = forecast(拟合,视界,Y{timerrange (Y. time (1),T,“关闭”):});σ = 0(视界,1);%预测标准误差i = 1:地平线σ(i) = sqrt (yMSE{我}(1,1)- 2 * yMSE{我}(1、2)+ yMSE{我}(2,2));结束forecastDates =数据移码(T,“结束”“季”1:地平线);figure plot(forecastDates, (yForecast(:,1) - yForecast(:,2)) + sigma,“r”)举行plot(forecastDates, yForecast(:,1) - yForecast(:,2),“r”) plot(forecastDates, (yForecast(:,1) - yForecast(:,2)) - sigma,“r”)图(预测日期,Y.GDP(预测日期)- Y.GDPDEF(预测日期),“b”)标题(“实际GDP vs. 12季度预测:来源=”+字符串(T)“美元”) h =传说(“预测+ 1 \σ”“预测”“预测σ1 \”“实际”“位置”“最佳”);h.Box =“关闭”

一旦衰退数据被纳入估计,实际GDP的预测与真实值相当吻合。不过,在未来两年的预测范围内,经济复苏的预测仍然过于乐观。

最后,结合最新的金融危机后数据。

T = dateshift(Data.Time(end),“结束”“季”地平线);拟合=估计(toFit, Y{timerrange (Y. time (1),T,“关闭”):},“模型”“标题”);[yForecast, yMSE] = forecast(拟合,视界,Y{timerrange (Y. time (1),T,“关闭”):});σ = 0(视界,1);%预测标准误差i = 1:地平线σ(i) = sqrt (yMSE{我}(1,1)- 2 * yMSE{我}(1、2)+ yMSE{我}(2,2));结束forecastDates =数据移码(T,“结束”“季”1:地平线);figure plot(forecastDates, (yForecast(:,1) - yForecast(:,2)) + sigma,“r”)举行plot(forecastDates, yForecast(:,1) - yForecast(:,2),“r”) plot(forecastDates, (yForecast(:,1) - yForecast(:,2)) - sigma,“r”)图(预测日期,Y.GDP(预测日期)- Y.GDPDEF(预测日期),“b”)标题(“实际GDP vs. 12季度预测:来源=”+字符串(T)“美元”) h =传说(“预测+ 1 \σ”“预测”“预测σ1 \”“实际”“位置”“最佳”);h.Box =“关闭”

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

子样本敏感性:大通胀vs.大稳健

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

遵循Smets和Wouters概述的方法[13],第28-29页,通过执行假设灵敏度分析,简称灵敏度分析反事实的实验.检验一个拟合了一段时期内数据的模型对另一段时期内拟合的模型产生的冲击的响应。

具体而言,Smets和Wouters确定了1979年第二季度结束的时期,当时保罗·沃尔克被任命为美联储理事会主席大通胀,从1984年开始:Q1为大缓和.“大通胀”和“大稳健”之间的差距显然是一个过渡时期,包括20世纪80年代初的两次衰退。

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

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

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

为了更好地比较下面得到的过滤后的响应与上面得到的大缓和的拟合结果,使用大缓和子样本的前P个观测值初始化过滤器。换句话说,尽管从大通胀过滤器推断出的残差通过从大缓和获得的拟合模型,但您使用大缓和开始时的数据初始化过滤器。

YY = filter(Fit2, E1,“Y0”, Y2 {1: Fit2。P:},“规模”、假);Y2 = Y2((Fit2。P+ 1):(size(E1,1) + Fit2.P),:);提取相关数据,方便比较YY = array2schedule (YY,“RowTimes”, Y2。时间,“VariableNames”, Y.Properties.VariableNames);

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

图绘制(YY。时间,Y2。GDP - y。GDPDEF,“b”)举行情节(YY。时间,YY.GDP - YY.GDPDEF,“r”)标题(“实际GDP子样本比较”) ylabel (“美元”经济衰退图例“报告的大稳健数据”“经过过滤的大通胀残差”“位置”“最佳”);h.Box =“关闭”

该图表表明,过滤后的结果比报道的大缓和数据更不稳定,这是Smets和Wouters注意到的一个观察结果[13]第30页。

过滤只是过滤了通过大缓和模型从大通货膨胀中获得的残差,但只代表了更广泛的历史模拟、过滤和预测框架中的一种替代方案。

例如,尽管对这一点的分析主要涉及GDP,但有趣的是,该分析也提供了其他系列的合理准确的表示,可能除了短期利率(联邦基金)。

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

鉴于VAR和VEC模型是真实但未知的向量过程的线性近似,其依赖性由多变量高斯分布捕获,因此遇到负利率并不令人惊讶。事实上,尽管联邦基金利率从未为负,但其他短期有息账户,尤其是在欧洲,都以提供负收益率而闻名。

条件预测与模拟

条件分析与之密切相关压力测试.具体地说,为了评估经济危机期间对其余变量的影响,预先指定了一个变量子集的值,这些值通常会受到不利条件或极端值的影响。

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

具体来说,该分析结合了国会预算办公室(CBO)提供的10年经济预测。[1],该机构每季发布FRED系列的以下部分预测:

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

尽管3个月期国库券利率和联邦基金利率并不相同,但近年来它们几乎没有区别。所以,你可以用3个月国库券利率作为联邦基金利率的代表。

为了获得有条件的预测,创建一个时间表,在这个时间表中,国会预算办公室的预测捕捉了已知数据的未来演变,而未知预测是基于这些已知数据的。在安排时间表时,数值表示以已知(非缺失)信息为条件的未知(缺失)预测。

对于FRED系列,对除短期利率外的所有CBO系列进行了转换。转换序列并将它们存储在一个新的时间表中(YF),它捕捉预先已知的系列子集,并作为计算剩余预测的数据。

Yf = cbo;指定日期和原始数据YF。GDP = 100*log(CBO.GDP);国内生产总值%(产出)YF。GDPDEF = 100*log(CBO.GDPDEF);% GDP隐性价格平减指数YF。COE = 100*log(CBO.COE);员工薪酬(工资)%

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

YF (end-3:,)
ans = 4x7时间表时间GDP GDPDEF COE HOANBS联邦基金PCEC GPDI ___________ ______ ______ ______ ______ ________ ________ 31-Mar-2027 1023.5 492.1 963.14 NaN 2.8 NaN NaN 30-Jun-2027 1024.4 492.6 964.07 NaN 2.8 NaN NaN 30- september -2027 1025.4 493.09 964.99 NaN 2.8 NaN NaN 31-Dec-2027 1026.3 493.59 965.89 NaN 2.8 NaN NaN

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

YF.GDP(:) = NaN;YF (end-3:,)
ans = 4x7时间表时间GDP GDPDEF COE HOANBS联邦基金PCEC GPDI ___________ _________ ______ ______ ________ ________ 31-Mar-2027 NaN 492.1 963.14 NaN 2.8 NaN NaN 30-Jun-2027 NaN 492.6 964.07 NaN 2.8 NaN NaN 30- sept -2027 NaN 493.09 964.99 NaN 2.8 NaN NaN 31-Dec-2027 NaN 493.59 965.89 NaN 2.8 NaN NaN

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

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

forecastQuarters = timerange(Y.Time(end),CBO.Time(end),“openleft”);YF = YF(预测季度,:);yForecast = forecast(Fit2, size(YF,1), y .“。”, YF.Variables);yForecast = array2schedule (yForecast,“RowTimes”、YF。时间,“VariableNames”, Y.Properties.VariableNames);

检查结果,看看缺失的GDP、HOANBS、PCEC和GPDI系列是否填充了它们的条件预测,而用于条件调节的GDPDEF、COE和FEDFUNDS系列没有变化。

yForecast (end-3:,)
ans = 4x7时间表时间GDP GDPDEF COE HOANBS FEDFUNDS PCEC GPDI ___________ ______ ______ ______ ______ ________ ______ ______ 31-Mar-2027 1024.1 492.1 963.14 488.27 2.8 987.67 837.48 30-Jun-2027 1025 492.6 964.07 488.69 2.8 988.6 838.42 30- september -2027 1025.9 493.09 964.99 489.05 2.8 989.5 838.98 31- december -2027 1026.7 493.59 965.89 489.4 2.8 990.38 839.51

将由条件预测得出的实际GDP与由国会预算办公室预测得出的实际GDP进行比较。注意他们的意见非常一致。

图绘制(YF。时间,100*log(CBO.GDP(forecastQuarters)) - YF.GDPDEF,“b”)举行情节(YF。时间,yForecast.GDP - yForecast.GDPDEF,“r”)标题(“实际GDP预测vs.条件预测”) ylabel (数十亿美元的) h =传说(“国会预算办公室实际GDP预测”“实际GDP条件预测”“位置”“最佳”);h.Box =“关闭”

条件分析不仅局限于预测,也可以扩展到模拟。给出了在YF,您可以通过从有条件的多变量高斯分布中采样来估算未知值。

方法模拟1000个条件采样路径模拟函数。

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

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

数字i = 1:10 plot(YF。时间,YY(:,1,i) - YY(:,2,i)) hold结束标题(“实际GDP样本路径”) ylabel (“美元”

该图表明,实际GDP的分布随着时间的变化而显著变化,因此另一个衡量利益的指标是实际GDP的分布。

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

YY = permute(squeeze(YY(20,:,:)), [2 1]);直方图(YY(:,1) - YY(:,2),“归一化”“pdf”)包含(“实际GDP(十亿美元)”)标题(“未来5年实际GDP密度”

参考文献

[1]国会预算办公室,预算和经济数据,10年经济预测,https://www.cbo.gov/about/下载188bet金宝搏products/budget-economic-data#4

[2]德尔·内格罗,M., Schorfheide, F., Smets, F.和Wouters, R.。《新凯恩斯模型的拟合》商业与经济统计杂志.第25卷,2007年第2期,第123-162页。

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

[4]约翰森,S。协整向量自回归模型中的似然推理.牛津:牛津大学出版社,1995年。

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

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

[7]Lütkepohl, Helmut和Markus Krätzig,编辑。应用时间序列计量经济学.剑桥大学出版社,2004年第1版。https://doi.org/10.1017/CBO9780511606885

[8]Lutkepohl,赫尔穆特。多重时间序列分析新导论.纽约州纽约:斯普林格出版社,2007年。

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

[10]佩萨兰,H. H.和Y. Shin。线性多元模型的广义脉冲响应分析经济上的字母。第58卷,1998,第17-29页。

[11]斯梅茨,f,沃特斯,R。“估计的欧元区随机动态一般均衡模型。”欧洲中央银行,工作文件系列.第171期,2002年。

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

[13]斯梅茨,f,沃特斯,R。《美国商业周期中的冲击与摩擦:贝叶斯DSGE方法》欧洲中央银行,工作文件系列.2007年,第722号。

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