DID大法:多期DID如何做平行趨勢檢驗?
多期DID中不同個體的政策實施時點不同,所以繪製時間趨勢圖不是特別方便,加上時間趨勢圖本身就只是一種較為粗糙的平行趨勢檢驗方法,所以事件研究法(Event Study)就是多期DID平行趨勢檢驗的不二選擇了。
之前給大家推送了單期DID平行趨勢檢驗的Stata操作,其實,多期DID的操作也差不多。本來想在國內中國工業經濟上找一篇多期DID的論文,利用作者提供的資料給大家分享一下多期DID平行趨勢檢驗的Stata操作,但是沒有找到合適的論文。這次,就借用Beck, Levine & Levkov(2010)《銀行放松管制對收入分配差距的影響》這篇論文的資料和程式碼,加以修改和最佳化,給大家分享一下多期DID平行趨勢檢驗的Stata操作。
這是一篇多期DID的範文,它發表在金融學領域TOP期刊JF上。作者在這篇論文中研究的問題是銀行放松管制對美國收入分配差距的影響,20世紀70年代到90年代,美國大多數州取消了對州內銀行分支機構的限制,這一政策加劇了銀行競爭,降低了費用,擴充套件了低收入群體獲得銀行信貸的渠道,從而縮小了收入分配差距。
多期DID檢驗平行趨勢假設的思路和單期DID一樣,還是透過事件研究法對政策的經濟效應在年度之間的動態趨勢進行分解和分析,只是在計算政策時點前後期數的時候有所不同,單期DID是當前時間減去政策統一實施時間,而多期DID是當前時間減去各自政策實施時間。根據以上思想,我們建立如下的迴歸模型:
其中,Y表示收入分配差距,用基尼係數的自然對數來表示。REFORM_(i,t-j)是一個虛擬變數,如果州i在t-j時期實行了放鬆銀行管制的政策,那麼該變數取值為1,否則為0(M、N分別表示政策時點前和政策時點後的期數)。舉例說明,當j=-2時,虛擬變數REFORM_(i,t+2)表示的就是州i在t+2時期實行了放鬆銀行管制的政策,其衡量就是州i放鬆銀行管制前兩年的效應。因此,δ_0衡量的是放鬆銀行管制當期的政策效果,δ_(-M)到δ_(-1)衡量的是放鬆銀行管制之前1-M期的政策效果,δ_1到δ_N衡量的是放鬆銀行管制之後1-N期的政策效果。如果δ_(-M)到δ_(-2)顯著為0,那麼就說明政策之前第2-M期處理組和控制組之間不存在顯著差異(以-1期為基準組),也就是平行趨勢假設成立,這當然就是我們最期望得到的。
gen policy = wrkyr - branch_reform //生成政策時點前後期數
tab policy
replace policy = -10 if policy < -10
replace policy = 15 if policy > 15
forvalues i=10(-1)1{
gen pre`i‘=(policy==-`i’)
}
gen current= (policy==0)
forvalues i=1(1)15{
gen post`i‘=(policy==`i’)
}
drop pre1 //將政策前第一期作為基準組,很重要!!!
*兩個命令結果一樣
xtreg y pre* current post* i。wrkyr, fe vce(cluster statefip)
reghdfe y pre* current post*, absorb(statefip wrkyr) vce(cluster statefip)
接下來就是根據迴歸結果,進一步透過直觀圖形方式對放鬆銀行管制在不同年份之間的動態經濟效應進行呈現。從圖中可以看出,在放鬆銀行管制之前估計係數在0附近波動(95%的置信區間包含了0值)而放鬆銀行管制實施當年以及以後幾年係數顯著為負。這表明,處理組和控制組在實施放鬆銀行管制政策之前差異不明顯,是可以進行比較的,也就是滿足平行趨勢的前提假設。在政策時點之後,放鬆銀行管制政策對收入分配差距的負效應在放松管制後的8年左右持續增長,然後趨於平穩。總的來說,放鬆銀行管制使得基尼係數下降了約4%。
*繪圖
coefplot, baselevels ///
keep(pre* current post*) ///
vertical ///轉置圖形
coeflabels( pre10 = “-10” ///
pre9 = “-9” ///
pre8 = “-8” ///
pre7 = “-7” ///
pre6 = “-6” ///
pre5 = “-5” ///
pre4 = “-4” ///
pre3 = “-3” ///
pre2 = “-2” ///
current = “0” ///
post1 = “1” ///
post2 = “2” ///
post3 = “3” ///
post4 = “4” ///
post5 = “5” ///
post6 = “6” ///
post7 = “7” ///
post8 = “8” ///
post9 = “9” ///
post10 = “10” ///
post11 = “11” ///
post12 = “12” ///
post13 = “13” ///
post14 = “14” ///
post15 = “15”) ///
yline(0,lcolor(edkblue*0。8)) ///加入y=0這條虛線
ylabel(-0。06(0。02)0。06) ///
xline(10, lwidth(vthin) lpattern(dash) lcolor(teal)) ///
ylabel(,labsize(*0。75)) xlabel(,labsize(*0。75)) ///
ytitle(“政策動態經濟效應”, size(small)) ///加入Y軸標題,大小small
xtitle(“政策時點”, size(small)) ///加入X軸標題,大小small
addplot(line @b @at) ///增加點之間的連線
ciopts(lpattern(dash) recast(rcap) msize(medium)) ///CI為虛線上下封口
msymbol(circle_hollow) ///plot空心格式
scheme(s1mono)
下圖是作者繪製的政策動態經濟效應圖,作者使用的命令相當複雜和繁瑣,有興趣的朋友可以去下載作者提供的程式碼。在這裡我使用的是更加簡單的繪圖命令coefplot,細看之下兩圖只是稍有差別,因為我選擇的是政策之前的第1期作為模型的基準組,而作者選擇的是政策實施當期作為模型的基準組。需要本篇推文所使用的的資料和Stata程式碼的朋友,請在公眾號【功夫計量經濟學】後臺回覆“多期DID”。
參考資料
Beck T , Levkov R L 。 Big Bad Banks? The Winners and Losers from Bank Deregulation in the United States[J]。 Journal of Finance, 2010, 65(5):1637-1667。