BK condition problem

collateral_para.mat (2.6 KB)
longrunpro.mod (5.3 KB)

I am trying to introduce financial frictions in the form of collateral constraint into the long-run productivity risk model (Croce · 2014, JME, Long-run productivity risk: A new hope for production-based asset pricing?). My Dynare code (see the longrunpro.mod attached) can compute the steady state, but it reports the BK condition problem:

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

The rank condition ISN’T verified!

dynare:k_order_perturbation: Caught Kord exception: NaN or Inf asserted in first order derivatives in FirstOrder::solve

I have checked the timing of equations very carefully, but I still can not find the problem. I attached my Dynare code (longrunpro.mod) and parameter file collateral_para.mat here.

Can anyone help me check what is wrong with my code?

Many thanks

Usually, this type of problem is caused by timing issues. In your case, the model exhibits explosiveness.

Thank you, Prof. Pfeifer,

I actually found that if I replace the household Eular equation: 1/(exp(rf))=exp(m(+1)), with 1/(exp(rf(+1)))=exp(m(+1)), then the code can work.

I am not sure if this is the way to go. It may change the economic meaning of risk-free rate. However, after I made this change, the IRFs seem to be ok. Do you have any thoughts on this small change?

Thanks again,

This looks like an instance where you introduce a second timing error to “fix” a first one. With your altered Euler equation, rf would not be known anymore, i.e. not be risk free.