Blanchard-Kahn condition not holding when #EigenValues > 1 = #Non-predeterminated variables. Indeterminacy

Hi all,

I am working on an open economy model with banks and Macroprudential policy taxes.

Each country has a planner and an instrument.
The private model (with a policy rule) works fine. Steady state and all.

Now I work the Ramsey model. I use the algorithm of Christiano, Motto and Rostagno (2007) to obtain the Steady State. I can do so for every policy framework without issues.

Now on the policy frameworks simulation:

The Cooperative model works fine.
The Semicooperative with Center+Periphery1 cooperating and playing against Periphery 2 works fine.

(i.e. I also made a case with 2 planners work - I understand from Johannes answers (to me and others) that this can be troublesome as imply finding intersection of best responses).

However, the cases where the Planner in the center plays alone, i.e., Nash and SemiCooperation2: Planner of Periphery1+Periphery2 playing versus Center Planner. Yields an indeterminacy result (more Forward looking variables than EigenVal > 1).

To provide more info. I am using a Ramsey with Discretionary policy and the model depicts Incomplete markets (with adj. costs in bonds to prevent non-stationarity).

Everything makes sense: Steady States, timing and else. That’s why the private model works fine and 2/4 policy frameworks work fine.

I kept reading on sunspot equilibria and see that the parameter values may be generating the multiple equilibria result (together with Discretionary policies. I will set the commitment case later and maybe solve this issue). Because of this and due to the fact that in some experiments the model diagnostics showed the bonds equations generating issues, I change the value of bonds Adj. Cost parameter and finally get a match between eigenvalues and Forward Looking variables:

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

The rank condition ISN'T verified!

Error using print_info (line 32)
Blanchard & Kahn conditions are not satisfied: indeterminacy due to rank failure.
Error in stoch_simul (line 103)
    print_info(info, options_.noprint, options_);
Error in MaPRamseyEMEs.driver (line 956)
[info, oo_, options_, M_] = stoch_simul(M_, options_, oo_, var_list_);
Error in dynare (line 293)
evalin('base',[fname '.driver']) ; 
>> model_diagnostics(M_,options_,oo_)
MODEL_DIAGNOSTICS:  No obvious problems with this mod-file were detected.

Why, if the #Eigenvalues > 1 is equal to the #Non-predetermined variables. The Blanchard-Kahn conditions still won’t hold?

Probably there is a singularity problem remaining. One thing with these Ramsey models (the ones with issues) is that the Lagrange Multipliers (SS) of the CEq equations associated with the Center are zero for the other planner. Zero valued endogenous variables (and several at that) probably generate this remaining issue. I will remove them and drop the associated Ramsey FOC equations. I was wondering if the built in Ramsey command in Dynare does something of this sort (drop zero valued Lagrange Multipliers and FOCs from the planner).

I know that Game-theoretical features may imply multiple equilibria (Farmer 2020, NBER wp25879). Also, that incomplete markets and discretionary policies may do (Evans and Honkapohja (2003, REStud and 2006 Scand.J.Econ)).

Is there something else that I should be checking in the model that may make it not to work? What puzzles me the most is that some cases work and others don’t but also that one of the cases not working, keeps violating the B-Kahn conditions when #Eigenvalues > 1 = #Non-predetermined variables.



1 Like

In the background there is alway the rank condition, even if the number of eigenvalues fits. If the rank condition is not satisfied, the system will still be underdetermined and there is at least one degree of freedom left that makes the solution indeterminate.

As you point out, there may be theoretical reasons for multiplicity, but this seems to be something else.

Sometimes this is just a numerical issue because variables are so differently scaled that singularity is falsely detected.

Dynare’s builtin Ramsey command will not remove non-binding constraints so that may indeed be a reason.

Something that may also happen is that the steady state may be non-unique. Depending on the starting value for finding the steady state for the Ramsey economy, you may converge to a problematic steady state where the solution is indeterminate. Using a different starting value for the instrument can then help.