# st: Does the xtabond command have a mistake???

 From TEWODAJ MOGUES To Stata _ Subject st: Does the xtabond command have a mistake??? Date Wed, 05 May 2004 14:02:20 -0500

```Hi Statalist users,

After Giovanni’s helpful comments, I did a little experiment with xtabond and got results that lead me to believe that there’s a programming flaw in xtabond (but I hope I’m wrong) with regard to how it deals with endogeneity.  Consider the model

y(it) = a(i) + b1 * y(it-1) + b2 * x(it) + b3 * x(it-1) + e(it)

I found that the following two commands give identical results:

1.  xtabond   y     , lags(1)  pre(x, lag(1,1) )
4.  xtabond   y  L.x, lags(1)  pre(x, lag(0,1) )

So when you ask Stata to treat x as a predetermined variable, to use its lag also as a regressor, and to instrument x with its own lag, then what it is doing in reality is: treating x(it) as a predetermined variable, using x(it-1) as an instrument, and treating the variable z(it) = x(it-1) as strictly exogenous. However, if x(it) is predetermined, which means that

E[ e(it) | a(i),   x(i1), x(i2),…,x(it-1), x(it) ] = 0        (Equ.1)

but that possibly

E[ e(it) | a(i),   z(it+1), z(it+2),…,z(iT) ] not= 0          (Equ.2)

(where a(i) is the unobserved effect), then it is impossible that z(it) is strictly exogenous. Strict exogeneity of z(it) would mean that

E[ e(it) | a(i),   z(i1), z(i2),…,z(iT) ] = 0                 (Equ.3)

However, given Equ.1 and Equ.2 above, we must have

E[ e(it) | a(i),   z(i1), z(i2),…,z(it), z(it+1) ] = 0

but possibly

E[ e(it) | a(i),   z(it+2), …, z(iT) ] not= 0

Which obviously does not square with Stata’s treatment of z in the fashion of Equ.3. I hope this was lucidly explained. Am I seeing this wrongly or is there indeed a flaw with the way xtabond was programmed???

Thanks,
Tewodaj

*
*   For searches and help try:
*   http://www.stata.com/support/faqs/res/findit.html
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/
```