Rank condition not satisfied!

Hello, I am trying to replicate “The Four Equation New Keynesian Model” by Sims, Wu and Zhang (RES, 2020).

In particular, I’m trying to write a code for the the full non-linear model as outlined in the Online Appendix Section A. I’ve taken the model equations from section A of the appendix and adopted the same calibration as in section E. I’ve analytically computed the steady state and the non-linear equation for potential output.

Dynare finds my calculations for the steady state block to be correct, however it says there are 5 eigenvalues larger than 1 in modulus for 6 forward-looking variables so that the rank condition is not satisfied and I cannot run simulations.

I would be extremely grateful if anyone could help me in spotting any mistakes! I’ve tried to double check the timing of the equations and spotted some errors in the appendix (as annotated in the .mod file), but the problem still persists!

Thank you!
fournk.mod (5.5 KB)

I’ve solved the issue! There was a typo in the non-linear Taylor Rule. Thank you anyways!

Hi there!
I came across your post while studying the four equation model. I took a look at your code (great work and documentation!) and ran into the same issue you experienced. If I may ask, what was wrong with your Taylor rule and how did you fix it? Any info would be extremely helpful. Thanks so much!

log(R_s) = log(R_s_ss) + (1-rho_r)*(phi_pi*(log(PI) - log(PI_ss)) + phi_x*(log(Y) - log(Y_star))) + eps_r;
  • curious_cat.

The interest rate smoothing seems wrong and should be:

log(R_s) = (1-rho_r)*log(R_s_ss) + (1-rho_r)*(phi_pi*(log(PI) - log(PI_ss)) + phi_x*(log(Y) - log(Y_star))) + eps_r;

Hi curious_cat!

Unfortunately now I don’t have access to the codes as they are on my old laptop. Anyhow, the solution pointed out by Prof. Pfeifer looks good to me, although I would add another term “+ rho_r*log(R_s(-1))”, to ensure that when in steady state the equation holds true. If I remember correctly, this was exactly the “typo” I found out.

Indeed, it should be

log(R_s/R_s_ss) = rho_r*log(R_s(-1)/R_s_ss) + (1-rho_r)*(phi_pi*(log(PI) - log(PI_ss)) + phi_x*(log(Y) - log(Y_star))) + eps_r;

fournk.mod (5.6 KB)

1 Like

Hi alemacro,
Thank you for your swift reply, I really appreciate it! I think that did the trick. Equation 2.34 includes the backward looking component for r_s multiplied by rho_r. In the appendix they have (1-rho_r)*r_s_ss. By adding the backward looking component the rank condition is satisfied! Thanks again.

  • curious_cat

Hi jpfeifer,
Thanks for taking an interest to my question related to alemacros work. It is very much appreciated! With your specification the rank condition is verified.

  • curious cat