BK condition not satisfied due to rank failure

Hello. I am running a DSGE model with dynare and got some error messages

“Error using print_info / Blanchard & Kahn conditions are not satisfied: indeterminacy due to rank failure”(please refer to the “_error3.txt” attatched.)
&
“There are 19 eigenvalue(s) larger than 1 in modulus
for 19 forward-looking variable(s). The rank condition ISN’T verified!”

To give you a background, I used the ‘fsolve’(‘solve_calibration.m’) to solve for some endogenous variables and ‘_steadystate.m’ file to get steadystate values and they seem to run well. Also, I checked ‘model_diagnostics’ and got:

MODEL_DIAGNOSTICS: No obvious problems with this mod-file were detected.

I checked the timing issue and I found no problems with respect to predetermined variables k, b, ump. Still, I have no idea why the model fails to run properly.

Thank you!

Best Regards,
Yoonhyok Choi

aob_policy_regime.mod (10.4 KB)
aob_policy_regime_steadystate.m (6.2 KB)
solve_calibration.m (730 Bytes)
aob_policy_regime_error3.txt (5.5 KB)

Hello. I found that there was an obvious error in calibration. There is a employment rate ‘l’ that is not supposed to be over 1, but its steady state value in my model was 1.07.

I checked Christiano et.al.(2016, Econometrica), and I fixed the steady state values of ‘l’ and ‘Q’, similar to theirs. Hence, the ‘fsolve’ routine has completely changed. I got similar parameter values to theirs but now I face a problem saying:

“There are 20 eigenvalue(s) larger than 1 in modulus for 19 forward-looking variable(s). The rank condition ISN’T verified!”

and

“Error using print_info Blanchard & Kahn conditions are not satisfied: no stable equilibrium.”

I think it is a model specific problem, but I would really appreciate if you could give just a general comment about this kind of message. Thank you!

aob_policy_regime.mod (11.7 KB)
aob_policy_regime_steadystate.m (6.6 KB)
solve_calibration.m (531 Bytes)
aob_policy_regime_error4.txt (5.5 KB)

The message means that your model shows explosiveness, usually because some stock variable explodes. Regularly the problem is a timing error, but it may also come from parameterization problems.

Thank you so much!

Dear Prof. Pfeifer

Thank you so much. Now I solved the problem! It was a timing issue. I put ‘k’, ‘b’, and ‘ump’ as predetermined variables, but I saw Christiano et.al.(2016) did not declare any particular predetermined variables and just put (-1) timing for the corresponding variables. So I removed ‘predetermined_variables’ and ‘k → k(-1)’ and ‘b → b(-1)’. I guess there was an inconsistency between ‘k’(‘b’) and ‘ump’.

Now I see the following message as well as the solved model with IRFs:

“There are 19 eigenvalue(s) larger than 1 in modulus
for 19 forward-looking variable(s). The rank condition is verified.”

Thank you so much!