如何在stata中生成滞后项、前推项、增长率?

2025-10-10 10:25:05

1、第一步还是先打开stata并导入我们需要用到的数据

本条经验依然使用,系统自带的sp500的价格数据

sysuse sp500.dta, clear

如何在stata中生成滞后项、前推项、增长率?

如何在stata中生成滞后项、前推项、增长率?

2、然后我们尝试生成滞后项

        gen n = _n

        tsset n

        gen open_lag  = L.open

        gen open_lag2 = L2.open

我们一次生成了滞后一阶和滞后2阶的数据,现在考考大家这两个生成的变量分别确实了几个值?

分别是一个和两个。

仔细观察下图,我们就更能理解滞后的含义了,就是假设我站在你前面,你在我后面,你的滞后一阶就是我。

如何在stata中生成滞后项、前推项、增长率?

3、然后我们尝试生成前推项,

        gen n = _n

        tsset n

        gen open_forward  = F.open

gen open_forward2  = F2.open

list open_forwa*

我们观察下图1就可以知道,前推项,就是依次往前挪一个位置,其实大家在理解时不用一定要从字面出发,可以吧滞后记成,依次向后挪一个,前推记成依次向前挪一个,这条命令在处理面板数据时经常用到,大家还需要熟练掌握。

如何在stata中生成滞后项、前推项、增长率?

如何在stata中生成滞后项、前推项、增长率?

4、接下来我们尝试生成差分项,分别是一阶差分和2阶差分

        gen n = _n

        tsset n

        gen open_diff  = D.open

        gen open_diff2 = D2.open

       list open open_dif* in 1/10

观察下图可以清楚地看到数据之间的变化,差分就是假设你站在我前面,一阶差分就是用我减去你的值,2阶差分就是咱俩减完之后有个值,我后面的人减去我也得出一个值,然后再用第二个值减去第一个值,不理解的话可以去查查公式。

如何在stata中生成滞后项、前推项、增长率?

5、此处我们会简单介绍一下增长率:

有两种增长率一种是,直接计算的增长率,

       gen r1 = D.close/L.close

如何在stata中生成滞后项、前推项、增长率?

6、第二种增长率是对数增长率,这种增长率更加常用,一般使用这种增长率:

        gen lnclose = ln(close)

        gen r2 = D.lnclose     

我之前也介绍过这种增长率,可以参考,我开头的引用。

观察下图,发现两种增长率有差异但是差异不大。

如何在stata中生成滞后项、前推项、增长率?

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