Stata数据处理:快速读取万德-Wind-数据-readWind2

发布时间:2020-10-07 阅读 38

Stata 连享会   主页 || 视频 || 推文

温馨提示: 定期 清理浏览器缓存,可以获得最佳浏览体验。

课程主页 https://gitee.com/arlionn/Course

作者:朱红兵 (南京大学)


目录


前言:readWind1.0 版本发布以来,有很多小伙伴发来邮件咨询,主要提出的问题有:是否可以一次读取excel中的多个变量呢?是否可以读取指定 excel 的 sheet 表呢?是否可以读取 csv 格式的原始数据呢?是否可以不用分割数据集并且提高数据读取转换速度呢?为何 xls 后缀的 excel 不能识别呢等问题。为解决这些问题,进一步提高 readWind 的适用性,我们升级了 readWind 背后的程序代码,这一次的升级在解决上述问题的同时,也大大提高了运行效率,欢迎各位小伙伴使用。

WIND 数据库是大家在科研路上常用的数据下载利器,但遗憾的是从 WIND 上下载的 EXCEL 数据文件通常是横向排列的 (即 Stata 用户熟悉的 wide 格式),需要我们手工整理或采用 reshape 等命令进行转换后才能满足 Stata 的分析要求。出于这一需求,我们在 2018 年 12 月发布了新命令:readWind,用以将宽型 (wide) 的上市公司财务数据高效地转换为长型 (long) 的面板数据。为进一步提高 readWind 的适用性,我们对背后的代码进行了升级,主要增加了以下功能:(1)同时读取一张表中的多个变量,不仅仅局限于1个变量;(2)能够读取 xls 、xlsx 或 csv 格式的原始数据;(3)能够强制将原始数据转换为 string 格式,并且在读取 csv 格式数据时支持自定义编码;(4)能够读取 Excel 中指定 sheet 表中的变量数据;(5)增加了日度频率的数据支持。

1. 下载安装 readWind2.0 命令

第一步:在 Stata 中安装 github 命令

在 Stata 的 command 框口中输入如下命令自动下载外部命令 github。该命令用于搜索、安装 Github 上发布的 Stata 外部命令 (若已经安装 github 命令,可以忽略此步):

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

第二步:使用 github 命令安装 Github 上的命令

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

. github install zhbsis/readWind

上述命名安装完成中你会发现你的 c 盘 ado 文件夹中的 a 文件夹里面多了readWind这个 ado 命令,这就是将 Wind 数据终端中下载的 excel 数据转换为能够直接进行实证分析的 long 型数据格式的命令啦!!!

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

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

股票代码 股票名称 变量1-时间1 变量1-时间2 ... 变量1-时间n 变量2-时间1 变量2-时间2 ... 变量2-时间n
000016 深康佳A 1.1 .... .... ..... 3.1 .... .... .....
000017 深中华A 1.2 .... .... ..... 3.2 .... .... .....
...... ....... ..... .... .... ..... .... .... .... .....

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

调用 readWind 只需在 Stata 的 command 命令框输入下述命令行即可:

readWind 变量名称(至少1个变量),  ///
   key(原始数据集名称) timeType(时间类型) ///
   t0(样本起始时间) tn(样本结束时间) ///
   [type(原始数据集格式) ///
   sheet(第几个sheet表) ///
   encoding(csv格式下的自定义编码) tostring]

其中,

  • 变量名称需要和数据集中变量的顺序对应,建议以英文命名;
  • 原始数据集名称就是从 Wind 下载下来的数据集名字,建议以英文命名;
  • 时间类型是指下载下来的样本是年度,季度还是月度数据,所以它的取值是 y/q/m/d ;
  • 样本起始时间,比如你选择从1995年1月开始下载,那么这个 t0 里面就写 1995m1 ,如果是 1995 年第 1 季度开始,那就写 1995q1 ,如果是年度数据以年为变化单位那就写 1995 ;
  • 样本结束时间,比如你的数据是截止到 2018 年 12 月,那么这个 tn 里面就写 2018m12 ,如果是2018年第4季度结束,那就写 2018q4 ,如果是年度数据以年为变化单位那就写 2018 ;
  • type(原始数据集格式) sheet(第几个sheet表) encoding(csv格式下的自定义编码) tostring这4个选项分别对应读取的原始数据集的类型, type 中的取值有 xls、xlsx 和 csv ; sheet 是指定读取的 excel 中的第几个 sheet 表,取值为 1、2、....、n,默认情况下是 sheet1 ;encoding 设定了读取样本的编码格式,这个命令建议在读取 csv 格式的原始数据时使用,通常有 utf8、utf16、GBK等类型;tostring 强制将读取的样本数据转换为字符类型,以避免在读取 csv 格式样本时出现的字符和数值冲突情况。

