<>
No need to do any bootstrapping if it is just linear regression:
// how to fix 2SLS estimates done 'by hand'
sysuse auto, clear
ivreg2 price (weight = turn foreign) headroom, small
estat vce
di e(rmse)
mat v2sls = e(V)
// First stage reg
qui reg weight turn foreign headroom
predict double what, xb
// Second stage reg
qui reg price what headroom
scalar rmsebyhand = e(rmse)
// the 'wrong' VCE, calculated from the instruments
mat vbyhand = e(V)
scalar dfk = e(df_r)
// the correct resids: orig regressors * second stage coeffs
g double eps2 = (price - _b[what]*weight - _b[headroom]*headroom - _b[_cons])^2
qui su eps2
// corrected RMSE, based on the correct resids
scalar rmsecorr = sqrt(r(sum) / dfk)
// corrected VCE, using the right s^2
mat vcorr = (rmsecorr / rmsebyhand)^2 * vbyhand
mat li vcorr
// check to see that it equals the real 2SLS VCE
mat diff = v2sls - vcorr
mat li diff
Kit Baum | Boston College Economics & DIW Berlin | http://ideas.repec.org/e/pba1.html
An Introduction to Stata Programming | http://www.stata-press.com/books/isp.html
An Introduction to Modern Econometrics Using Stata | http://www.stata-press.com/books/imeus.html
*
* For searches and help try:
* http://www.stata.com/help.cgi?search
* http://www.stata.com/support/statalist/faq
* http://www.ats.ucla.edu/stat/stata/