如何在stata中进行差分、对数差分和移动平均?

2025-11-07 12:59:50

在上一条经验中我们介绍了stata中_n和_N的用法,按照约定,我们来介绍一下如何在stata中对数据进行加工,本章将要介绍的内容包括:_N的妙用、差分、对数差分、移动平均(未来在介绍去除时间趋势时还会用到)本章内容较多,还需要在看完经验之后自己去实践一下。在下一条经验中,我们还会介绍滞后项、前推项、增长率的相关知识。

电脑

方法/步骤

第一步先打开stata,然后打数据导入到stata当中。

需要注意的是,我们需要打开一个有时间变量的数据,又些操作需要用到时间变量。为了演示方便,我们打开系统自带的数据

sysuse sp500.dta

打开数据查看一下,发现第一列date是表示时间的量。

如何在stata中进行差分、对数差分和移动平均?

如何在stata中进行差分、对数差分和移动平均?

我们想生成最大值,与最大值的差,还有数据的变化范围这三个向量。     

sort open

gen o_max   = open[_N]             //开盘价的最大值

gen o_diff  = open[_n] - open[_N]  // 开盘价与最大值的差

gen b_diff = open[_N] - open[1]    // 最大值与最小值之间的范围

其中:open[1],表示的就是第一个数值,open[_n]指的就是第n个数。

如何在stata中进行差分、对数差分和移动平均?

我们想生成差分(这个十分常用,有两种使用办法)

第一种:

gen n = _n

tsset n

gen D_open = D.open

第二种

sort date

gen d_open = open[_n] - open[_n-1]

 list ?_open in 1/10 //此处用了我们之前介绍的小技巧

第二种方法十分通用,可以用于所有类型的数据。

遇到不会的问题,在stata里输入help查询一下

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