Problems with Transitional Dynamics

Hi, I am currently working on solving a dynamic general equilibrium model with labor market search and matching frictions. However, I have encountered several issues and would greatly appreciate any insights or suggestions:

1、 I would like to simulate the transition dynamics from an arbitrary non-steady-state initial condition toward the steady state. Is it feasible to use Dynare’s perfect foresight solver to compute such a transition path? If not, are there alternative tools or methods better suited for this task?

2、 In my current .mod file, the model successfully solves for the steady state and computes the transition path. However, I only assign initial values to three predetermined variables, while the rest of the variables are initialized to zero. In this setup, how are the values of endogenous variables in the first period determined? Could this lead to inconsistencies or economically implausible jumps in the model?

3、 During the simulation of the transition path, I observe that some variables, such as v_c and u_c, take on negative values, which are not economically meaningful. Are there any recommended modeling techniques or numerical methods to prevent this? For example, would it help to impose non-negativity constraints or to revise the initial conditions more carefully?

Thank you in advance for your kind help and advice!
dynamic_clean.mod (12.1 KB)

  1. Yes, that is feasible and perfect foresight simulations are the right way to do this.
  2. For the simulations, only the initial values for the states matter. You can in principle set any desired initial value for the non-states (and usually we don’t care about these).
  3. Having those large, implausible movements often means that the experiment you are running is problematic, e.g. the shocks are too large.

Thank you very much for your explanation. However, I still have some doubts regarding the third issue. In my current exercise, there are no shocks involved; it is simply a simulation from the initial values to the steady state. Therefore, I don’t think large shocks are causing certain variables to become negative.

After a closer look, I found that the variables turning negative are mainly jump variables. Is it possible that Dynare, when solving for jump variables, works backward from the terminal condition and ends up assigning values that fall into an infeasible range, such as negative values?

If this is the cause, is there any way to resolve this issue?

  1. Please try first with initial state values closer to the terminal steady state. That transition for e.g.
initval;
    H   = 14 ; 
    n_d = 0.75 ; 
    n_c = 0.18 ; 
end;

already looks strangely oscillating.
2. To enforce positive values, you could use an exp() substitution for variables bounded by 0 from below.

Thank you for your reply. I have resolved the issue of negative values in the initial periods of the transitional path by adjusting the initial conditions. However, I now have a follow-up question. In my model, labor market variables tend to converge to their steady states relatively quickly—typically within 10 periods—while the carbon stock only reaches its steady state after more than 50 periods. In a general equilibrium setting, should all variables converge to their steady states simultaneously, or do different variables have their own convergence speeds? If the latter is the case, what determines the speed at which a variable converges to its steady state?

What you report is not unusual. The convergence speed for each variable depends on the endogenous propagation mechanisms of your model, which may differently affect each variable.