Problems solving a model with lending/borrowing in EQ

Dear all,

I have a problem with solving my model. It is a monetary closed-economy model with two agents: worker and entrepreneur, and there is lending/borrowing in equilibrium.

Unfortunately, I get the error that:

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

The rank condition ISN’T verified!

Error using print_info (line 45)
Blanchard Kahn conditions are not satisfied: indeterminacy

Error in stoch_simul (line 98)
print_info(info, options_.noprint, options_);

Error in draft2 (line 343)
info = stoch_simul(var_list_);

Error in dynare (line 180)
evalin(‘base’,fname) ;

So obviously, my model does suffer from indeterminacy… is that related to the issue addressed by Schmitt-Grohe and Uribe (2002) ‘Closing Small Open Economies’? Given that my model is a closed economy model, i am not sure whether this could be the case… before building in uzawa-preferences or adjustment costs in bond-holding, I wanted to hear other peoples opinion.

I attach my .mod file.

Thank you very much!

Dear all,

I have found some timing mistakes, however, the problem basically still exists. The rank condition isn’t verified, i have no stable equilibrium in the model. I reduced the model, it is now basically a real-closed economy model with borrowing/lending in EQ.

Any suggestions where the error could be? Using ‘model_diagnostics(M_,options_,oo_)’ didn’t help, unfortunately.


Problems in closing open economy models result in unit roots, but typically not in BK violations. You will have permanent effects given a steady state, but not indeterminacy of the responses given an initial condition.

In your case, I can only recommend the standard recipe. Check your timing over and over again. The candidates for problems are of course the predetermined stocks, i.e. Bonds and capital as well as the returns, which are sometimes also predetermined.
Also, check the use of your auxiliary variables for your returns. Sometimes defining things like

and then using Q_B instead screws up the timing.

alright, thank you very much!