• Index

向量自回归(VAR)模型

Reads: 14734 Edit

1 模型说明

在单变量时间序列模型中,我们对某个具有稳定状态的时间变量进行了建模和预测。那么,当多个具有一定联系的变量构成具有稳定状态的多变量系统时,如果对这个多变量系统未来运行状态进行预测,如何解构变量之间的相互关系呢?这时就需要用到向量自回归模型!

向量自回归模型是单变量时间序列模型的升级!单变量时间序列模型主要是对一个变量进行预测,而向量自回归模型是对具有一定关系的多个变量同时进行预测。

单变量时间序列要求数据是平稳的,即保持一定的状态持续运行!向量自回归模型也要求具有一定关系的多个变量构成的系统是平稳的。否则,如果向量自回归整个系统处于随机游走的状态,那么向量自回归中每一个变量都将无法预测!

向量自回归模型的平稳性,简单可以理解为要求每个变量都平稳,但这要求单位根检验的滞后项和VAR系统中的滞后项一致,即如果每个变量都是滞后1阶平稳,那么建立的滞后1期的VAR系统也是平稳的,但建立的滞后2期的VAR系统可能就不平稳了!所以,对于VAR模型的平稳性,可以通过特征值是否处于单位圆上来进行判断!

后面会看到,在协整模型中,如果每个变量都是不平稳的,但是同阶单整,同样是可以建立协整方程。因为在协助模型中,我们关心的是变量之间的关系(解释变量对被解释变量的影响),而不需要对变量进行预测。所以,即使多个变量构成的系统是随机游走的(无法对变量走势进行预测),但只要变量之间的关系一直稳定,就可以建立协整模型来对这一关系进行度量。

2 向量自回归(VAR)模型的形式

向量自回归(VAR)模型的形式中虽然包含了多个变量之间相互关系的等式,但是其与多元线性回归模型有着本质的区别!

多元线性回归模型中,可以通过解释变量系数的值和显著性来判断解释变量对被解释变量的影响。但是向量自回归(VAR)模型,变量之间的地位是平等的,不存在明显的解释变量和被解释变量区分。而且等式右边包含了各变量的多个滞后项,这些相互关联的滞后项共同对等式左边的变量产生影响,所以无法通过某个滞后变量系数的值来判断其对等式左边变量的影响!

向量自回归(VAR)模型主要通过脉冲响应函数(某变量所有滞后项联合对其他变量的影响路径)、方差分解(某变量受到其他变量的影响以及影响的占比)来对变量之间的相互作用进行分析!

3 向量自回归(VAR)模型的应用

3.1 数据:长期和短期利率的自回归过程

在ARCH和GARCH模型中,我们对2016年至2020年shibor隔夜利率进行了建模分析!理论分析表明,由于存在套利,短期利率和长期利率会相互影响、构成一个复杂的系统一起运行。这里采用向量自回归(VAR)模型对我国shibor的短期利率和长期利率的运行和关系进行建模分析!其中,利率分别选择隔夜利率、1周期的利率和1年期的利率。

3.2 录入数据

打开shibor的Excel数据文件,选择前两列数据;打开数据编辑窗口,将数据从Excel中复制到Stata,注意粘贴时选择“将第一行作为变量名”;

再将Excel数据文件的最后一列复制到Stata。

stata-317

3.3 数据预处理

设置时间变量:

encode 日期,g(t)
tsset t

重命名shibor变量:

rename on day
rename y  year

3.4 判断VAR的滞后期数

计算var不同滞后期的信息准则:

varsoc day year,maxlag(10)

从结果中可以看出,滞后2期和滞后9期均有两个信息准则显著,为了模型简便,所以选择滞后期数为2.

stata-318

3.5 var平稳性检验

在判断VAR模型的平稳性时,应该优先采用单位根图的方式!,VAR模型不平稳时,再采用ADF判断每个变量是否平稳,以及单整阶数!

绘制单位根圆:

var day year,lags(1/2)
varstable ,graph

绘制单位根圆时需要先把var模型估计出来,lags(1/2)表示滞后期为1到2期。如果是小样本,可以用如下命令var day year,lags(1/2) dfk small;如果有外生变量x1和x2,可以用如下命令var day year,lags(1/2) exog(x1 x2).

