Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Systems-GMM: Replicate xtabond2 with xtdpdgmm

    Hi,

    I try to understand the syntax of xtdpdgmm and would like to replicate my xtabond2 systems-GMM with xtdpdgmm. My model has an independent variable y, the independent variables x1, x2 and x3 as well as an additional industry fixed effect fe. The variable x1 is predetermined.

    In xtabond2 the model should look like this - with collapsed instruments:

    xtabond2
    Code:
    xtabond2 y x1 x2 x3 i.fe, gmm(x1, collapse) iv(x2 x3 i.fe)
    As far as I understand the systems-GMM approach, the instruments (gmm- and iv-style instruments) enter the first-difference equation untransformed and the level equation as transformed values (first-difference). Thus, the xtdpdgmm command should look like this:

    xtdpdgmm
    Code:
    xtdpdgmm y x x1 x2 x3 i.fe, gmm(x1, model(diff) lag(1 .) collapse) gmm(x1, diff model(level) lag(1 .) collapse) iv(x2 x3 i.fe,  model(diff) lag(0 0)) iv(x2 x3 i.fe, diff model(level) lag(0 0))
    Is my xtdpdgmm syntax correct? Are the models equivalent?

    Best regards
    Ole
    Last edited by Olaf Hotte; 07 Feb 2022, 14:52.

  • #2
    First of all, notice that - counterintuitively - the following two xtabond2 specifications are not equivalent:
    Code:
    xtabond2 y x1 x2 x3 i.fe, gmm(x1, collapse) iv(x2 x3 i.fe)
    xtabond2 y x1 x2 x3 i.fe, gmm(x1, collapse) iv(x2 x3 i.fe, eq(diff)) iv(x2 x3 i.fe, eq(level))
    The first specification creates a weird combined instrument for the two equations instead of a separate instrument for each equation. I would claim that almost always the second specification is what you are aiming for. While the instrument in the first specification is valid whenever the instruments for the second specification are valid, I do not see a reason why one would actually use specification 1. For this reason, xtdpdgmm cannot replicate specification 1.

    Furthermore, notice that the iv() option of xtabond2 generates transformed instruments for the first-difference equation and untransformed instruments for the level equation (just the opposite of the gmm() option). Thus, this requires the assumption that the variables x2 x3 are uncorrelated with the unobserved effects. If that is what you are aiming for, then you can replicate the second xtabond2 specification as follows:
    Code:
    xtdpdgmm y x1 x2 x3 i.fe, gmm(x1, model(diff) lag(1 .) collapse) gmm(x1, diff model(level) lag(0 0) collapse) iv(x2 x3 i.fe, diff model(diff) lag(0 0)) iv(x2 x3 i.fe, model(level) lag(0 0))
    Compare the list of instruments displayed below the xtabond2 and xtdpdgmm regression outputs.
    Last edited by Sebastian Kripfganz; 08 Feb 2022, 03:21.
    https://www.kripfganz.de/stata/

    Comment


    • #3
      "Weird" has no defined meaning in econometrics. I think the use of pejorative terms to characterize the work of other volunteer contributors to Stata is unhelpful and in spirit violates the rules of this forum.

      The choice between combining or separating the "iv" moment conditions for the levels and differences equations makes a slight tradeoff between efficiency and a certain kind of bias. Combining them reduces instrument count and the problems it brings. Separating them might inject slightly more information into the estimation and in principle make it more efficient. xtabond2 lets you do it either way. xtdpdgmm apparently doesn't, but has lots of other useful features, which probably matter more to you.
      Last edited by David Roodman; 08 Feb 2022, 08:53.

      Comment


      • #4
        The word "weird" is used as my personal econometric judgement of the instrument which is created by that option. I am not aware of any econometric paper on system GMM which actively promotes the use of an instrument matrix that is not block diagonal.

        This is neither a judgement about the command xtabond2 (or likewise the official xtdpd) nor about any volunteer contributor. I therefore cannot see any violation of the forum rules, and - frankly - I do not understand why you are writing with such an aggressive undertone.

        Coming back to that particular option: From many conversations here in the Stata forum and elsewhere, I know that many users of xtabond2 are not aware that the two specifications mentioned in post #2 are not equivalent. Many of them use the first specification even though they have the second in mind. Unless I have overlooked something, this difference is not apparent from the xtabond2 help file, although it is documented in your "How to do xtabond2" Stata Journal article.
        https://www.kripfganz.de/stata/

        Comment

        Working...
        X