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

The consensus answer for this type of error message seems to be to check the timing of the equilibrium conditions. However, I have been staring at my code for the past couple of days and have not been able to find the issue. Is there a larger mistake that I may be overlooking here? Must I set the predetermined variables using ‘predetermined_variables’ command?

The help is much appreciated!
thesisdynare2.mod (7.0 KB)
calibration.m (2.6 KB)
steadystate.m (2.8 KB)

You need to fix your timing to be consistent with Dynare’s convention. From what I can see in

% 5 Labor-complement capital investment
K(+1) = (1-deltak)*K + Ik;

% 6 Labor-substitute capital investment
Z(+1) = (1-deltaz)*Z + Iz;

both K and Z are predetermined variables.

Is this an issue with calling K and Z predetermined variables? I have written the above as K = (1-deltak)*K(-1) +Ik and K = (1-deltak)*K(-1) + Ik(-1) and have run into the same issue.

  1. There is one unique correct timing. It usually is K = (1-deltak)*K(-1) +Ik. However, this is not the only equation where it shows up, so you need to be consistent. Using the predetermined_variables allows you to consistently shift the timing without modifying equations.
  2. What do you mean with

Using

predetermined_variables K Z;

brings you from

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

to

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

which is already a big step in the right direction.