美文网首页Stata操作stata
干货分享:如何快速有效将WIND数据库下载的数据导入stata?

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

作者: 朱红兵 | 来源:发表于2018-12-17 19:18 被阅读0次

    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?

        本文链接:https://www.haomeiwen.com/subject/lgnckqtx.html