# The rank condition ISN'T verified

**URL:** <https://forum.dynare.org/t/the-rank-condition-isnt-verified/4611>\
**Category:** Dynare help (legacy posts)\
**Created:** [8 April 2015 04:49 UTC](https://forum.dynare.org/t/the-rank-condition-isnt-verified/4611 "2015-04-08T04:49:12Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![bfujiy](https://forum.dynare.org/letter_avatar_proxy/v4/letter/b/85e7bf/32.png) [@bfujiy](https://forum.dynare.org/u/bfujiy)\
**Post date:** [8 April 2015 04:49 UTC](https://forum.dynare.org/t/the-rank-condition-isnt-verified/4611/1 "2015-04-08T04:49:12Z")

</div>

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

```auto
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;
steady;

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.

---

<div class="post-metadata">

**Author:** ![jpfeifer](https://forum.dynare.org/user_avatar/forum.dynare.org/jpfeifer/32/5044_2.png) [@jpfeifer](https://forum.dynare.org/u/jpfeifer)\
**Post date:** [8 April 2015 06:36 UTC](https://forum.dynare.org/t/the-rank-condition-isnt-verified/4611/2 "2015-04-08T06:36:18Z")

</div>

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

```auto

```
