Blanchard Kahn conditions are not satisfied: no stable equilibrium BUT MODEL_DIAGNOSTICS: No obvious problems with this mod-file were detected

Hi, I met a serious problem that after I ran my .mod file I got 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 Iaco_Add_Tax (line 647)
info = stoch_simul(var_list_);

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

//
Here are so many similar problems on the forum, but most of them got error message from

model_diagnostics(M_,options_,oo_)

But model_diagnostics told me that no obvious problems with this mod-file were detected!

//
Follow the discusses on the forum before, it is possible that there is a timing problem. But I can’t figure out where it is! I really need your help :sob:
//
The model what I compile is just adding the government to the Iacoviello(2010) mod file.

And the equations I added to the model are just the following four:

(1) exp(bg) + 2*exp(T) = E + exp(r(-1)-dp + bg(-1)) ;

(2) E = RHO_E*E(-1) + (1-RHO_E)PSI_Y(Y - Y_SS) + (eps_e);

(3) exp(TRATE) - TRATE_SS = RHO_T*(exp(TRATE(-1)) - TRATE_SS) + (1-RHO_T)( DELY(Y-Y_SS) + DELB*(exp(bg(-1))-BG_SS) + DELE*(exp(E)-1) );

(4) exp(T) = exp(TRATE + Y)/2;

The first equation is the government’s budget constraint; the second one is a equation to describe the movement of government expenditure; the third one is a equation to describe the movement of government lump-sum tax ratio; and the forth one is the definition of lump-sum tax which is applied to both the unconstrained and constrained household.

In addition to these four new equations, I only add an identical lump-sum tax and transfer to both the unconstrained and constrained household and leave all the other variables as unchanged; and where I compile as follows.

exp( c ) + exp(kc)/exp(a_k) + exp(kh) + exp(q+h) + exp(b) + exp(bg) = (1-DH)*exp(q+h(-1)-TRENDH) + exp(wc+nc) + exp(wh+nh) + (1-1/exp(X))exp(Y) + exp(r(-1)-dp)(exp(b(-1))+exp(bg(-1))) + (exp(rkc+zkc)+(1-DKC)/exp(a_k))*exp(kc(-1)-TRENDK) + (exp(rkh+zkh)+(1-DKH))exp(kh(-1)-TRENDY) + MULexp(q)exp(I) - exp(T) + KAPPA_TE/2;

exp(c1) + exp(q+h1) - (1-DH)exp(q+h1(-1)-TRENDH) = exp(wc1+nc1) + exp(wh1+nh1) +
exp(b) - exp(r(-1)-dp+b(-1)-TRENDY) - exp(T) + KAPPA_T
E/2;

I think all these equations are seemed to be normal…?
Could you please have a look and give me some hint how to find the mistake?

Thanks!
Iaco_Add_Tax.mod (20.5 KB) Iaco_Add_Tax_steadystate.m (5.2 KB)

Given that your model now is explosive, the most likely reason is that your fiscal block causes government debt to explode. Try playing around with the parameters of the debt feedback.

Thank you for your reply!

But when I changed all the debt-related parameters to a close-to-zero number, and the steady state value of bg(government debt) is successfully decreased to be smaller than 1, there is still the same error message: Blanchard Kahn conditions are not satisfied: no stable equilibrium.

How can I figure out the cause is the explosion of government debt and fix this problem?

I have no idea on how to fix this problem, I still need your help :sob:

Usually the problem is not too much of feedback, but rather not enough. Also, did you try if it works if lump-sum taxation assures a balanced budget each period.

After your first reply, I thought the cause of explosion of government’s debt might be my definition of government expenditure and tax which is based on page 8-9 of Francesco Bianchi & Cosmin Ilut, 2017. “Monetary/Fiscal Policy Mix and Agent’s Beliefs,” Review of Economic Dynamics, Elsevier for the Society for Economic Dynamics, vol. 26, pages 113-139, October.

//
This paper defines government’s expenditure and tax as a fraction of GDP, while I defined them as real variables. I guesses if there is a shock, this old definition will result in a effect that couldn’t slow down by the movement of government’s debt since the shock is a large fraction of government’s expenditure and tax.

By contrast, I thought if I redefine the TRATE and E(rename as ERATE henceforth) as the ratio of GDP, the effect of shock might be successfully diminished since the shock is only a small fraction of real government’s expenditure(ERATE*Y) and tax (TRATE*Y) and the government’s debt therefore might not exploed!

//
so I rewrite my equations as follows:

bg + exp(TRATE + Y) = exp(ERATE + Y) + exp(r(-1)-dp)*bg(-1) ;

ERATE = RHO_EERATE(-1) + (1-RHO_E)(log(KAPPA_E) + PSI_Y*(Y - Y_SS)) + (eps_e);

TRATE = RHO_TTRATE(-1) + (1-RHO_T)(log(TRATE_SS) + DELY*(Y-Y_SS) + DELB*(log(bg(-1))-log(BG_SS)) + DELE*(ERATE-log(KAPPA_E)) );

The first equation is the government’s budget; the second one is the movement of government’s expenditure ratio; and the third one is the movement of government’s tax ratio. And the second and the third equations are defined as the form of Taylor rule.

//
But the change wasn’t valid…I met an identical problem: Blanchard Kahn conditions are not satisfied: no stable equilibrium.

//
I have changed the related parameters to absurdly large(like DELB = 10000), and there is still the same error.

And I have rewrote the government’s budget as follows:

exp(bg) + 2*exp(T) = exp(r(-1)-dp + bg(-1)) ;

in order to fit your suggestion: lump-sum taxation assures a balanced budget each period.

However, it didn’t work…

I am so confusing about the reason and I really need your help. :sob: :confounded:

Iaco_Add_Tax.mod (21.2 KB) Iaco_Add_Tax_steadystate.m (5.3 KB)

If it doesn’t work with full lump sum taxation then there must be something seriously wrong. Try to simplify that block. Also, only do the exp-substitution once the model works.