Possible to have 0 residuals and still an error in the model?

Hello, I have coded a DSGE model (here is it: macalib.mod (10.2 KB)), and it features 0 residuals and I have IRFs. However, the IRFs look a bit non-standard. However, all the IRF eventually come back to 0 which is a good sign.

So is it possible that my model is wrong despite the fact that I have 0 residuals? Or having 0 residuals means that there is absolutely no problem with this model?
Thank you.



  1. You only have 0 residuals AFTER steady state finding. Your initial values result in residuals
  2. That mostly means the static dimension of your model is most likely ok, but the dynamic dimension (timing) could still be way off.

Thank you, professor Pfeifer.

Could you clarify what you mean by “my timing dimension that could be way off”? For example, is it possible that one of my IRF is monotonically increasing while it should be monotonically decreasing? Or is it simply small errors that don’t affect the validity of the timing of my model?

Pretty much anything goes. The steady state concerns the static model. So whether you have a variable dated t+1 or t+100 will not matter. Obviously, such timing differences can cause huge differences in results.

Thank you, professor Pfeifer.

So to be sure to have an error-free model (both the static dimension and the dynamic dimension), should I have the same steady state values in the initval block and in the steady state results found by dynare?

If you are able to compute the steady state analytically, then yes. But again, the steady state contains no information about the dynamics of the model.