Log-linear model to nonlinear model: trends and steady state issues

Dear all,
I would like to start from this https://www.sciencedirect.com/science/article/pii/S0148619511000294 log-linearized model (which follows Goodfriend and McCallum (2007) in its baseline setting https://www.sciencedirect.com/science/article/abs/pii/S0304393207000608) and analyze how it changes when we consider the second/third-order-approximation version of it .
The log-linearized version gave me no problems, I wrote it down directly in Dynare using the steady state values provided by the paper as additive parameters. However, when I tried to write down the untrasformed FOCs and equations for the nonlinear version of the model I have issues with the steady state (most of residuals are different form 0), even if I use the same ss values provided by the paper.
I think that the problem may concern the shock trends I have in the model, but I might be wrong. Could anyone help me or give me a hint?

Thanks in advance, please tell me if you need codes.

Did you obtain the appendix the authors are referencing? The paper also says you can ask for the code. At the current stage, it is hard to tell who did the mistake.

Thank you for the answer. Yes I obtained the appendix and it seems not different from my mod file. Do you want me to upload it?

Have you checked whether the given steady states solve the model equations? You should be able to check that using pencil and paper.

Thank you for the answers.

I am now trying to do the same with a similar model (housing_help.mod (3.0 KB)
), the steady state block works but I receive the “Blanchard Kahn conditions are not satisfied” error message. I understood that it could deal with timing and actually the model runs if I change cb(+1) to cb in equation number 3, but this would make no sense to me (it is part of a Euler equation). Can you help me? Thank you in advance

bild, I am not sure this is the problem, but on your Euler equation, you have

1/c=(cbetta*RD)/(c(+1)*P(+1));

but my intuition tells me that it should actually be

1/(cP)=(cbettaRD)/(c(+1)*P(+1));

My guess is that you have P = 1 in the steady-state, which is why it didn’t really mess things up for you there. However, if I try to linearize in my head what you currently have as the Euler, I’m having a tough time picturing what the inflation variable pi will look like.

Apologies ahead of time if I am reading your model incorrectly and you’re using a convention I am not familiar with.

Thanks for the answer. However, that Euler is coherent with the papers I am referring to.

You are not having a stable equilibrium. Have you tried playing around with the parameters of your fiscal rule? Maybe your debt path is explosive.
Also, referring to the point raised by @ChrisL, I hope that P denotes inflation and not a price level.

Thank you for the answer.
I found a mistake in my Taylor Rule, but the model still does not work in that specification. However, if I shift the timing of eq. 2 Blanchard Kahn conditions are satisfied and the model runs, but I don’t understand why.

Yes, P is inflation. As a side question: I do not understand line 169 of the non-linear version of Galì cap.3 (https://github.com/JohannesPfeifer/DSGE_mod/blob/master/Gali_2015/Gali_2015_chapter_3_nonlinear.mod ). Shouldn’t it be:

Pi^(1-epsilon)=theta+(1-theta)(Pi_star)^(1-epsilon)
or
1=theta*Pi^(epsilon-1)+(1-theta)(Pi_star)^(1-epsilon)*Pi^(epsilon-1) ?

I am pretty sure that equation in my code is correct. It is e.g. consistent with the equation at the bottom of page 13 in Fernandez-Villaverde/Rubio-Ramirez (2006): A Baseline DSGE Model.

Ok, thank you. I was referring to chapter 3 of Galì’s book (Aggregate Price Level Dynamics - Appendix) where

Pi^(1-epsilon)=theta+(1-theta)(Pi_star)^(1-epsilon).

I still do not understand why the model runs when I shift time in the budget constraint.

Gali uses the definition \Pi^*=\frac{P_t^*}{P_{t-1}} while I used \Pi^*=\frac{P_t^*}{P_{t}} as in the above reference.

But changing the timing, you change the number of states and forward looking variables. It is simply the reflection of a deeper underlying problem in your timing.

Oh, I see now. Thank you very much for the answer, I will work on that.