I’m trying to replicate Akinci & Queralto (2019). The small model (for which log deviations from SS can be solved by hand) is OK, but when trying to replicate their medium scale model I keep on getting into trouble in the computation of the steady state. The static equations have some non-negligible residuals but not sure that is the problem. Any diagnostic tools I could use to detect problem?
Any help would be greatly appreciated.
Akinci_Queralto_medium_forum.mod (29.4 KB)
You could you use
It appears that:
MODEL_DIAGNOSTICS: The following endogenous variables aren’t present at the current period in the model:
Thanks a lot for checking this out Camilo.
I think that’s just convention (can time SDF as t or t+1), and should not matter in steady state anyways. Just in case I have tried switching the timing of those variables to “t” but still getting the same error in computation of steady state.
What I was hoping for is to try to get more info from Dynare of what’s failing in steady state as the error message is quite general; do you know of any way of getting at this?
The error your model gives, using
steady(solve_algo=4,maxit=1000); , is the standard one:
Impossible to find the steady state. Either the model doesn't have a steady state, there are an
infinity of steady states, or the guess values are too far from the solution
Your equations have residuals and I do not have an apparent reason to believe there is “another problem” involved other than the guess of your steady state being incorrect. I would take action in three directions, all equally important for your model :
- Take care of timing.
- Start by checking equations with larger residuals, see if you can solve the issue with that equation, and sequentially move to other problematic equations with smaller residuals.
- Pay a lot of attention to exp() transformations.
Thanks again Camilo.
Agreed regarding issue with initial guess, just did not know how sensible dynare was to values that were a bit off.
I was proceeding as per your suggestion n2 (and have since corrected timing), but not sure what you mean by “pay a lot of attention to exp() transformations”?
It was more of a general suggestion , that can be broken down into two parts:
- It is always better to start work on the model without exp() substitution, find the correct steady state that makes the model work, and only then proceed to the exp() substitution.
- Your model is large and equations are long and complex, so when you debug you should check that you have been consistent throughout in your exp() substitution.
Yes, definitely. Thanks again for your time Camilo!