global xlist "wellfare  Pd City_Size Industry_Size  Is "
xtset code year

*Descriptive statistics results
xi:reghdfe SDI NEDC $xlist , a(year code) vce(cluster codeyear)
gen miss2=missing( SDI, NEDC, wellfare , Pd ,City_Size ,Industry_Size , Is)
tabstat SDI NEDC $xlist Tech EE OESO impervious wetland if miss2==0, stats(n mean sd min max) c(s) f(%10.3f)

*correlation analysis
pwcorr SDI NEDC $xlist 

*Multi-collinearity analysis
reg SDI NEDC $xlist
estat vif

****************parallel trend test***************************************
*Comparison of mean values between treatment and control groups
collapse (mean) SDI ,by(treat year)
two (line SDI if treat==0) (line SDI if treat==1)

*Dynamic Policy Effectiveness Tests
gen policy = year-policyyear
tab policy
replace policy=-5 if policy<-5
replace policy=7 if policy>7
forvalues i = 5(-1)1{
  gen pre_`i' = (policy == -`i' & treat == 1) 
}

gen current = (policy == 0 & treat == 1)

forvalues j = 1(1)7{
  gen  post_`j' = (policy == `j' & treat == 1)
}
drop pre_1 
reghdfe SDI $xlist pre* current post* , a(year code) vce(cluster codeyear) 
coefplot, baselevels keep(pre_* current post*) vertical yline(0,lcolor(edkblue*0.8)) xline(4, lwidth(vthin) lpattern(dash) lcolor(teal)) ylabel(,labsize(*0.75)) xlabel(,labsize(*0.75)) ytitle("Estimated Coefficient", size(small)) xtitle("Policy time node", size(small)) addplot(line @b @at) ciopts(lpattern(dash) recast(rcap) msize(medium)) msymbol(circle_hollow) scheme(s1mono)

//Benchmark regression
reghdfe SDI NEDC , a(code) vce(cluster codeyear)
reghdfe SDI NEDC , a(code year) vce(cluster codeyear)
reghdfe SDI NEDC $xlist , a(code ) vce(cluster codeyear)
reghdfe SDI NEDC $xlist , a(year code) vce(cluster codeyear)

**********Mechanism analysis******************
//Tech
reghdfe Tech NEDC $xlist , a(year code) vce(cluster codeyear)
reghdfe SDI Tech $xlist  , a(year code) vce(cluster codeyear)

//EE
reghdfe EE NEDC $xlist , a(year code) vce(cluster codeyear)
reghdfe SDI EE $xlist , a(year code) vce(cluster codeyear)

//ES
reghdfe OESO NEDC $xlist , a(year code) vce(cluster codeyear)
reghdfe SDI OESO $xlist , a(year code) vce(cluster codeyear)

//LS
reghdfe impervious NEDC $xlist , a(year code) vce(cluster codeyear)
reghdfe SDI impervious $xlist , a(year code) vce(cluster codeyear)

reghdfe wetland NEDC $xlist , a(year code) vce(cluster codeyear)
reghdfe SDI wetland $xlist , a(year code) vce(cluster codeyear)

