* to run regressions for VAT and non-VAT countries together * generates Table 2 in version submitted to JDE in 2006 set mem 20m * use "C:\Researchpapers\KeenVATproject\data\OECDVAT.dta", clear use "C:\Users\Ben Lockwood\Documents\researchpapers\KeenVATproject\dofiles\JDErevision\VAT.dta", clear set mat 800 * generate additional variables needed gen lnry=ln(ry) gen lnypc=ln(ypcppp) tsset cnumber year gen lnry1 = L.lnry gen lnry2 = L2.lnry gen lnry3=L3.lnry gen lnry4=L4.lnry gen open1=L.open gen open2=L.open1 gen ag1=L.ag gen ag2=L.ag1 gen imf=imfncr+imfcr gen fv1=L.fv gen lnpop=ln(pop) * to drop countries for which there are less than X observations gen cry=1 if ry<. * sort cnumber * by cnumber: egen sumcry = sum(cry) * drop if sumcry<20 drop if year<1975 drop if dcrbo==1 drop if year>2000 log using dynamic, replace * 1 Basic OLS with CDs reg lnry lnypc open ag v cd*, r outreg using table2, replace quietly predict resid, residuals gen resid1=resid[_n-1] if cnumber==cnumber[_n-1] quietly reg resid resid1, cl(cnumber) test resid1 drop resid resid1 * 2 Basic IV ivreg lnry (lnry1= lnry3 lnry4)lnypc open ag v cd*, r outreg using table2, merge quietly predict resid, residuals quietly reg resid lnry3 lnry4 lnypc open ag v cd* quietly gen overid=e(N)*e(r2) list overid if _n==1 gen chi=chi2tail(1,overid) list chi if _n==1 gen resid1=resid[_n-1] if cnumber==cnumber[_n-1] quietly reg resid resid1, cl(cnumber) test resid1 drop resid resid1 overid chi * 3 Basic IV plus interactions gen lnypcv=lnypc*v gen openv=open*v gen agv=ag*v gen fedv=fed*v ivreg lnry (lnry1 = lnry3 lnry4) lnypc open ag v lnypcv openv agv fedv cd*, r outreg using table2, merge test v lnypcv openv agv quietly predict resid, residuals quietly reg resid lnry3 lnry4 lnypc open ag v lnypcv openv agv fedv cd* quietly gen overid=e(N)*e(r2) list overid if _n==1 gen chi=chi2tail(1,overid) list chi if _n==1 gen resid1=resid[_n-1] if cnumber==cnumber[_n-1] quietly reg resid resid1, cl(cnumber) test resid1 drop resid resid1 overid chi * 4 interactions plus additional regressors ivreg lnry (lnry1 = lnry3 lnry4) lnypc open ag v lnypcv openv agv fedv depold depyoung imfcr imfncr lnpop cd*, r outreg using table2, merge quietly predict resid, residuals quietly reg resid lnry3 lnry4 lnypc open ag v lnypcv openv agv fedv depold depyoung imfcr imfncr lnpop cd* quietly gen overid=e(N)*e(r2) list overid if _n==1 gen chi=chi2tail(1,overid) list chi if _n==1 gen resid1=resid[_n-1] if cnumber==cnumber[_n-1] quietly reg resid resid1, cl(cnumber) test resid1 drop resid resid1 overid chi * 5 interactions plus additional regressors plus interactions with region dummies gen deuv=deu*v gen dasv=das*v gen dafv=daf*v gen dcrbov=dcrbo*v gen dnmedv=dnmed*v gen dapv=dap*v gen dsiv=dsi*v ivreg lnry (lnry1 = lnry3 lnry4) lnypc open ag v lnypcv openv agv fedv depold depyoung imfcr imfncr lnpop deuv dasv dafv dcrbov dnmedv dapv dsiv cd*, noc r outreg using table2, merge test v lnypcv openv agv fedv quietly predict resid, residuals quietly reg resid lnry3 lnry4 lnypc open ag v lnypcv openv agv fedv depold depyoung imfcr imfncr lnpop deuv dasv dafv dcrbov dnmedv dapv dsiv cd* quietly gen overid=e(N)*e(r2) list overid if _n==1 gen chi=chi2tail(1,overid) list chi if _n==1 gen resid1=resid[_n-1] if cnumber==cnumber[_n-1] quietly reg resid resid1, cl(cnumber) test resid1 drop resid resid1 overid chi * to perform Hausman test; fixed vs. random effects specification * quietly reg lnry lnry1 lnypc open ag v lnpop imfncr imfcr depold depyoung lnypcv openv agv fedv cd*, noc r * est store fixed * xtreg lnry lnry1 lnypc open ag v lnpop imfncr imfcr depold depyoung lnypcv openv agv fedv, re * hausman fixed ., eq(1:1) * 6 interactions plus additional regressors, clustered by year to allow for spatial correlation ivreg lnry (lnry1 = lnry3 lnry4) lnypc open ag v lnypcv openv agv fedv depold depyoung imfcr imfncr lnpop cd*, cl(year) outreg using table2, merge test v lnypcv openv agv fedv quietly predict resid, residuals gen resid1=resid[_n-1] if cnumber==cnumber[_n-1] quietly reg resid resid1, cl(cnumber) test resid1 drop resid resid1 * 7 - Allowing for Correlated Errors from the Probit Equation gen v1=L.v gen ry1=L.ry quietly prob v lnypc open ag lnpop v1 depold depyoung fed fv1 imfcr imfncr ry1 predict p, xb gen mills = -normalden(p)/normal(p) gen mills2 = normalden(p)/(1-normal(p)) replace mills=mills2 if v==0 * coeff on mills = covariance of u,e ivreg lnry (lnry1 = lnry3 lnry4) lnypc open ag v lnypcv openv agv fedv depold depyoung imfcr imfncr lnpop mills cd*, noc r outreg using table2, merge test v lnypcv openv agv fedv quietly predict resid, residuals quietly reg resid lnry3 lnry4 lnypc open ag v lnypcv openv agv fedv depold depyoung imfcr imfncr lnpop mills cd* quietly gen overid=e(N)*e(r2) list overid if _n==1 gen chi=chi2tail(1,overid) list chi if _n==1 gen resid1=resid[_n-1] if cnumber==cnumber[_n-1] quietly reg resid resid1, cl(cnumber) test resid1 drop resid resid1 overid chi clear log close translate dynamic.smcl dynamic.txt