Impossible to find steady state (rank insufficient)

Dear professor,

Hello. I am a beginner of Dynare and trying to study the impulse response of foreign interest rate shock under capital restriction, which means consumer cannot access international asset market (central bank can) and exchange rate is fixed.
The model is quite simple but I really don’t know which part may go wrong. Could you please have a look at my code and give some ideas?
Thank you very much for your time and patience.

Lee

NK.mod (1.1 KB)

Why is your model partially linearized while other equations are nonlinear?

Dear Professor Jpfeifer,

Thank you for your reply. Do you mean the model should be all log-linearied or all nonlinear (in exp() form)?
By looking into the forum, I also noticed that I can use the steady_state_model block to help dynare find the steady state. But I really have no idea where to start to solve the steady state by hand. Could you please give me some advice?
Apologize for my very beginner questions. I am reading your ‘A Guide to Specifying Observation Equations for the Estimation of DSGE Models’, which is really useful. May I also consult for some basic learning materials for dynare?

Many thanks.
Lee

No, but it means you need to be very careful to make sure that both model parts are consistent. Linearized models usually have steady state 0. But that often does not work with the nonlinear part.

Dear Professor Pfeifer,

May I ask if there are some equations log-linearized while others are not in the model block, how can I deal with the initval block? (some values are 0 while others are not) I have tried many values but there are always residuals.

Thank you very much.

Best,
Lee

I don’t understand the question. If you are consistent in your definitions, then you need to provide suitable initial values for all variables, i.e. 0 for everything that is a deviation from steady state and something non-zero if it’s a level that cannot be 0. Ideally, you would compute an analytical steady state.

Thanks for your reply! May I ask some further questions?

  1. When you say consistent, do you mean one variable cannot show up in both logs and levels equations?
  2. When you say compute an analytical SS, do you mean type the SS equations in the steady_state_model block? In this case should I type them in logs or levels?

Thank you very much.

  1. Say you have y_level in your model with steady state 1. Then the percentage deviation from steady state would show up as
y_hat=log(y_level)-log(STEADY_STATE(y_level));

with it being steady state 0. That way, the definitions are consistent.
2. Yes, I mean a steady_state_model-block-

1 Like