Rank condition ISN'T verified when I introduce a KM constraint in simple RBC model

Hello all,

I am building a simple RBC model with Kiyotaki and Moore (1997) type borrowing constraint, and I have a question about Blanchard & Kahn conditions: In my model, there are no error if we drop the borrowing constraint, but the borrowing constraint is same as a good deal of literature, for example, Land‐Price Dynamics and Macroeconomic Fluctuations - Liu - 2013 - Econometrica - Wiley Online Library. And the parameters we use are typical. Then, my question is, why introduce the borrowing constraint will cause this problem and how to solve it?

The detail information of this error in Matlab is:
RBC_km.mod (1.1 KB)
RBC_km_steadystate.m (3.1 KB)

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

The rank condition ISN’T verified!

MODEL_DIAGNOSTICS: No obvious problems with this mod-file were detected.
Error using print_info (line 32)
Blanchard & Kahn conditions are not satisfied: no stable equilibrium.

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

Error in RBC_km.driver (line 251)
[info, oo_, options_, M_] = stoch_simul(M_, options_, oo_, var_list_);

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

Thanks a lot!


Is there any parameterization that works? If not, there may still be a timing error.

Thanks for your response!

I have found a set of parameters that can make the model run properly, i.e., when the KM borrowing constraint THETA1 < 0.03, given other parameter unchanged. But this seems to be an unreasonable range of values. I have made changes one by one to each parameter within a big range, as follows:

weight of labour supply PSI: [0.01, 30];

Frisch elasticity ETA: [0.01, 20];

entrepreneur’s BETA: [0.91, 0.99]

household’s discount factor BETA*(1+LAMBDA) : [0.955, 0.999] given BETA = 0.95;

quarterly output growth rate G: [1.001, 1.04];

inflation PISS: [1.001, 2];

labour share of output ALPHA: [0.2, 0.8];

KM borrowing constraint THETA1: [0.01, 0.6];

depreciation rate DELTA: [0.001, 0.5];

Only THETA1 < 0.03 can avoid the BK condition problem. After checking the timing of the RBC model and the timing of KM constraint in the RBC_km model, there seems no timing problem. Now, what can I do to calibrate the KM borrowing constraint as the value in many literature, such as 0.75 in Liu et al (2013)?

RBC.mod (1.2 KB)
RBC_steadystate.m (3.2 KB)

I don’t know your model, but isn’t it unusual for the the return r in the Euler equation to known in advance?