在单位根圆中,可以看到有一个单位根正好位于圆上,所以var不平稳,需要进一步处理!

stata-319

对day变量进行ADF单位根检验:

dfuller day,lags(2)

在估计结果中,ADF统计量为-6.403,小于1%显著水平对应的临界值-3.430,所以day变量平稳!

stata-320

对year变量进行ADF单位根检验:

dfuller year,lags(2) nocons
dfuller year,lags(2)
dfuller year,lags(2) trend

对year变量分别进行了3种形式的单位根检验,发现均不显著,因而year变量不平稳!

stata-321

stata-322

stata-323

对一阶差分后的year变量进行ADF单位根检验:

g dyear=d.year
dfuller dyear,lags(2)

在估计结果中,ADF统计量为-20.914,小于1%显著水平对应的临界值-3.430,所以dyear变量平稳!

stata-324

3.6 估计新的VAR模型

由于day变量平稳,year变量1阶差分后才平稳,所以day和year的原始变量无法建立VAR模型。需要对year变量进行差分,构建day和year差分的VAR模型,其中,year差分后表示1年期利率的变动,仍具有经济意义。

计算var不同滞后期的信息准则:

varsoc day dyear,maxlag(10)

从结果中可以看出,滞后2期、7期、9期和10期均有信息准则显著。虽然滞后10期有两个信息准则显著,但是为了模型简便,所以这里仍然选择滞后期数为2.

stata-325

绘制单位根圆:

var day dyear,lags(1/2)
varstable ,graph

在单位根圆中,可以看到所有单位根都位于圆内,所以var平稳!

stata-326

估计var模型系数及脉冲响应图、方差分解图:

var day dyear,lags(1/2)
irf create myname,set(shiborResult) step(8)
irf graph irf
irf graph fevd

irf create命令创建并保持脉冲响应函数的计算结果,其中myname和shiborResult是自己起的名字,step(8)是脉冲响应滞后的期数!

irf graph是绘图命令,参数irf表示脉冲响应图,fevd表示方差分解图!

在VAR模型估计结果中,我们一般不看变量系数的估计值,而是应该通过脉冲响应图和方差分解图来对day和dyear的关系进行分析。所以这里不在展示var模型的系数估计结果!

脉冲响应图包含四幅图,分别为变量两两之间的响应图,如果建立的是三个变量的VAR,那么脉冲响应图将包含九幅图!

右上角图的标题中,前面的day是脉冲,后面的dyear是响应, 因而表示1年期利率变动(dyear)对隔夜利率(day)的响应!从中可以看出,当day变动1单位时,当期不会将影响传导给dyear,第2期开始dyear收到小幅影响,且从第3期开始,影响逐渐减小。总之,day变动对dyear的影响是非常小的。

左下角是隔夜利率(day)对1年期利率变动(dyear)的响应!dyear变动对day的影响高于day变动对dyear的影响,但整体上影响也偏小。

stata-327

方差分解图也包含四幅图,右上角是隔夜利率(day)对1年期利率变动(dyear)方差的贡献,可以看出,贡献几乎为零,即隔夜利率(day)对1年期利率变动(dyear)的影响较小。

左下角是1年期利率变动(dyear)对隔夜利率(day)方差的贡献,1年期利率变动(dyear)对隔夜利率(day)的影响也较小。

stata-328

估计var,同时绘制脉冲响应图和方差分解图的另一种方法

估计var模型的同时,绘制脉冲响应图和方差分解图:

varbasic day dyear,lags(1/2) irf
varbasic day dyear,lags(1/2) fevd

varbasic可以在估计var模型的同时,绘制脉冲响应图和方差分解图,但是每次只能选择绘制其中的一个图!具体图形和上面的结果一样,不再展示!

4 变量不平稳时如何做VAR

如果VAR模型是不平稳的,且每个变量都是1阶差分后平稳。那么,是否可以直接对差分后的变量做VAR模型呢?答案是不一定。

正确的做法是(参见Walter Enders的应用计量经济学:时间序列分析(第三版)297页):

首先对1阶单整变量做协整检验;如果不存在协整关系,那么可以直接对差分后的变量做VAR模型;如果存在协整关系,则需要用误差修正模型(VEC)来估计差分后变量之间的关系。



获取案例数据,请关注微信公众号并回复:Stata_dt29


Comments

Make a comment

  • Index