利用Stata、Eviews、Matlab做SVAR

Stata:

以人均政府支出g、人均产出y、人均消费c、净出口/总产出tby和实际利率rer的数据为例。

//除nxy外均取对数
gen lng=log(g)
gen lny=log(y)
gen lnc=log(c)
gen lnnxy=nxy
gen lnrer=log(rer)

//设置约束矩阵
matrix A=(1,0,0,0,0\.,1,0,0,0\.,.,1,0,0\.,.,.,1,0\.,.,.,.,1)
matrix B=(.,0,0,0,0\0,.,0,0,0\0,0,.,0,0\0,0,0,.,0\0,0,0,0,.)
//确定滞后阶数,此处设置最大滞后阶数为8
varsoc lng lnrer lnc lny lnnxy ,m(8)
//计算SVAR
svar lng lnrer lnc lny lnnxy, aeq(A) beq(B) lags(1/1) nolog full var 
//保存irf图,此处option: replace为替换同名图像文件,无同名文件是不用加
irf create C,step(4) set(C) replace
//画脉冲-响应图
irf graph irf  //输出所有irf//
irf graph irf, impulse(lng)  //输出政府支出g冲击的响应图//
irf table irf, impulse(lng)  //输出政府支出g冲击的响应表//
irf graph cirf, impulse(lng)  //输出政府支出g的累计响应图//
//分别输出政府支出的irf图
irf graph irf ,  impulse(lng)  response(lnrer)
irf graph irf ,  impulse(lng)  response(lnnxy)
irf graph irf ,  impulse(lng)  response(lny)
irf graph irf ,  impulse(lng)  response(lnc)
irf graph irf ,  impulse(lng)  response(lng)

//检验
varstable,graph
varwle  //检验各阶系数联合显著性//
varlmar  //检验残差是否自相关//
varnorm    //看残差是否服从正态分布//
vargranger  //格兰杰因果关系//

Eviews:

创建VAR:

Object>New Object>VAR

输入经平减、季节调整后和对数化的相关变量

AR检验:

View>Lag Structure>AR Roots Table

显示:No root lies outside the unit circle.VAR satisfies the stability condition. 即通过检验。

格兰杰因果检验:

View>Lag Structure>Granger Causality/Block Exogeneity Tests

联合检验p值均小于0.05则通过检验,否则模型含有外生变量。

滞后阶数检验:

View>Lag Structure> Lag Length Criteria

选择标星号的滞后阶数

创建SVAR:

Proc>Estimate Structural Factorization…

irf图:

View>Impulse Response…

Matlab

见:Econometrics Toolbox: by James P. LeSage
http://www.spatial-econometrics.com/ 其中的var_bvar文件夹中有VAR相关函数代码和示例代码。

Matlab的一些其他Toolbox,可见 Andrew J. Patton 的主页: https://public.econ.duke.edu/~ap172/

作者: 公子小白

SOS团团员,非外星人、未来人、超能力者。。。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注