主要内容

模拟估计的VARX模型的响应

这个例子展示了如何估计一个包含滞后的内生变量和外生变量的多元时间序列模型,以及如何模拟响应。回应系列是每季的:

  • 实际本地生产总值比率的变动( y 1 t

  • 实际货币供应量(令吉1sl)利率( y 2 t

  • 短期利率(即3个月国库券收益率, y 3. t

从1959年3月到2009年3月外生序列是失业率的季度变化( x t ).

假设响应的模型是这个VARX(4,3)模型

y 1 t y 2 t y 3. t 一个 1 一个 2 一个 3. + x t 0 0 0 x t 0 0 0 x t b 1 b 2 b 3. + ϕ 1 1 1 ϕ 1 2 1 ϕ 1 3. 1 ϕ 2 1 1 ϕ 2 2 1 ϕ 2 3. 1 ϕ 3. 1 1 ϕ 3. 2 1 ϕ 3. 3. 1 y 1 t - 1 y 2 t - 1 y 3. t - 1 + + ϕ 1 1 4 ϕ 1 2 4 ϕ 1 3. 4 ϕ 2 1 4 ϕ 2 2 4 ϕ 2 3. 4 ϕ 3. 1 4 ϕ 3. 2 4 ϕ 3. 3. 4 y 1 t - 1 y 2 t - 1 y 3. t - 1 + ε 1 t ε 2 t ε 3. t

预处理的数据

加载美国宏观经济数据集。标记包含缺失值的序列及其周期(由值)。

负载Data_USEconModelvarNaN =任何(ismissing(数据表),1);%包含NaN值的变量seriesWithNaNs =系列(varNaN)
seriesWithNaNs =1 x5单元格第1列到第3列{'(federfunds) Eff…'} {' (GS10) Ten-yea……'} {'(M1SL) M1 mone…{'} column 4 to 5 {'(M2SL) M2 money…'}{“(UNRATE) Unemp…”}

在这个数据集中,包含缺失值的变量比其他变量更晚进入样本。在对一个特定的变量开始抽样后,没有丢失的值。

标记所有与模型变量中缺失值对应的时期。

idx = (~ ismissing(数据表(:,{“UNRATE”“M1SL”})), 2);

对于示例的其余部分,只考虑由a表示的级数的值真正的idx

计算rGDP和rM1SL,以及rGDP的增长率,rM1SL,短期利率和失业率。描述包含数据和变量名的描述。保留过去三年的数据,以研究估计模型的样本外表现。

rGDP = DataTable.GDP (idx)。/ (DataTable.GDPDEF (idx) / 100);rM1SL = DataTable.M1SL (idx)。/ (DataTable.GDPDEF (idx) / 100);dLRGDP = diff(日志(rGDP));gdp增长率dLRM1SL = diff(日志(rM1SL));% rM1SL增长率d3MTB = diff (DataTable.TB3MS (idx));短期利率变化百分比(3MTB)dUNRATE = diff (DataTable.UNRATE (idx));失业率的变化T =元素个数(d3MTB);总样本量东= 12;%样本外尺寸estT = T - oosT;估计样本量estIdx = 1: estT;估计样本指数oosIdx = (T - 11):T;%样本外指数date = date ((end - T + 1):end);EstY = [dLRGDP(estIdx) dLRM1SL(estIdx) d3MTB(estIdx)];%样本内的反应estX = dUNRATE (estIdx);%样本内外生数据EstY n =大小(2);OOSY = [dLRGDP(oosIdx) dLRM1SL(oosIdx) d3MTB(oosIdx)];%样本外的反应oosX = dUNRATE (oosIdx);%样本外外生数据

创建VARX模型

创建一个VARX(4)模型使用varm

Mdl = varm (n, 4);

Mdl是一个varm作为评估模板的模型对象。目前,Mdl是否知道有合适的结构用于回归组件。然而,MATLAB®在估计过程中创建所需的结构。

估计VAR(4)模型

估计参数的VARX(4)模型使用估计.显示参数估计。

EstY EstMdl =估计(Mdl,“X”, estX);总结(EstMdl)
AR-Stationary 3-Dimensional VARX(4) Model with 1 Predictor Effective Sample Size: 184-1856.01 Value StandardError TStatistic PValue ___________ _____________ __________ __________ Constant(1) 0.0080266 0.00097087 8.2674 1.3688e-16 Constant(2) 0.00063838 0.0015942 0.40044 0.68883 Constant(3) 0.068361 0.143 0.47803 0.63263 AR{1}(1,1) -0.034045 0.06633 -0.51327 0.60776 AR{1}(2,1) -0.0024555 0.10891 -0.022546 0.98201 AR{1}(3,1) -1.71639.77 -0.17567 0.86056 AR{1}(1,2) -0.013882 0.046481 -0.29867 0.76519 AR{1}(2,2) 0.17753 0.076323 2.326 0.020017 AR{1}(3,2) -6.7572 6.8464 -0.98697 0.32366 AR{1}(1,3) 0.0010682 0.00048092 2.2212 0.026337 AR{1}(2,3) -0.0050252 0.00078967 -6.3636 1.9705e-10 AR{1}(3,3) -0.16256 0.070837 -2.2948 0.021744 AR{2}(1,1) 0.077748 0.064014 1.2145 0.22454 AR{2}(2,1) 0.0047257 0.10511 0.044959 0.96414 AR{2}(3,1) 3.4244 9.4289 0.36318 0.71647 AR{2}(1,2) 0.077867 0.046954 1.6584 0.097245 AR{2}(2,2) 0.29087 0.077099 3.7727 0.00016148 AR{2}(3,2) 0.39284 6.9161 0.0568 0.9547 AR{2}(1,3) -0.0010719 0.00056413 -1.9001 0.057423 AR{2}(2,3) -0.0016135 0.00092631 -1.7419 0.081533 AR{2}(3,3) -0.21556 0.083094 -2.5942 0.0094802 AR{3}(1,1) -0.090881 0.062563 -1.4526 0.14633 AR{3}(2,1) 0.064249 0.10273 0.62542 0.53169 AR{3}(3,1) -7.9727 9.2152 -0.86517 0.38695 AR{3}(1,2) -0.024092 0.04631 -0.52024 0.60289 AR{3}(2,2) 0.068565 0.076041 0.90168 0.36723 AR{3}(3,2) 10.263 6.8212 1.5046 0.13242 AR{3}(1,3) -0.00055981 0.00056073 -0.99836 0.31811 AR{3}(2,3) -0.0021302 0.00092073 -2.3136 0.02069 AR{3}(3,3) 0.22969 0.082593 2.7809 0.0054203 AR{4}(1,1) 0.066151 0.056841 1.1638 0.24451 AR{4}(2,1) 0.028826 0.093334 0.30885 0.75744 AR{4}(3,1) 1.0379 8.3724 0.12397 0.90134 AR{4}(1,2) -0.078735 0.043804 -1.7975 0.072263 AR{4}(2,2) 0.0096425 0.071926 0.13406 0.89335 AR{4}(3,2) -12.007 6.4521 -1.8609 0.062761 AR{4}(1,3) -0.00018454 0.00053356 -0.34586 0.72945 AR{4}(2,3) -0.00019036 0.00087611 -0.21728 0.82799 AR{4}(3,3) 0.053812 0.078591 0.68471 0.49353 Beta(1,1) -0.016084 0.0016037 -10.029 1.1365e-23 Beta(2,1) -0.00154 0.0026333 -0.58482 0.55867 Beta(3,1) -1.5317 0.23622 -6.4841 8.9252e-11 Innovations Covariance Matrix: 0.0000 0.0000 0.0000 0.0000 0.0001 -0.0019 0.0000 -0.0019 0.7790 Innovations Correlation Matrix: 1.0000 0.1198 0.0011 0.1198 1.0000 -0.2177 0.0011 -0.2177 1.0000

EstMdl是一个varm包含估计参数的模型对象。

模拟样本外响应路径

假设外生失业率是一个固定序列,从估计模型模拟1000个3年响应序列路径。由于模型每个内生变量包含4个滞后,指定估计样本中的最后4个观测值作为前样本数据。

numPaths = 1000;EstY Y0 = ((end-3):最终,);rng (1);%的再现性YSim =模拟(EstMdl、东“X”oosX,“Y0”, Y0,“NumPaths”, numPaths);

YSim是一个12x3x1000的模拟响应数字数组。的行YSim对应于样例外周期,列对应于响应系列,页对应于路径。

绘制响应数据和模拟响应。确定5%、25%、75%和95%的百分位数,以及每个样本外时期模拟序列的平均值和中值。

YSimBar =意味着(YSim, 3);YSimQrtl =分位数(YSim,[0.05 0.25 0.5 0.75 0.95],3);RepDates = repmat(日期(oosIdx), 1000);respNames = {“dLRGDP”“dLRM1SL”“d3MTB”};图;J = 1:n子图(3,1,J);h1 =情节(日期(oosIdx),挤压(YSim (: j:)),“颜色”, 0.75 * (3,1));持有;h2 =情节(日期(oosIdx) YSimBar (:, j),“k”“线宽”2);h3 =情节(日期(oosIdx),挤压(YSimQrtl (: j:)),“:r”“线宽”, 1.5);h4 =情节(日期((- 30)结束:结束),[斯蒂((- 18)结束:结束,j); OOSY (:, j)],...“b”“线宽”2);标题(sprintf (' % s ', respNames {j}));datetick;轴;持有结束[h1(1) h2(1) h3(1) h4],{“模拟系列”“模拟的意思”...“模拟四分位数”“数据”},“位置”,[0.4 0.1 0.01 0.01],...“字形大小”8);

图中包含3个轴对象。标题为dLRGDP的轴对象1包含1007个类型为line的对象。标题为dLRM1SL的axis对象2包含1007个类型为line的对象。标题为d3MTB的轴对象3包含1007个类型为line的对象。这些对象代表模拟序列,模拟平均值,模拟四分位数,数据。

使用随机外生数据模拟样本外响应路径

假设失业率的变化是一个AR(4)模型,并将该模型与估计样本数据拟合。

MdlUNRATE = arima (“ARLags”1:4);EstMdlUNRATE =估计(MdlUNRATE estX,“显示”“关闭”);

EstMdlUNRATE是一个华宇电脑包含参数估计的模型对象。

模拟1000,从估计的AR(4)模型3年路径失业率的变化。由于模型包含4个滞后,指定估计样本中的最后4个观测值作为前样本数据。

XSim =模拟(EstMdlUNRATE、东“Y0”estX (end-3:结束),...“NumPaths”, numPaths);

XSim是一个12乘1000的模拟外生路径的数值矩阵。行对应句点,列对应路径。

使用模拟的外生数据,模拟估计模型中的1000条未来3年的响应序列路径。模拟不接受多个预测器数据路径,因此必须在循环中模拟响应。由于模型每个内生变量包含4个滞后,指定估计样本中的最后4个观测值作为前样本数据。

YSimRX = 0(东,n, numPaths);% PreallocateYSimRX(:,:,j) =模拟(EstMdl,oosT,)“X”XSim (:, j),“Y0”, Y0);结束

YSimRX是一个12x3x1000的模拟响应数字数组。

绘制响应数据和模拟响应。确定5%、25%、75%和95%的百分位数,以及每个样本外时期模拟序列的平均值和中值。

YSimBarRX =意味着(YSimRX, 3);YSimQrtlRX =分位数(ysimmrx,[0.05 0.25 0.5 0.75 0.95],3);图;j = 1: n;次要情节(3 1 j);h1 =情节(日期(oosIdx),挤压(YSimRX (: j:)),“颜色”, 0.75 * (3,1));持有;h2 =情节(日期(oosIdx) YSimBarRX (:, j),“k”“线宽”2);h3 =情节(日期(oosIdx),挤压(YSimQrtlRX (: j:)),“:r”“线宽”, 1.5);h4 =情节(日期((- 30)结束:结束),[斯蒂((- 18)结束:结束,j); OOSY (:, j)],...“b”“线宽”2);标题(sprintf (“%s与模拟失业率”, respNames {j}));datetick;轴;持有结束[h1(1) h2(1) h3(1) h4],{“模拟系列”“模拟的意思”...“模拟四分位数”“数据”},“位置”,[0.4 0.1 0.01 0.01],...“字形大小”, 8)

图中包含3个轴对象。带有标题dLRGDP和模拟失业率的轴对象1包含1007个类型为line的对象。带有标题dLRM1SL和模拟失业率的轴对象2包含1007个类型为line的对象。带有标题d3MTB和模拟失业率的轴对象3包含1007个类型为line的对象。这些对象代表模拟序列,模拟平均值,模拟四分位数,数据。

另请参阅

对象

功能

相关的话题