Bug? # eig AND rank satisfied, yet "indeterminacy"


I’m wondering if anybody else has encountered this problem with Dynare 4.2. I’m getting the following error message and I don’t understand why:

[code]There are 5 eigenvalue(s) larger than 1 in modulus
for 5 forward-looking variable(s)

The rank condition is verified.

??? Error using ==> print_info at 42
Blanchard Kahn conditions are not satisfied: indeterminacy[/code]

I thought satisfying rank AND # unstable eigenvalues == # forward looking variables was necessary and sufficient.

Thank you for your feedback.

Could you please post the mod-file.

Here is the code. It’s large (sorry).

The tension stems from the equation where you close the small open economy by making the interest rate dependent on the level of net foreign assets (actually written as debt, d). The parameter you can play with is denoted by Zd. I’m enclosing the output (BK satisfied or not) of different Zd choices. Note that one has to include 2 out of the 3 following equations: 1) GBC (government budget constraint), 2) HHBC (household budget constraint, 3) Tradable sector market clearing condition. The file Understanding_Zd.doc considers two cases: a) GBC + HHBC, b) HHBC + T-clearing.

The error that I mention happens when you have GBC + HHBC and you set Zd high.

Thank you for your feedback!

Even the version that runs has problems as can be seen by “near singularity warning”. If this matrix is near singular, the resulting eigenvalues vary a lot and are not reliable. The model then sometimes passes the BK-condition check in the “check;”-command, but afterwards crashes in the stoch_simul-command.

If you run the model and type

you see that there are some collinear equations, which might cause the trouble. This might also help you to sort out, which equation to leave out of the model.

Thank you for the diagnostics tip.

Any idea as to why Dynare sometimes runs even though BK is violated, and why does it claim indeterminacy some other times even though BK is satisfied? Neither of these should happen, right? Particularly the latter one (the first might have to do with RCOND, right?)…

Both has to do with the rcond thing. “check;” and “stoch_simul;” use different ways to compute the eigenvalues to check for determinacy. If the results are inaccurate due to singularity issues, the statements may contradict each other. The problem may go in both ways - as you are experiencing now.

Thanks again for your prompt feedback. It’s been very helpful.