Blanchard Kahn Condition in altered version of SW07



I’m still fairly new to Matlab and Dynare and having troubles resolving an error with the model I’m trying to build/modify.
My goal is to build a DSGE Model with capital and incorporate a myopic parameter in the style of Gabaix (2017), into the household side.
My starting point for a DSGE model with capital was Smets, Wouters (2007) and I got the latest Dynare Codes modified by J. Pfeifer from GitHub:

when running my modified model code, I will get the following error message:

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 BrNK_SW07 (line 399)
info = stoch_simul(var_list_);

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

My code differs from the original in the following ways:

  • Got rid of the labobs variables since I’m not interested in estimating the model
  • For the start, I also set habit formation and capital accumulation cost to 0 (or almost zero).
  • Wages set to be flexible
  • The whole “flexible economy” is excluded from the model part for reasons of simplicity
  • Without the flexible economy, I had to modify the Taylor rule slightly; from output gap to steady state output
  • only monetary policy shock is active

Everything else is kept like in the original code. The code so far is working and produces satisfying impulse responses. But I have not yet incorporated the myopic parameter I want to implement. If I do implement Myopia (M) into the Consumption Euler Equation and set it to < 0.95 the error message mentioned above will appear. This strikes me since I’m only changing a fixed Parameter. There has to be something wrong with the timing in guess but so far I’ve tried to write some equations backward in time and had no progress so far.

Would be very much appreciated if someone can point out some problems of the code or the general setup.

Here is the full model-code I’m currently using:


Do I understand you correctly that all your modifications work until you move to a behavioral model?


Greetings jpfeifer, thanks for your reply.

Yes, only when implementing M < 0.95 into the desired part in the Euler Equation the Model will stop working and produce the Blanchard-Kahn-Condition-Error. Before that, the simplified model works.

Thats the original Consumption-Euler:

c = (chabb/cgamma)/(1+chabb/cgamma)c(-1) + (1/(1+chabb/cgamma))c(+1) + ((csigma-1)cwhlc/(csigma(1+chabb/cgamma)))(lab-lab(+1)) - (1-chabb/cgamma)/(csigma(1+chabb/cgamma))(r-pinf(+1) + 0b) +b ;

And the modified one I want to implement which produces the error when the M is set to below 0.95. Unfortunately, I want to experiment with lower M’s in the realm of 0.5.

c = (chabb/cgamma)/(1+chabb/cgamma)c(-1) + M * (1/(1+chabb/cgamma))c(+1) + ((csigma-1)cwhlc/(csigma(1+chabb/cgamma)))(lab-lab(+1)) - (1-chabb/cgamma)/(csigma(1+chabb/cgamma))(r-pinf(+1) + 0b) +b

Some parts of both versions of the equation also drop out since chabb is set to 0.


It is hard to tell what is going on. Here, you do not have a stable equilibrium. Gabaix’s original model did not feature capital. Thus, it is hard to tell what a behavioral discounting will do to stability.


That’s exactly what I want to do. I want to introduce capital into a DSGE model with myopia and I was advised, that it will probably be easier, to build myopia into an existing model with capital than trying to build capital, into Gabaix model.

Thanks for your time jpfeifer.


I rebuilt the model with slight variations and got the same error. So my deduction is, that this form of myopia is not working in the model framework of SW07.
But just documenting that it’s not working seems too less to me. I want to find out/calculate, where and why the model is not working. Do you have some tips for accomplishing that jpfeifer (or anyone else still reading this)?

Trying to do methods of undetermined coefficients by hand with such a big model seems impossible to me.

Thanks for the help.


First of all, I would check which feature introduces the problem, i.e. get rid of the various bells and whistles of the model. For example, use a simpler Taylor rule, use AR instead of ARMA processes, go for a Dixit-Stiglitz aggregator instead of Kimball, delete the habits.


Hi jpfeifer,

thanks for this input.
Habit is set to 0. I’m using the standard Dixid-Stiglitz & Calvo framework to derive a standard Philipps-curve instead of the Kimball framework of SW. I tested a simpler Taylor rule with the standard form (R= 1.5Pie+0.2x) instead of the SW07 Taylor-Rule. My only shock I have left in the model right now is the policy shock which is AR(1).
But still, the model breaks down when I lower M below 0.92.

Regarding the Taylor Rule, I found, that lowering the parameter in front of pie from 1.5 to near 1 helps to set the M freely (but only in a variation of the model where I define the Taylor rule, not in terms of output-gap but in terms of output. In this variation one doesn’t need the flexible economy).
Also lowering the sigmaC (elasticity of substitution of consumption) from 1.5 to near 1 helps me to lower the M a little bit further before the error occurs.


This is already quite informative as it should give you an indication in which direction the relevant root is switched. The sigmaC is also not completely surprising. As shown in Gabaix’s paper, the myopia essentially affects the intertemporal substitution in the dynamic IS equation.


Again thanks for your time and great input. I am really amazed and thrilled that you take the time to answer questions in this forum, where you are certainly busy as a professor.

Could you elobarate on what you mean by: “as it should give you an indication in which direction the relevant root is switched.”? How do I proceed from now?


Usually, we need the inflation feedback to be large to satisfy the Taylor principle, i.e. to get a root bigger than 1. But in your case the opposite happens. So no stable solution exists. Have you tried working from the opposite direct, i.e. starting with the Gabaix model and then add features from the SW model. That may be easier.


Hi jpfeifer,

again thanks for the great input. I have not yet tried starting with Gabaix model. Unfortunatly I wont have much time (for now) left, to rework the model to your proposal, since I’m moving towards the deadline of this project. I will try to add myopia to the firms, as you suggested on my other post, as this should be still doable in time. If that works out, that would be great and if not, I’ll finish the work as is.

Your help is and was greatly appreciated. Thank you very much.