Blanchard Kahn indeterminacy error in SW07 inspired model


Dear dynare forum community,

I set up a model inspired by Smets&Wouters 2007. For the people familiar with their paper some notes on my tweaks:
To simplify that model I got rid of a sticky labor market and of the capital utilization rate. Also, I used a simpler Calvo/Dixit-Stiglitz pricing framework than the more complicated one in SW, resulting in a simpler version of the Philipps-Curve. This model is working and produces reasonable impulse responses. It is also interesting for me to set “investment adjustment costs” to near 0, which I did. Still, the model works and produces reasonable impulse responses.

I want to implement some form ob bounded rationality/myopia into the model inspired by Gabaix (2016) paper about “A behavioral new Keynesian model”.
So the only thing I change in the model in comparison to the framework mentioned above is to implement a Parameter M element [0,1] in the Euler Equation (which is multiplied with the expected consumption C(+1). If this Parameter is set lower than 0.93 the model starts producing a Blanchard Kahn Error:
Modulus Real Imaginary

           0                0                0
           0                0                0
           0                0                0
   1.908e-15       -1.908e-15                0
     0.06141          0.06141                0
      0.1327           0.1327                0
      0.3397           0.3397                0
         0.5              0.5                0
       1.005            1.005                0
       1.005            1.005                0
       1.282            1.282                0
       1.286            1.286                0
       1.435            1.435                0
       2.502            1.823            1.715
       2.502            1.823           -1.715
       7.183            7.183                0
   5.453e+15       -5.453e+15                0
   3.265e+16        3.265e+16                0
   5.736e+16        5.736e+16                0
         Inf              Inf                0
         Inf              Inf                0

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

The rank condition ISN’T verified!

Error using print_info (line 42)
Blanchard Kahn conditions are not satisfied: no stable equilibrium

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

Error in SW07_mitIAC_mitHabit_flexibleModel (line 273)
info = stoch_simul(var_list_);

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

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

I’ve read that BK-Error is usually due to timing errors but then the model should not work without the M Parameter as well. That’s my indication that timing is correct. Also, I did the same experiment with the copy of the code from SW07 without any changes, which produces the same error in that situation.

Right now my deduction is, that this form of bounded rationality is just not working in this model (at least not for the values I want to reach), but I want to find out why. How can I see at what point the model stops working? I already run model_diagnostics which doesn’t indicate any problems. Do you have some ideas on why this error occurs or how I can properly document and understand it?

Link to code on github for error producing model-specification and mod file: (8.0 KB)


I think timing is not the problem here.

My hunch is that with your simplified model you are closer now to the root of the issue. One general question: does bounded rationality only affect the Euler equation for bonds? Or does it consistently affect all forward-looking equations? There needs to be a no arbitrage relationship between all assets, I think.


Hi jpfeifer,

I tested both versions, bounded rationality only affecting Euler equations for bonds (Consumption Euler equation) and a version affecting all forward-looking variables of the household side (I keep firms rational for reasons of simplicity). But the crucial change resulting in the error in both versions is the implementation of myopia in the consumption Euler equation.

So e.g. M in the Consumption Euler equation would affect the Consumption C(+1) (and Labour H(+1), depending on choosing an additive utility function vs. a multiplicative utility function. SW07 use a multiplicative household utility function that’s why H(+1) is in the Euler eq.)

In the other variant M would also affect the Investment I(t+1) in the Investment Euler equation and the Q(t+1) in the Tobin’s-Q-Equation, which should be irrelevant because Tobin’s-Q should stay steady at 1 anyway when investment adjustment costs are set to near 0.

Inflation(+1) is not affected by myopia since that would be the firm channel so Philipps-Curve remains unchanged.