干货分享:如何快速有效将WIND数据库下载的数据导入stata?

by DevinChu, 2018/12/16, NanJing

前言:WIND数据库是大家在科研路上常用的数据下载利器,但遗憾的是从WIND上下载下来的EXCEL数据文件的排列方式总是需要手工整理才能满足STATA的要求,进行后续的实证分析。出于这一需求,我们写了readWind的这一命令,用以将宽型的上市公司财务数据高效转换为长型的面板数据。

第一步:在stata中安装github的下载接口

在stata的command框中输入下面的代码耐心等待安装完成:

net install github, from("https://haghish.github.io/github/") 

第二步:通过github接口安装github上的命令

在stata的command框中输入下面的代码耐心等待安装完成:

 github install zhbsis/TwoSort

上述命名安装完成中你会发现你的c盘ado文件夹中的a文件夹里面多了readWind.ado的命令,这就是快速将WIND数据终端中下载的excel数据转换为有效stata数据格式的命令啦!!!

第三步:readWind对wind下载的excel格式有什么要求呢?

只要你的EXCEL数据满足下面的格式要求,都可以通过readWind读入到stata中:

股票代码 股票名称 时间1 时间2 ... 时间n
000016 深康佳A 1.051 .... .... .....
000017 深中华A 0.951 .... .... .....
...... ....... ..... .... .... .....

第四步:如何调用执行readWind命令呢?

readWind的具体命令格式如下:

readWind, var(excel名称) timeType(时间类型) t0(样本起始时间) [split splitN(样本分割数) erase] 

其中,

  • excel名称就是从wind下载下来的是excel名称,建议用英文命名,最好以变量名命名,比如我下载了ROE的数据,那这个excel就命令为ROE
  • 时间类型是指下载下来的数据是年度,季度还是月度,所以取值是y/q/m,暂时不支持日度
  • 样本起始时间,比如你选择从1995年1月开始下载,那么这个t0里面就写1995m1,如果是1991年第1季度开始,那就写1995q1,如果是年度数据以年为变化单位那就写1995
  • split splitN(n) erase这3个option是可选择的命令,主要是样本中的数据量太大时运行速度比较慢,所以我们采用了个折中的方法将样本分割成n个小样本,依次进行处理最后合并在一起。n取值越大分割的样本越小。建议n不要取值太小也不要太大。
  • 另外需要注意的是,本命令是基于gather命令进行的转置,所以需要先安装tidy中的gather命令:ssc install tidy

举个栗子:我从wind上下载了A股上市企业ROE的数据(ROE.xlsx)如下:


ROE.png

那么在stata中输入:

cd "C:\Users\Administrator\Desktop\ROE所在的文件夹"       

readWind, var(ROE) timeType(q) t0(1995q1)

或者

readWind, var(ROE) timeType(q) t0(1995q1) split splitN(10) erase

最后就可以看到漂亮规范的数据格式啦:


ROE.png

你可能感兴趣的:(干货分享:如何快速有效将WIND数据库下载的数据导入stata?)