use http://www.learneconometrics.com/class/stata/USMacro_Monthly.dta, clear gen ipgrow = 100*ln(ip/L.ip) summarize ipgrow if tin(1952m1,2004m12) scalar b = ceil(4*(r(N)/200)^(2/9)) scalar list b newey ipgrow L(0/18).oil if tin(1952m1,2004m12), lag(6) gen mult = _b[oil] in 1 gen lb = _b[oil]-1.96*_se[oil] in 1 gen ub = _b[oil]+1.96*_se[oil] in 1 forvalues p = 0/18 { local ob = `p'+1 qui replace mult = _b[L`p'.oil] in `ob' qui replace lb = _b[L`p'.oil]-1.96*_se[L`p'.oil] in `ob' qui replace ub = _b[L`p'.oil]+1.96*_se[L`p'.oil] in `ob' } list lb mult ub in 1/19 gen lag = _n-1 in 1/19 line mult lb ub lag in 1/19 newey ipgrow L(0/17).D.oil L(18).oil if tin(1952m1,2004m12), lag(6) gen mult1 = _b[D.oil] in 1 gen lb1 = _b[D.oil]-1.96*_se[D.oil] in 1 gen ub1 = _b[D.oil]+1.96*_se[D.oil] in 1 forvalues p = 0/17 { local ob = `p'+1 qui replace mult1 = _b[D.L`p'.oil] in `ob' qui replace lb1 = _b[D.L`p'.oil]-1.96*_se[D.L`p'.oil] in `ob' qui replace ub1 = _b[D.L`p'.oil]+1.96*_se[D.L`p'.oil] in `ob' } replace mult1 = _b[L18.oil] in 19 qui replace lb1 = _b[L18.oil]-1.96*_se[L18.oil] in 19 qui replace ub1 = _b[L18.oil]+1.96*_se[L18.oil] in 19 list lb1 mult1 ub1 in 1/19 line mult1 lb1 ub1 lag in 1/19