Good morning,
I’m trying to analyse the post-shock responses of an overlapping two generations model (without growth). The basic version runs correctly in dynare (file basic_main.mod (2.2 KB)
).
However, when I add a transfer to individuals (called g for young people and g1 for old people) I get an error of indeterminacy (the code is in UBI_main.mod (2.3 KB)

There are 1 eigenvalue(s) larger than 1 in modulus
for 2 forward-looking variable(s)

The rank condition ISN’T verified!

Error using print_info
Blanchard & Kahn conditions are not satisfied: indeterminacy.
Error in stoch_simul (line 120)
print_info(info, options_.noprint, options_);
Error in UBI_main.driver (line 231)
[info, oo_, options_, M_] = stoch_simul(M_, options_, oo_, var_list_);
Error in dynare (line 281)
evalin(‘base’,[fname ‘.driver’]);

The two versions of Equation “3) Households f.o.c. for labour” (one of them commented //) are the same. I was trying whether giving more a worked out version helps.

I solved the problem changing the initial values with the steady state values of the basic_main version of the code.

Is there a way to authomatically adjust the initial values with the last encountered steady state so you can avoid this problem?

Note: the current steady state values are not very realistic, with so high interest rate… I need to see how to adjust it.

From what you describe, your model features multiple steady states and you need the correct one for the model to work. In my experience, the only consistent way out is to manually compute the steady state using pencil and paper and then provide it to Dynare.

Sidenote: I don’t think you have a consistently correct timing. Shouldn’t it be

Thank you Johannes! I will try to do that.
And yes, you are right. In y, I should have k(-1) too.

Another question: I want to introduce a permanent shock (on g) and see how the economy moves/transitions to a new steady state, could you help me finding an example for it with Dynare, please? I read I should use endval block, but I do not find a full example for it…

//10) Shock process for g: permanent shock (unitroot)
g = g(-1) + eg;

I think this is what we needed. Thank you so much.

I would like to check, also, the behaviour of the economy when it has exogenous growth. I saw the options to use

trend_var (growth_factor=gz) z;

I try to follow the example in fs2000_nonstationary.mod, but I do not fully understand how it works and I get an error in my code:

ERROR: trends not compatible with balanced growth path; the second-order cross partial of equation 1 (line 37) w.r.t. trend variable z and endogenous variable gz is not null (abs. value = 0.165123). If you are confident that your trends are correctly specified, you can raise the value of option ‘balanced_growth_test_tol’ in the ‘model’ block.

Error using dynare
Dynare: preprocessing failed

The mod-file is UBIexogenousgrowth_main2.mod (2.3 KB)
.
I hope I am not abusing this entry post too much with the change of topic. Thank you so much.