连享会计量方法专题……

2. readWind2.0 的使用案例

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

ROE.png
ROE.png

那么只需要在 stata 中输入下述命令:

/* 改变工作路径到ROE文件夹下 */
. cd "ROE所在的文件夹" 
/* 读取ROE.xls中的数据,只有ROE一个变量 */
. readWind ROE, key(ROE) timeType(q) t0(1995q1) tn(2017q4)

如果这个 excel 的后缀是 xls,则输入:

/* 改变工作路径到 ROE 文件夹下 */
. cd "ROE所在的文件夹" 
/* 读取 ROE.xls 中的数据,只有 ROE 一个变量 */
. readWind ROE, key(ROE) timeType(q) t0(1995q1) tn(2017q4) type(xls)

如果这个原始数据的后缀是 csv,则输入:

/* 改变工作路径到ROE文件夹下 */
. cd "ROE所在的文件夹" 
/* 读取ROE.xls中的数据,只有ROE一个变量 */
. readWind ROE, key(ROE) timeType(q) t0(1995q1) tn(2017q4)  ///
    type(csv) encoding(GBK) tostring

如果原始数据集 ROA_ROE.xlsx 中含有多个变量,比如既有ROA又有ROE,那么则输入:

/* 改变工作路径到 ROA_ROE文件夹下 */
. cd "ROA_ROE所在的文件夹" 
/* 读取 ROA_ROE.xls 中的数据,有 ROA 和 ROE 两个变量 */
. readWind ROA ROE, key(ROA_ROE) timeType(q) t0(1995q1) tn(2017q4)

等命令运行完就可以在 Stata 中看到漂亮规范的数据格式啦:

readWind2.0素材_整理结果.png
readWind2.0素材_整理结果.png

相关课程

连享会-直播课 上线了!
http://lianxh.duanshu.com

免费公开课:


课程一览

支持回看,所有课程可以随时购买观看。

专题 嘉宾 直播/回看视频
最新专题 DSGE, 因果推断, 空间计量等
Stata数据清洗 游万海 直播, 2 小时,已上线
研究设计 连玉君 我的特斯拉-实证研究设计-幻灯片-
面板模型 连玉君 动态面板模型-幻灯片-
面板模型 连玉君 直击面板数据模型 [免费公开课,2小时]

Note: 部分课程的资料,PPT 等可以前往 连享会-直播课 主页查看,下载。


关于我们

  • Stata连享会 由中山大学连玉君老师团队创办,定期分享实证分析经验。直播间 有很多视频课程,可以随时观看。
  • 连享会-主页知乎专栏,300+ 推文,实证分析不再抓狂。
  • 公众号推文分类: 计量专题 | 分类推文 | 资源工具。推文分成 内生性 | 空间计量 | 时序面板 | 结果输出 | 交乘调节 五类,主流方法介绍一目了然:DID, RDD, IV, GMM, FE, Probit 等。
  • 公众号关键词搜索/回复 功能已经上线。大家可以在公众号左下角点击键盘图标,输入简要关键词,以便快速呈现历史推文,获取工具软件和数据下载。常见关键词:课程, 直播, 视频, 客服, 模型设定, 研究设计, stata, plus, 绘图, 编程, 面板, 论文重现, 可视化, RDD, DID, PSM, 合成控制法

连享会主页  lianxh.cn
连享会主页 lianxh.cn

连享会小程序:扫一扫,看推文,看视频……

扫码加入连享会微信群,提问交流更方便

✏ 连享会学习群-常见问题解答汇总:
https://gitee.com/arlionn/WD