dear @jpfeifer
I hope you can help me with the rank condition error I faced in my code. I am replicating a code only by eliminating the central bank and considering an exogenous fixed nominal interest rate. The timing of all variables is double-checked and also all steady-state computed by dynare makes sense and is consistent with the original code. I keep receiving the error for rank condition. By defining interest rate as a parameter, I am not changing the number of forward-looking variables, but I don’t know how to fix the problem regarding number of eigenvalues. Can it simply be because of parameterization which needs to change due to this small change?? Can you please take a look at the attached code?

I took a quick look (haven’t tried to simulate). I noticed a potential error in equation 4 of your model block.

I can cancel out “lambda” from both sides and then I am left with an equation only in “lambda(+1)”.

Are you sure this equation makes sense? If so, why would there be a “lambda” in there?

You also have the Taylor Rule commented out. Did you do this on purpose? I know the model won’t run if the dimension is wrong, but I thought I would bring this up. Perhaps you’re drawing our attention to how you are eliminating the parameter.

Typically, if there is price stickiness, you will have to have the nominal rate of interest respond to the economy such that it raises the real rate of interest to a degree that it keeps inflation from exploding. This is why we use the Taylor Rule (actually probably more accurate to call it a “feedback”) in order to keep the model running correctly. More precisely a Taylor Rule which satisfies the Taylor condition (central bank responds more than 1:1 to expected inflation) is what will satisfy the Blanchard-Kahn conditions in your model.

@ChrisL With investment adjustment costs, the Lagrange multiplier will appear contemporaneously and with t+1 due to investment appearing with a lag. Without such costs, this equation would simply become q=1