Hi,
First of all, I don't think you are estimating a dynamic panel model with your code.
To do dynamic GMM, the very first thing is to do first difference to the model and run GMM on the differenced equation. You can find reference in PANEL's user manual detail section for the equations and instrument matrix. Your code seems run everything on raw data.
Try the following code:
proc panel data=work.panel; id indip year; model Y=A1 A2 A3 A4 A5 B1 B2 C1 C2 D1 / dyndiff; run;
DYNDIFF takes care of everything for you.
Second, I notice that you only have N=5, and T=20. When T is large it means instruments increase quadratically, and too many instruments bias the estimators. The asymptotic properties is coming from large N. So you can try to limit the number of IVs by using "maxband" option.
At last, GMM=1 or 2 doesn't affect the consistency of the estimators, it's just the matter of efficiency or not. I feel like if you are in a large T and small N scenario, it won't be efficient anyway, so it doesn't matter if you are using gmm1 or gmm2.
... View more