Announcement

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

  • Collapsing instrument sets in xtabond2

    Dear all,

    I would be grateful if you could help with the implementation of the user-written command xtabond2 (available from the SSLC). I have read the "How to xtabond2" paper by David Roodman.
    • Is it valid/logical to collapse the instrument matrix only for one of the equations (e.g. the equation in levels) but not the other equation when using System GMM?
    • Also, is it logical to use a different number of instruments for each one of the equations?
    Thank you.

  • #2
    1. Yes, it is valid. If it is logical cannot be answered in general. If you are worrying about the "too many instruments problem", a logical approach would be to collapse all of the instruments unless you have a good reason why you only want to do it for one of them.
    2. I do not understand what you mean by "different number of instruments". As a general advice: We can give better answers if we see your code and Stata output; please see the Statalist FAQ.
    https://www.kripfganz.de/stata/

    Comment


    • #3
      Thank you very much for the response.
      I am sorry for being imprecise. We are using 2 lags of the variables as instruments for the differenced equation and 1 and 2 lagged differences as instruments for the levels equation.

      The code is
      Code:
      xtabond2 gdpgr L.ineq L.lngdp L.fseced L.mseced L.pli i.t, ///
          gmmstyle(L.(lngdp ineq fseced mseced pli), equation(diff) laglimits(1 1) collapse) ///
          gmmstyle(L.(lngdp ineq fseced mseced pli), equation(level) laglimits(0 1) collapse) ivstyle(i.t, equation(level)) robust
      The results are:

      Code:
      Instruments for first differences equation
        GMM-type (missing=0, separate instruments for each period unless collapsed)
          L.(L.lngdp L.ineq L.fseced L.mseced L.pli) collapsed
      Instruments for levels equation
        Standard
          1b.t 2.t 3.t 4.t 5.t 6.t 7.t 8.t 9.t
          _cons
        GMM-type (missing=0, separate instruments for each period unless collapsed)
          DL(0/1).(L.lngdp L.ineq L.fseced L.mseced L.pli) collapsed
      ------------------------------------------------------------------------------
      Arellano-Bond test for AR(1) in first differences: z =  -2.41  Pr > z =  0.016
      Arellano-Bond test for AR(2) in first differences: z =   0.51  Pr > z =  0.610
      ------------------------------------------------------------------------------
      Sargan test of overid. restrictions: chi2(8)    =  40.14  Prob > chi2 =  0.000
        (Not robust, but not weakened by many instruments.)
      Hansen test of overid. restrictions: chi2(8)    =  11.84  Prob > chi2 =  0.158
        (Robust, but weakened by many instruments.)
      
      Difference-in-Hansen tests of exogeneity of instrument subsets:
        gmm(L.lngdp L.ineq L.fseced L.mseced L.pli, collapse eq(diff) lag(1 1))
          Hansen test excluding group:     chi2(3)    =   3.42  Prob > chi2 =  0.332
          Difference (null H = exogenous): chi2(5)    =   8.42  Prob > chi2 =  0.134
        iv(1b.t 2.t 3.t 4.t 5.t 6.t 7.t 8.t 9.t, eq(level))
          Hansen test excluding group:     chi2(1)    =   5.46  Prob > chi2 =  0.019
          Difference (null H = exogenous): chi2(7)    =   6.39  Prob > chi2 =  0.496
      Would this be problematic? If I understand correctly, the tests suggest that the System GMM assumptions are satisfied.

      Thank you.

      Comment


      • #4
        The test results do not reject the model specification although the Hansen test p-value is not very comfortable.

        Typically, in the system-GMM literature you would only use the first lag (not the first and second) for the equation in levels, and potentially further lags for the equation in first differences, e.g.
        Code:
        xtabond2 gdpgr L.ineq L.lngdp L.fseced L.mseced L.pli i.t, ///
            gmmstyle(L.(lngdp ineq fseced mseced pli), equation(diff) laglimits(1 2) collapse) ///
            gmmstyle(L.(lngdp ineq fseced mseced pli), equation(level) laglimits(0 0) collapse) ivstyle(i.t, equation(level)) robust
        That said, your specification is not necessarily problematic. It is just unconventional.
        https://www.kripfganz.de/stata/

        Comment


        • #5
          Thank you very much. One clarification please: could you please elaborate on the Hansen test p-value?

          Comment


          • #6
            Actually, I take back my earlier statement. A p-value of 0.158 is probably no sign of trouble. There is some ongoing debate whether these p-values could be taken at their face value (e.g. in an earlier Statalist discussion on p-values for Hansen and difference-in-Hansen tests), but you should be on the safe side.
            https://www.kripfganz.de/stata/

            Comment


            • #7
              Hi,

              I am using stata14 but cannot find xtabond2. Could you please let me know how to run it. I found only xtabond and system CMM.

              Thanks
              Sarah

              Comment


              • #8
                Please type the following into Stata's command window:
                Code:
                ssc describe xtabond2
                You might also want to read about the command before using it:
                http://www.stata-journal.com/article...article=st0159
                https://www.kripfganz.de/stata/

                Comment


                • #9

                  Dear Sebastian, In your answer to Chrysa you wrote "the system-GMM literature you would only use the first lag (not the first and second) for the equation in levels" but in the command you wrote "equation(level) laglimits(0 0)", so does that mean we are using the 1st lag or should it be equation(level) laglimits(0 1)? Apologies for the simple question, I am new to Stata Thanks in advance!

                  Comment


                  • #10
                    laglimits(0 0) in combination with the lag operator L. in front of the specified variables in the gmmstyle() option implies that the first lag is used. Read as: 0-th lag of the 1st lag.
                    https://www.kripfganz.de/stata/

                    Comment


                    • #11
                      Thanks Sebastian! This is very helpful.

                      Comment

                      Working...
                      X