help for abar

Arellano-Bond test for autocorrelation

abar [if exp] [in range] [, lags(#)]

abar is for use after regress, ivreg, ivreg2, ivregress, newey, and newey2.

abar is for use with cross-section time-series data. You must tsset your data before using abar.


abar performs the Arellano-Bond (1991) test for autocorrelation. The test was originally proposed for a particular linear Generalized Method of Moments dynamic panel data estimator, but is quite general in its applicability--more general than dwstat, durbina, bgodfrey, and xtserial. It can be applied to linear GMM regressions in general, and thus to the special cases of ordinary least squares (OLS) and two-stage least-squares (2SLS). It can also be made consistent in the presence of various patterns of error covariance. Specifically, abar will run after regress, ivreg, ivreg2, ivreg2, gmm2s, and ivregress 2sls in their "plain" (homoskedastic), robust, and cluster variants. It will also run after regressions using the Bartlett/Newey-West kernel, whether performed by newey, newey2, ivreg2, or ivregress.

abar is not appropriate for fixed-effects regressions for dynamic models, assuming those are done via a mean-deviation transformation. This is because the Arellano-Bond AR() test assumes that right-hand-side variables are not "post-determined," i.e., not correlated with future errors. In a dynamic setting, future values of regressors can depend on future errors. And after the mean-deviations transformation, future values of the original regressors affect current values of the transformed versions.

The optional if and in clauses allow one to test for autocorrelation in a subset of the residuals.

Citation abar is not an official Stata command. It is a free contribution to the research community. Please cite it as such: Roodman, D. 2006. How to Do xtabond2: An Introduction to "Difference" and "System" GMM in Stata. Working Paper 103. Center for Global Development, Washington.


lags(#) specifies the maximum number of lags over which to test for AR() autocorrelation. abar will perform separate tests for each lag up to the maximum. The default is 1.


Arellano, M. and S. Bond. 1991. Some tests of specification for panel data: Monte Carlo evidence and an application to employment equations. The Review of Economic Studies 58: 277-97. Roodman, D. 2006. How to Do xtabond2: An Introduction to "Difference" and "System" GMM in Stata. Working Paper 103. Center for Global Development, Washington.

Examples . use http://www.stata-press.com/data/r7/abdata.dta . * Make a close match with first regression (OLS) in abest2.out, in http://www.nuff.ox.ac.uk/Users/Doornik/software/dpdox121.zip . * Differs because Stata's regress does small-sample correction. . regress n L(1/2).n L(0/1).w L(0/2).(k ys) yr1979-yr1984, cluster(id) . abar, lags(2) . * Now do a perfect match with last regression (2SLS, Anderson-Hsiao) in same file. . ivreg2 D.n DL2.n DL(0/1).w DL(0/2).(k ys) yr1980-yr1984 (DL.n = L3.n), cluster(id) . abar, lags(2) . * Now do same via xtabond2 . xtabond2 D.n DL(1/2).n DL(0/1).w DL(0/2).(k ys) y*98*,iv(L3.n DL2.n DL(0/1).w DL(0/2).(k ys) y*98*,eq(lev)) rob arle


David Roodman, Center for Global Development, Washington, DC Center for Global Development Washington, DC droodman@cgdev.org

Also see

Online: help for regress, ivreg, ivreg2, dwstat, durbina, bgodfrey, xtserial, xtabond2.