GMM estimation for shocks in RBC models


I want to calculate the autocorrelation coefficients and standard deviations of trend growth shocks and transitory shocks (both are AR(1) processes) in a basic RBC model using GMM estimation. Can I do that in Dynare? Or should I write it in Matlab?


According to this video, it is possible in dynare 4.7, thus, if the autocorrelation coefficients and standard deviations are parameters in your model, you can use GMM or SMM to estimate them.

Thank you very much. I watched the video before. I tried to manipulate the code to estimate “RHOA” with GMM but Dynare gives me an error “RHOA is not an endogenous variable”.

In the video, professor estimates consumption, investment and labor which are all endogenous. But, all the parameters I want to estimate are exogenous. Sorry, I am a bit new to RBC literature and Dynare as well. How should I manipulate the code so that I can estimate exogenous parameters?

I don’t think I understand your point. Maybe watch the video again. You can not estimate consumption, labor, and investment. Check the estimated_params; block (in the dynare implementation part of the video)…something like below. In the video, he explicitly states that he estimates “the structural parameters and standard errors of the shock”. That is RHOA (autocorrelation coefficient of shock) and stderr u_a (standard deviations) of the shock…

   %parameter,     initial value, lower bound, upper bound, unifrom_pdf,,,,, tr
    DELTA,         0.025,         0,           1,           uniform_pdf,,,,, 1;
    BETTA,         0.984,         0,           1,           uniform_pdf,,,,, 1;
    RHOA,          0.979,         0,           1,           uniform_pdf,,,,, 1;
    STDA,          0.0072,        0,           1,           uniform_pdf,,,,, 1;
    stderr u_a,    0.01,          0,           10,           uniform_pdf,,,,, 1;

Btw, I think your terminologies may be wrong here. In any model, whether RBC/DSGE or linear regression, we have endogenous variables, exogenous variables and parameters, not exogenous parameters and endogenous parameters.

As @kofiemma correctly points out, estimation refers to backing out the most likely value of parameters, given the observed data. You only have moment restrictions on the observed data, not the parameters. So the moment restrictions need to specified for the observables, while the estimated_params-block stipulates which parameters are estimated.

Thank you very much professor and kofiemma. I understand now.