Hello,
I am using the following two-step difference GMM model:

Code:
xtabond2 y l.y l.x1 l.x2 l.x3 $controls yeardum* if group==1, gmm(y x1 x2 x3, lag(2 10) collapse ) iv(yeardum* $controls) noleveleq small noconstant robust twostep
Where y is my dependent variable x1 x2 and x3 are endogenous variable that for theoretical reasons I include as lagged variables in the main model, $controls is the vector of exogenous controls. This model provides good results that are in line with my expectations

I would like to estimate the same model xtdpdgmm and I tried the following code, but the estimated coefficients are completely different. What am I doing wrong?

Code:
xtdpdgmm y l.y l.x1 l.x2 l.x3 $controls yeardum* if group==1, model(diff) gmm(y x1 x2 x3, lag(2 10) collapse) iv($controls) twostep vce(r) small noconstant teffects
Finally, I would like to estimate the same model using an iterated GMM estimators. I tried the following, but I fear I am doing the same mistake that for the two-step model

Code:
xtdpdgmm y l.y l.x1 l.x2 l.x3 $controls yeardum* if group==1, model(diff) gmm(y x1 x2 x3, lag(2 10) collapse) iv($controls) igmm vce(r) small noconstant teffects igmmiterate(100)
Does anyone know how I can replicate my results using xtdpdgmm and estimate the same model as the one specified in xtabond using an iterated gmm estimator?


Thanks a lot in advance for your help

Best