Permanent Shock, Impossible to find the steady state


I am new to Dynare and I am struggling to set up a permanent shock to simulate a steady state transition in my model. Basically I need to simulate the transition from no carbon tax (tau_e = 0) to with carbon tax (tau_e = 0.017).
I have used initval and endval followed related posts here. But I got the error message “Impossible to find the steady state”.

This is how I set up the permanent tax shock:



e_tau_e = 0.017;


var e_tau_e;
periods 0:5 5:500;
values 0 0.017;

I am also attaching my Dyane file.
Does anyone have an idea what’s going on here?
steadystate.mat (667 Bytes)
solve_v7.mod (7.5 KB)

Best and thanks for any help!

Check your model. For the initval-steady state, there are -Inf as steady state values. That cannot be.

Professor Pfeifer, thanks for your prompt reply! The SS values for those variables are 0. I simply put everything into exp() so they became -INF…I’ve modified my mod file and remove exp() for those with ss=0. I still got the error message saying “Impossible to find ss” after the permanent shock. Could you please help me take a look again?
solve_v8.mod (7.4 KB)

Are you sure a steady state exists for tau_e not equal 0?

I am trying to replicate this paper []. They talked about the permanent shock (an increase in tau_e from 0 to 0.017) on page 22, and on page 39 and 50, they have tables showing different steady states. Am I misunderstanding something?

The problem is that the trust_region-algorithm fails. Use
solve_v8.mod (7.5 KB)

would you please share the parameter data, otherwise the final code can not be run. I’m also learning how to set permanent shock in DGE model. Thanks~

It should be the one at

Thanks. I’m running a DGE model and also trying to do a tax shock. However, after adding an equation [tau_cf = e_tau_cf;] in the model section, and setup all the related codes, the sum of square residuals of the static equations is 0.0043. I don’t know why.
tax11.mod (10.6 KB)

Given the complexity of your model, I can only recommend to compute the steady state analytically.

I wish I could. No way to do such a complex model with many implicit functions. One more problem here is that I got different steady states with different initial values, though the steady states vary not much, e.g. several percent.

Then it will not work at all. Your model seems to have multiple steady states and there is no way to select the correct one of them without doing this analytically.

That’s so weird. I just have log utility functions for three groups of agents, two C-D production functions for rural and urban productions and endogenous migration. I just list F.O.C.s, budget constraints, no-arbitrage conditions, market clearing conditions in the model block. Those nine equations for nine endogenous variables are already the most concise equations, which can not be solved separately. Moreover, steady(solve_algo = 0); can not find the equilibrium while steady(solve_algo = 4); can give ss.

You can always try different solvers and they may work. But that will not solve the issue that you have multiple steady states. How would you know the correct one is found?

I learned that this indeterminacy may due to the distortionary tax rates in the model, e.g. Bond et al. (1996, JET). A General Two-Sector Model of Endogenous Growth with Human and Physical Capital: Balanced Growth and Transitional Dynamics.