by DevinChu, 2018/12/16, NanJing
前言:WIND數(shù)據(jù)庫(kù)是大家在科研路上常用的數(shù)據(jù)下載利器,但遺憾的是從WIND上下載下來(lái)的EXCEL數(shù)據(jù)文件的排列方式總是需要手工整理才能滿(mǎn)足STATA的要求,進(jìn)行后續(xù)的實(shí)證分析。出于這一需求,我們寫(xiě)了readWind的這一命令,用以將寬型的上市公司財(cái)務(wù)數(shù)據(jù)高效轉(zhuǎn)換為長(zhǎng)型的面板數(shù)據(jù)。
第一步:在stata中安裝github的下載接口
在stata的command框中輸入下面的代碼耐心等待安裝完成:
net install github, from("https://haghish.github.io/github/")
第二步:通過(guò)github接口安裝github上的命令
在stata的command框中輸入下面的代碼耐心等待安裝完成:
github install zhbsis/TwoSort
上述命名安裝完成中你會(huì)發(fā)現(xiàn)你的c盤(pán)ado文件夾中的a文件夾里面多了readWind.ado的命令,這就是快速將WIND數(shù)據(jù)終端中下載的excel數(shù)據(jù)轉(zhuǎn)換為有效stata數(shù)據(jù)格式的命令啦?。?!
第三步:readWind對(duì)wind下載的excel格式有什么要求呢?
只要你的EXCEL數(shù)據(jù)滿(mǎn)足下面的格式要求,都可以通過(guò)readWind讀入到stata中:
| 股票代碼 | 股票名稱(chēng) | 時(shí)間1 | 時(shí)間2 | ... | 時(shí)間n |
|---|---|---|---|---|---|
| 000016 | 深康佳A | 1.051 | .... | .... | ..... |
| 000017 | 深中華A | 0.951 | .... | .... | ..... |
| ...... | ....... | ..... | .... | .... | ..... |
第四步:如何調(diào)用執(zhí)行readWind命令呢?
readWind的具體命令格式如下:
readWind, var(excel名稱(chēng)) timeType(時(shí)間類(lèi)型) t0(樣本起始時(shí)間) [split splitN(樣本分割數(shù)) erase]
其中,
- excel名稱(chēng)就是從wind下載下來(lái)的是excel名稱(chēng),建議用英文命名,最好以變量名命名,比如我下載了ROE的數(shù)據(jù),那這個(gè)excel就命令為ROE
- 時(shí)間類(lèi)型是指下載下來(lái)的數(shù)據(jù)是年度,季度還是月度,所以取值是y/q/m,暫時(shí)不支持日度
- 樣本起始時(shí)間,比如你選擇從1995年1月開(kāi)始下載,那么這個(gè)t0里面就寫(xiě)1995m1,如果是1991年第1季度開(kāi)始,那就寫(xiě)1995q1,如果是年度數(shù)據(jù)以年為變化單位那就寫(xiě)1995
- split splitN(n) erase這3個(gè)option是可選擇的命令,主要是樣本中的數(shù)據(jù)量太大時(shí)運(yùn)行速度比較慢,所以我們采用了個(gè)折中的方法將樣本分割成n個(gè)小樣本,依次進(jìn)行處理最后合并在一起。n取值越大分割的樣本越小。建議n不要取值太小也不要太大。
- 另外需要注意的是,本命令是基于gather命令進(jìn)行的轉(zhuǎn)置,所以需要先安裝tidy中的gather命令:
ssc install tidy
舉個(gè)栗子:我從wind上下載了A股上市企業(yè)ROE的數(shù)據(jù)(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
最后就可以看到漂亮規(guī)范的數(shù)據(jù)格式啦:

ROE.png
