还有一个更简便的方法。我们可以使用rollreg命令。
这需要先安装rollreg包,安装完成后help rollreg查看命令。有时候stata还会要求你安装ivreg2的包,一并安装了就好。现在来解释如何用rollreg命令进行滚动回归。举个例子,我的数据之前都存储在excel中,因变量是y,自变量是x,日期是date,日期是yyyy-mm-dd这样的格式。把数据导入stata之后,首先要重新编辑日期的格式(注意哦,日期必须要是连续的):
encode date,gen(t)
这样,新生成的变量t就是stata所认可的日期格式;接下来,我要设置时间序列变量:
tsset t
时间序列变量设置之后,就可以用rollreg命令进行滚动回归啦:
rollreg y x, move(250) stub(Est) graph(full)
解释一下:rollreg后输入因变量和自变量;250即为设定的window size,自己按照滚动窗口大小进行设定啦;Est是为估计出的系数和标准误所取的前缀名称,stub这个选项是不能缺省的,所以大家自己在括号中取名好啦;graph能显示每次估计后R方和RMSE的趋势图,所以就不用再把估计结果导入到excel中自己画啦,stata可以帮你画好。贴一张stata画的图,见下方:
通过以上命令,我们得到的系数和标准误的估计结果和在“Statistics - Time series - Rolling-window and recursive estimation”中操作的结果是一样的,都等价于以下的命令:
rolling _b _se, window(250) clear: reg y x
不好的一点就是rollreg没有帮我们计算t值,大家用系数除以标准误计算一下来判断显著性就好啦。祝大家学习愉快~