干货分享:如何快速有效将WIND数据库下载的数据导入stata?——更快更好用的readWind2.0版本来啦!

by DevinChu, 2019/06/22, NanJing

前言: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 文件夹中的 r 文件夹里面多了readWind这个 ado 命令,这就是将 Wind 数据终端中下载的 excel 数据转换为能够直接进行实证分析的 long 型数据格式的命令啦!!!

第三步:readWind对 Wind 下载的原始数据格式有什么要求呢?

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

readWind2.0素材_数据格式.png

第四步:如何调用执行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

那么只需要在 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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,132评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,802评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,566评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,858评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,867评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,695评论 1 282
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,064评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,705评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,915评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,677评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,796评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,432评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,041评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,992评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,223评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,185评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,535评论 2 343

推荐阅读更多精彩内容