# The rank condition ISN'T verified

Hello Mr. Pfeifer, I’m trying to run the following stochastic simulation:

``````var i, w, c, h, y, k, d, n, inv, l, q;
varexo a p e;

parameters theta, beta, eta, delta, alpha, gamma, phi, rho;

beta = 0.985;
theta = 0.75;
delta = 0.025;
alpha = 0.33;
gamma = 0.27;
eta = 0.5;
phi = 0.5;
rho = 0.9;

model;
1 = beta*c/c(+1)*(1+i)*p/p(+1);
w/p = ((1-theta)/theta)*(c/(1-h));
alpha*y/k = ((delta+i*exp(q))/p);
gamma*y/h = w/p;
exp(q)*k = d + n;
k(+1) = (1-delta)*k+inv;
d(+1) = d+l-phi*(1-eta)*(p*y-w*h-delta*k-i*d);
exp(q(+1))*inv = l+(1-phi)*(1-eta)*(p*y-w*h-delta*k-i*d);
y = a*(k^alpha)*(h^gamma);
y = c+inv;
q(+1) = rho*q - e;
end;

initval;
i = 0.0152;
w = 1.1451;
c = 1.7015;
h = 0.5047;
y = 2.1404;
k = 17.5581;
d = 16.1304;
n = 1.4277;
inv = 0.4390;
l = 0.2195;
q = 0;
e = 0;
a = 1;
p = 1;
end;

check;

shocks;
var e = 1;
end;

stoch_simul (periods=1000);``````

Where I’m basically negatively shocking the variable ‘q’.
I put the steady state values as initial conditions.
Nevertheless, I obtain the result:

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

The rank condition ISN’T verified!"

Do you know (or somebody) what might be happening?
Thank you.

You are neglecting Dynare’s timing convention for state variables. I guess that k should be predetermined. Either shift by one period backwards or use

```predetermined_variables k; ```
The same might apply to d.
Also, your exogenous AR-process looks weird. Shouldn’t it be