The question of BK condition

Hi everyone.
I am adding a capital control like: eps = a*r_h - b*r_f into my model
In the model, it’s
eps*(a-b)*Rss = a*r_h*Rss - b*r_f*Rss;
And in the UIP condition, the code like this:

r_h = (de(+1) + r_f) - eps - chi_B*b_f;

When I set different values of the parameter ‘a’ and ‘b’, the code can work well, but when I set a=b to close capital control, matlab tell me:

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

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

Error c1new0100.driver (line 643)
[info, oo_, options_, M_] = stoch_simul(M_, options_, oo_, var_list_);

Error dynare (line 281)
evalin(‘base’,[fname ‘.driver’]);

Could anyone offer me some advice?
Thank you very much!

Here is my code:
c1new0100.mod (8.2 KB)

I am not familiar with the model, but is

   0= a*r_h*Rss - b*r_f*Rss;

really a correct implementation? This implies that r_h and r_f must always be identical if a=b.

Thanks for your reply!
When I set a=b=0, matlab tell me:

Error using print_info (line 32)
The generalized Schur (QZ) decomposition failed. For more information, see the documentation for Lapack function dgges: info=30, n=28. You can also
run model_diagnostics to get more information on what may cause this problem.

Error check (line 48)
print_info(info, 0, options);

Error c1new0100.driver (line 632)
oo_.dr.eigval = check(M_,options_,oo_);

Error dynare (line 281)
evalin(‘base’,[fname ‘.driver’]);

I think this seting may not lead to r_h=r_f and the capital control ‘eps’ will become zero.
But when I delete ‘eps’, the model can work.
I don’t see any different between these two situation, but I get different result from two settings.
Could you please offer me some information of what is wrong with the model?

No, when a=b, then the prefactor for eps is 0 and eps can be anything. That’s most probably the singularity: that eps cannot be uniquely pinned down.

Thank you very much!
I have the other question.
When I running the model:
c1new0100.mod (8.3 KB)
I found that when I set rho_r into 0.9, and add the shock to r_f, like:
var eta_r_f; stderr .01;
It is strange that the IRF of r_f offer me a negative shock. And when I set rho_r = 0.5, the shocks do not decay.
Could you please offer me some infromation of what ahppen to the model? Thank you very much!

rho_r in line 69, and it is used in e_r_f = rho_r*e_r_f(-1) + (1-rho_r)*eta_r_f;

Your model has endogenous feedback from other variables. See