# Re: st: xtabond: Arellano & Bond 1991

 From ddrukker@stata.com (David M. Drukker, Stata Corp) To statalist@hsphsun2.harvard.edu Subject Re: st: xtabond: Arellano & Bond 1991 Date Tue, 02 Jul 2002 09:20:25 -0500

```Gindo Tampubolon <gindo.tampubolon@man.ac.uk> asked how he could replicate
columns (c) and (d) of Table 4 in Arellano and Bond (1991).  The footnote to
the table explains that Arellano and Bond used additional moment conditions
based on firm real sales and firm real stocks.  Since the firm real stocks
variable is not in the dataset, neither of theses columns can be replicated.

Gindo also asked how he could obtain the standard errors of the long-run
elasticies.  This depends on what he means by the long-run elasticities.
First, let's dispense with the fact that the coefficients in this model can
be interpreted as elasticies and simply refer to the long-run effect of a
covariate.  Sometimes people refer to the sum of the coefficients on the
current and lagged values of a variable as the long-run effect. In this
case, since the estimates of the long-run effect are just the sum the of the
point estimates on the current and lagged variable, one can use -lincom- to
obtain their standard errors.  However, the long-run effect of a covariate
is usually defined to be the sum of the current and lagged coefficients
divided by 1 minus the sum of the lagged coefficients on the dependent
variable.  In this case, one can use -testnl- for inference on the size the
long run effects.

Here is an example.  First, let's estimate a simple dynamic panel data
model.

. xtabond n l(0/1).w k , lags(2)

Arellano-Bond dynamic panel data                Number of obs      =       611
Group variable (i): id                          Number of groups   =       140

Wald chi2(5)       =    350.58

Time variable (t): year                         min number of obs  =         4
max number of obs  =         6
mean number of obs =  4.364286

One-step results
------------------------------------------------------------------------------
n            |      Coef.   Std. Err.      z    P>|z|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
n            |
LD |   .3751428   .1050691     3.57   0.000     .1692112    .5810745
L2D |  -.0822723   .0422479    -1.95   0.051    -.1650766     .000532
w            |
D1 |  -.4754038   .0564188    -8.43   0.000    -.5859825    -.364825
LD |    .208237   .0832401     2.50   0.012     .0450894    .3713847
k            |
D1 |   .3802498   .0352074    10.80   0.000     .3112446     .449255
_cons        |  -.0178497   .0041618    -4.29   0.000    -.0260068   -.0096926
------------------------------------------------------------------------------
Sargan test of over-identifying restrictions:
chi2(25) =    97.07      Prob > chi2 = 0.0000

Arellano-Bond test that average autocovariance in residuals of order 1 is 0:
H0: no autocorrelation   z =  -3.02   Pr > z = 0.0026
Arellano-Bond test that average autocovariance in residuals of order 2 is 0:
H0: no autocorrelation   z =  -0.01   Pr > z = 0.9892

Now let's suppose that we are interested in the sum of the coefficients on
-w-.  Here is an example of how to use -lincom- to obtain the standard error
of the estimate of the sum of these coefficients and test the null
hypothesis that they sum to zero.

. lincom d.w + ld.w

( 1)  D.w + LD.w = 0.0

------------------------------------------------------------------------------
n |      Coef.   Std. Err.      z    P>|z|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
(1) |  -.2671667   .0997334    -2.68   0.007    -.4626405   -.0716929
------------------------------------------------------------------------------

Now suppose that we are interested in testing the null hypothesis that the
sum of the coefficients on w and its lag divided by 1 minus the sum of the
coefficients on the lagged -n-  is zero.  First, let's look at what a point
estimate of this quantity would be

. di (_b[d.w] + _b[ld.w])/(1-_b[ld.n] - _b[l2d.n])
-.37781866

Now, let's use -testnl- to test the null hypothesis that this expression is
zero.

. testnl 0 = (_b[d.w] + _b[ld.w])/(1-_b[ld.n] - _b[l2d.n])

(1)  0 = (_b[d.w] + _b[ld.w])/(1-_b[ld.n] - _b[l2d.n])

chi2(1) =       10.03
Prob > chi2 =        0.0015

Finally, you might be interested knowing what the estimated standard error of
this expression is.  One could use the delta method to compute the standard
error.  Alternatively, one could use the fact that -testnl- has already
computed it, although it is not reported.  Note that since our null is that
the expression is zero, we have

estimate
----------  =  sqrt[chi2(1)]
std. error

which impliles that

estimate
------------     =  std. error
sqrt[chi2(1)]

Thus, the estimated standard error of the expression that -testnl- used is

. di -.37781866/sqrt(10.03)
-.11929794

I hope that this helps.

--David
ddrukker@stata.com

References:
Arellano, M. and Bond, S. 1991: Some tests of specification for panel data.
Review of Economic Studies, 58

*
*   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/
```