主要内容

模拟美国经济

这个例子说明了使用矢量误差校正(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的工作流[13]使用相同的宏观经济时间序列数据。

本例使用协整向量自回归(VAR)模型,也称为向量误差校正(VEC)模型,这两种模型都得到了《计量经济学工具箱》中各种函数的支持。这个描述性宏观经济模型为研究各种冲击对美国经济的影响提供了一个很好的起点,特别是在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国内生产总值(数十亿美元,季度)国内生产总值隐含价格平减指数(2009年指数= 100,季度)雇员COE已支付薪酬(数十亿美元,季度)HOANBS非农业务部门所有人工时(2009年指数= 100,季度)联邦基金有效联邦基金利率(年化,百分比)个人消费支出(数十亿美元,季度)国内投资总额(数十亿美元,季度)
负载Data_USEconVECModel

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

弗雷德= Example_USEconData;

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

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

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

变换原始数据

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

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

显示模型数据

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

图次要情节(2 2 1)情节(数据。时间,(数据。(美国国内生产总值,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)情节(数据。时间,(数据。经济衰退图表标题(的工资和小时的) ylabel (“对数(x100)”h =图例(“卓越中心”“HOANBS”“位置”“最佳”);h.Box =“关闭”;次要情节(2,2,4)情节(数据。时间,数据。FEDFUNDS)recessionplot标题(“联邦基金”) ylabel (“百分比”

概述评估方法

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

鉴于斯米茨和沃特[13]本例强调样本外预测性能,不评估样本内拟合优度度量。然而,计量经济学工具箱支持这样的评估(例如,参见aicbic).

为了理解本例中的规范方法,观察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], p . 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; $ $

与创新

$ $ & # xA; \ varepsilon_t \ sim N(0 \ω)强生# xA; $ $

确定协整秩(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,统计,cValue mleHstar] = jcitest (Y,“滞后”p - 1,“模型”“H *”);[h, pValue,统计,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统计量:trace显著性水平:0.05 r h stat cValue pValue eigVal ---------------------------------------- 01 261.9245 125.6176 0.0010 0.3460 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*模型的%对数似然rLogL = mleH1.r4.rLL;r = 4时,受限H1模型的对数似然[h,pValue,stat,cValue] = lratiotest(uLogL, rLogL, r)
h = logic 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 = [zero (1,size(Y,2)) 1]';%约束矩阵[h, pValue,统计,cValue] = jcontest (Y, r,“BCon”R“模型”“H *”“滞后”p - 1)
h = logic 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] = estimate(vecm(size(Y,2),r,P-1), Y,“模型”“标题”);

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

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

“=结果(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,“模型”“标题”);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函数还支持广义Pesaran和Shin的冲动反应[10]但就名义GDP而言,结果大致相似。

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

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

地平线= 40;VAR = varm(配合);IRF = armairf (VAR。基于“增大化现实”技术,{},“InnovCov”VAR.Covariance,“NumObs”地平线);h =图;iSeries = 1;第1列与GDP序列相关我= 1:Mdl。NumSeries subplot(mml .NumSeries,1,i) plot(IRF(:,i,iSeries)) title(“GDP脉冲响应”+ Data.Properties.VariableNames (i))结束屏幕=得到(h,“父”);集(h,“位置”,[h.Position(1) screen.MonitorPositions(4)*0.1 h.Position(3) screen.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);%初始预测起源(1976年12月31日=(1976,12,31)三元组)T = T0;地平线= 4;%以季度为单位的预测期限(4 = 1年)numForecasts =元素个数(Y.Time (timerange (T, Y.Time(结束),“关闭”))) -层;yForecast = nan(numForecasts, horizon, Mdl.NumSeries);t = 1: numForecasts获取当前预测起源的季度末日期。=时间范围(y .时间(1),T,“关闭”);估计VEC模型。Fit = estimate(toFit, Y{quarterlyDates,:},“模型”“标题”);对每个季度的模型进行预测,直到预测的期限。。将当前原点(T)的预测存储为一个3-D数组,其中第一页储存第一系列(GDP)的所有预测,第二页。%存储第二系列(GDPDEF)的所有预测,以此类推。这%存储约定方便了从时间表访问数据%以下作出的预测。yForecast(t,:,:) = forecast(Fit, horizon, Y{quarterlyDates,:});更新预测来源,以包括下个季度的数据。。T = dateshift (T)“结束”“季”“下一个”);结束

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

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

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

forecastRealGDP = Forecast.GDP(:,4) - forecast . gddpdef (:,4);realGDP = Y.GDPDEF(Forecast.Times(:,4)) - Y.GDPDEF(Forecast.Times(:,4));figure subplot(2,1,1) plot(Forecast.Times(:,4), forecastRealGDP,“r”)举行情节(Forecast.Times (: 4), realGDP,“b”)标题(实际GDP与预测:未来4个季度) ylabel (“美元”经济衰退图h =传说(“预测”“实际”“位置”“最佳”);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日,31日)三元组)拟合=估计(toFit, Y{时间范围(Y.时间(1),T,“关闭”):},“模型”“标题”);[yForecast, yMSE] = forecast(Fit, horizon, Y{timerange(Y. time (1),T,“关闭”):});σ= 0(地平线,1);%预测标准误差i = 1:地平线σ(i) = sqrt (yMSE{我}(1,1)- 2 * yMSE{我}(1、2)+ yMSE{我}(2,2));结束forecastDates = dateshift (T)“结束”“季”1:地平线);图(forecastDates, (yForecast(:,1) - yForecast(:,2)) + sigma,“r”)举行plot(预测日期,yForecast(:,1) - yForecast(:,2),“r”) plot(forecastDates, (yForecast(:,1) - yForecast(:,2))“r”Y.GDP(forecastDates) - y . gddpdef (forecastDates),“b”)标题(实际GDP与12-Q预测:来源=+字符串(T)) ylabel (“美元”经济衰退图h =传说(“预测+ 1 \σ”“预测”“预测σ1 \”“实际”“位置”“最佳”);h.Box =“关闭”

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

利用截至2009年中期(即抵押贷款危机后)的数据,对未来12个季度的实际GDP进行估计和预测。

T = datetime(2009、6、30);%预测发生在危机之后(2009年6月30日=(2009年6月30日)三元组)拟合=估计(toFit, Y{时间范围(Y.时间(1),T,“关闭”):},“模型”“标题”);[yForecast, yMSE] = forecast(Fit, horizon, Y{timerange(Y. time (1),T,“关闭”):});σ= 0(地平线,1);%预测标准误差i = 1:地平线σ(i) = sqrt (yMSE{我}(1,1)- 2 * yMSE{我}(1、2)+ yMSE{我}(2,2));结束forecastDates = dateshift (T)“结束”“季”1:地平线);图(forecastDates, (yForecast(:,1) - yForecast(:,2)) + sigma,“r”)举行plot(预测日期,yForecast(:,1) - yForecast(:,2),“r”) plot(forecastDates, (yForecast(:,1) - yForecast(:,2))“r”Y.GDP(forecastDates) - y . gddpdef (forecastDates),“b”)标题(实际GDP与12-Q预测:来源=+字符串(T)) ylabel (“美元”h =图例(“预测+ 1 \σ”“预测”“预测σ1 \”“实际”“位置”“最佳”);h.Box =“关闭”

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

最后,整合危机后的最新数据。

T = dateshift (Data.Time(结束),“结束”“季”地平线);拟合=估计(toFit, Y{时间范围(Y.时间(1),T,“关闭”):},“模型”“标题”);[yForecast, yMSE] = forecast(Fit, horizon, Y{timerange(Y. time (1),T,“关闭”):});σ= 0(地平线,1);%预测标准误差i = 1:地平线σ(i) = sqrt (yMSE{我}(1,1)- 2 * yMSE{我}(1、2)+ yMSE{我}(2,2));结束forecastDates = dateshift (T)“结束”“季”1:地平线);图(forecastDates, (yForecast(:,1) - yForecast(:,2)) + sigma,“r”)举行plot(预测日期,yForecast(:,1) - yForecast(:,2),“r”) plot(forecastDates, (yForecast(:,1) - yForecast(:,2))“r”Y.GDP(forecastDates) - y . gddpdef (forecastDates),“b”)标题(实际GDP与12-Q预测:来源=+字符串(T)) ylabel (“美元”h =图例(“预测+ 1 \σ”“预测”“预测σ1 \”“实际”“位置”“最佳”);h.Box =“关闭”

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

次样本敏感性:大通胀与大缓和

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

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

具体地说,Smets和Wouters确定了结束于1979年第二季度的时期,任命Paul Volker为美联储理事会主席大通胀从1984年开始:Q1作为大缓和.“大通胀”和“大缓和”之间的间隙显然是一个过渡期,包括20世纪80年代初的两次衰退。

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

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

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

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

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

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

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

这幅图表明,经过过滤的结果比报告的“大缓和”数据更不稳定,斯米茨和乌特斯注意到了这一点[13], 30页。

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

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

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

鉴于VAR和VEC模型是真实的、但未知的向量过程的线性近似值,其相关性由多元高斯分布捕获,因此遇到负利率并不奇怪。事实上,尽管联邦基金利率从未为负,但其他短期有息账户(尤其是在欧洲)的收益率一直为负。

条件预测与模拟

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

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

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

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

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

为了获得有条件的预测,要创建一个时间表,让CBO的预测捕捉到已知数据的未来演变,而未知预测则以这些数据为条件。格式化时间表时,值表示基于已知(非缺失)信息的未知(缺失)预测。

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

YF =国会预算办公室;指定日期和原始数据YF。国内生产总值= 100 *日志(CBO.GDP);% %(输出)YF。GDPDEF = 100 *日志(CBO.GDPDEF);GDP隐含价格平减指数YF。COE = 100 *日志(CBO.COE);%员工报酬(工资)

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

YF (end-3:,)
ans = 4x7时间表时间GDP gddpdef 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- december -2027 1026.3 493.59 965.89 NaN 2.8 NaN NaN

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

YF.GDP(:) =南;YF (end-3:,)
ans = 4x7时间表时间GDP gddpdef 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- september -2027 NaN 493.09 964.99 NaN 2.8 NaN NaN 31- december -2027 NaN 493.59 965.89 NaN 2.8 NaN NaN

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

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

forecastQuarters = timerange (Y.Time(结束),CBO.Time(结束),“openleft”);YF = YF (forecastQuarters:);yForecast = forecast(Fit2, size(YF,1), Y.Variables,“。”, YF.Variables);yForecast = array2timetable (yForecast,“RowTimes”、YF。时间,“VariableNames”, Y.Properties.VariableNames);

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

yForecast (end-3:,)
ans = 4x7时间表时间GDP gddpdef COE HOANBS联邦基金PCEC GPDI ___________ ______ ______ ______ ______ ________ ______ ______ 31-Mar-2027 1024.1 492.1 963.14 488.27 2.8 987.67 837.48 30- june -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预测与条件预测”) ylabel (数十亿美元的h =图例(“国会预算办公室实际GDP预测”“实际GDP条件预测”“位置”“最佳”);h.Box =“关闭”

条件分析不仅仅局限于预测,也可以扩展到模拟。给出了一个nan和non- nan的模式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(挤压(YY(20,:,:)), [2 1]);图直方图(YY(:,1) - YY(:,2),“归一化”“pdf”)包含(“实际GDP(十亿美元)”)标题(“未来5年实际GDP密度”

参考文献

[1]国会预算办公室,预算和经济数据,十年经济预测,https://www.cbo.gov/data/budget-economic-data

[2]Del Negro, M., Schorfheide, F., Smets, F.和Wouters, R.。《论新凯恩斯主义模型的拟合》商业与经济统计杂志.2007年,第25卷第2期,第123-162页。

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

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

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

[6]金博,M。《新一元基本模型的定量分析》货币、信贷和银行学报,第二部分:流动性、货币政策和金融中介.1995年第4期,第27卷,第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。申。线性多元模型中的广义脉冲响应分析。经济上的字母。1998年第58卷,第17-29页。

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

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

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

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

Baidu
map