stata语句中VAR模型的一系列检验和实现

需要学习这个语句,便自学了下。VAR模型在eview上可以实现,也可以在stata实现,下面是stata版本的,看父母投资(每月)对子女教育的成绩(一般来说,这个模型需要宏观上的年度数据、月度数据才能实现,但是这里只是举个例子便于理解。)

****时间上最好设置为2023m2、2023m1这种,不然无法完成时间序列的设置
encode year ,gen (t)
tsset t

*-1 检验滞后阶数
varsoc  edu
varsoc  invest

*-2 检验协整关系的个数
vecrank edu infro, lag(4)

*-3 建立VECM(向量误差修正模型)
vec edu infro, lag(4)

*-4 沃尔德检验
var edu infro, dfk small
varwle 

*-5 平稳性检验
varstable,graph

***6 格兰杰因果检验
vargranger

***7 脉冲响应
***这里会出现问题,将存储位置修改到其他位置就可以创新一个数据库了。
cd e:/

irf creat gi,set(mcr)
irf graph oirf,yline(0)


***8.方差分解
irf graph fevd,r(edu) noci
irf graph fevd,r(infro) noci


***9.预测未来值
help fcast
fcast compute f_,step(9)fcast graph infro consume
fcast compute m2_, step(8)


*预测
predict ce, ce
list t consume infro ce
twoway (line consume infro t,yaxis(1)) ///
(line ce t, yaxis(2)) ///
, yline(0,axis(2) lp(dash) lc(black*0.4))


***8.方差分解
irf graph fevd,r(edu) noci
irf graph fevd,r(infro) noci


***9.预测未来值
fcast compute f_,step(9)fcast graph infro consume
fcast compute m2_, step(8)


*预测
predict ce, ce
list t consume infro ce
twoway (line consume infro t,yaxis(1)) ///
(line ce t, yaxis(2)) ///
, yline(0,axis(2) lp(dash) lc(black*0.4))

***9.预测未来值
* 正交冲击反应
irf graph oirf, impulse(infro) response(edu)
irf graph oirf, impulse(infro) response(edu)
* 累积正交冲击反应
irf graph coirf, impulse(infro) response(edu)
irf graph coirf, impulse(infro) response(edu)



可以用个stata自带的语句先跑跑

cls
clear

use http://www.stata-press.com/data/r11/txhprice,clear
des
*-四个州房价的基本时序特征
tsset t
line austin dallas houston sa t
*--Part I-- Dallas v.s. Houston
*-------------------------------

* 二变量协整分析
line dallas houston t
* 若两地的房价差异过大,居民和相关资源会在两地迁移,从而使两地价格趋同,因此,可以认为达拉斯和休斯敦的房价存在协整关系
*-0 检验序列的平稳性
dfuller dallas
dfuller houston

. dfuller houston


*/

* 为什么是平稳呢?
*直觉解释:在完全竞争市场中,当前的房价包含了所有信息,因此,我们无法预测明日房价的走势
 
*-1 检验滞后阶数
varsoc dallas houston

*-2 检验协整关系的个数
vecrank dallas houston, lag(2)

*-3 建立VECM(向量误差修正模型)
vec dallas houston, lag(2)

*4.预测
predict ce, ce
list t dallas houston ce
twoway (line dallas houston t,yaxis(1)) ///
(line ce t, yaxis(2)) ///
, yline(0,axis(2) lp(dash) lc(black*0.4))
 
*-5 冲击反应分析(脉冲响应分析)
irf create vec2, set(vec02) step(24)


* 正交冲击反应
irf graph oirf, impulse(dallas) response(houston)
irf graph oirf, impulse(houston) response(dallas)
* 累积正交冲击反应
irf graph coirf, impulse(dallas) response(houston)
irf graph coirf, impulse(houston) response(dallas)


误差修正模型的结果为:
D_dallas=-0.3039L1.ce1-0.1647LD.dallas-0.0998LD.houston+0.0056
D_houston=0.5027L1.ce1-0.0620LD.dallas-0.33328LD.houston+0.0034
ce1=dallas-0.8676houston-1.689
分析:
在D_dallas 方程中,L._ce1 = -0.3039 表明:若Dallas 的房价过高,它会向着Houston 的房价下调;在[D_houston]方程中,L._ce1 =0.5027 表明:若Dallas 的房价过高,Houston 的房价会追随之。而要是在[D_houston]方程中,L._ce1 = -0.5027 则表明:若Houston 的房价过高,它会向着Dalla 的房价下调
 
长期均衡关系:P_dallas =-1.69 - 0.868*P_houston

这个例子是看公众号学习的,忘记出处了,下次看到了再附上链接。

好的,我会根据您的要求,为您介绍如何使用Stata编写一个完整的VAR模型。以下是编写VAR模型的一些基本步骤: 1. 数据准备:首先,您需要收集您感兴趣的变量的数据,并将其导入到Stata。确保数据已经清洗,不存在缺失值或异常值。 2. 变量选择:在收集数据后,您需要选择要包括在VAR模型的变量。这通常基于您的研究问题和理论框架。在这个步骤,您需要确定变量的数量和顺序,并将它们命名并存储在Stata数据集。 3. 模型规范:在这个步骤,您需要确定VAR模型的阶数和滞后期数。这可以通过使用信息标准或经验判断来完成。通常,您需要尝试不同的阶数和滞后期数,并选择最佳模型。 4. 模型估计:一旦您已经规范了VAR模型,您需要使用StataVAR命令来估计模型参数。VAR命令可以自动估计VAR模型的参数,并生成各种统计量,例如系数估计值、标准误差、残差等。 5. 模型诊断:在估计VAR模型后,您需要对模型进行诊断,以确保它符合各种假设和要求。这包括检查残差序列的自相关性、异方差性和正态性等。 6. 模型预测:一旦您已经确定了VAR模型,您可以使用它来进行预测。使用StataVAR命令,您可以生成模型的预测值、置信区间和预测误差等。 下面是一个示例Stata代码,用于估计一个包括两个变量的VAR模型,并产生预测值。 ``` // 导入数据并选择变量 use mydata.dta, clear keep var1 var2 // 模型规范 var var1 var2, lags(2) // 模型估计 varbasic // 模型诊断 irf graph, impulse(var1) archlm, lags(10) // 模型预测 predict yhat, dynamic(2010q1 2011q4) nolog ``` 需要注意的是,这只是一个简单的示例代码,并且您需要根据自己的数据和研究问题进行修改和调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值