Announcement

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

  • GMM panel data analysis using xtdpdgmm

    Dear Community,

    I am currently analyzing the effect of ESG (independent variable) on ROA (dependent variable) with the Leverage Size and GDP as control variables.

    I want to use xtdpdgmm command cause my N is 56 and my T is 9 years which is considerably small. Due to the complexity of the xtdpdgmm code I am doubt with my code below. Could you please check my code and amend it if neccessary?

    ATTENTION: I want to control heteroskadisticity and serial correlation due to their presence in analysis. I saw that many people use -lag ( 2 4) in their command, but I don't know how it works, do i need it?

    Code:
    xtdpdgmm ROA l.ROA ESG_total Leverage NLTR GDP, model(diff) collapse gmm(l.ROA ESG_total, lag (1 .)) iv(Leverage NLTR GDP, diff) nocons two vce (r)
    I am not sure what I am doing, please help.
    Last edited by Temirlan Talap; 11 Nov 2021, 11:21.

  • #2
    Your current code estimates the model with a two-step difference GMM estimator (aka Arellano-Bond estimator) with collapsed instruments. The variable ESG_total is treated as a predetermined variable while Leverage NLTR GDP are treated as strictly exogenous regressors. The robust standard errors account for heteroskedasticity.

    While the robust standard errors would also be valid in the presence of serial correlation, the instruments for the lagged dependent variable l.ROA (and for ESG_total) would no longer be valid. The question is whether including the lagged dependent variable in the model is already sufficient to control for the serial correlation. You could check this with the Arellano-Bond test using estat serial. If the second-order serial correlation test rejects the null hypothesis of no serial correlation, you can either add additional lags of the dependent variable and/or regressors to the model, or start the instruments at a higher lag order, e.g. lag(2 .) instead of lag(1 .), assuming that there is no third-order serial correlation which can also be tested with estat serial. It often helps to include time dummies in the model, e.g.
    Code:
    xtdpdgmm ROA l.ROA ESG_total Leverage NLTR GDP i.year, model(diff) collapse gmm(l.ROA ESG_total, lag(1 .)) iv(Leverage NLTR GDP i.year, diff) nocons two vce(r)
    estat serial
    assuming that year is the time indicator in your data set.

    In general, assuming the classification of variables into predetermined and strictly exogenous is correct, the code looks fine if there is no remaining serial correlation after including the lagged dependent variable. This should be checked with estat serial.
    https://www.kripfganz.de/stata/

    Comment

    Working...
    X