Jacobian matrix and static model

Dear all,

This post is about the Jacobian matrix, the static model and why it is important for log-linearized models.

I have written a model with two different agents with Calvo pricing and a Taylor Rule that I have log-linearized. So, at the steady state, each variable equals zero. In this model, the agents holds bonds and money, and log-linearized equation caracterizing the bonds holding writes itself:

sigm*c1 + ii = sigm*c1(+1) + pii(+1)

with sigma the risk aversion, ii, pii and c1 the interest rate on bonds, the inflation rate and the consumption for agent 1. In the static model, since the sigma*c1 drops out, this equation is collinear with the Taylor Rule:

ii = psi*pii(+1)

So I rightly get the following error message:

[quote]model_diagnostic: the Jacobian of the static model is singular
there is 1 colinear relationships between the variables and the equations
Colinear variables:
Colinear equations
8 13[/quote]

My Dynare question is : why Dynare needs to compute this Jacobian matrix, even if the model is already linear? Why is the static model needed? I understand that it would need the steady state values of variables to perform linearization, but I do not understand why it needs the static model.

I join my .mod file and my _steadystate.m file to this post, if you feel that there might be something strange within.

Thank you for your time!
model_steadystate.m (1.76 KB)
model.mod (1.93 KB)

Dear all,

I have not been able to solve my problem yet, I am guessing that it comes from a bad economic modelization, but I can’t figure out why. I will try to ask somebody in my Department, but if one of you come with an idea, please be my guest!

Anyway, talking about Dynare, I do not understand yet why the software needs to compute the static model. I went back to my computational economics lectures, and can’t understand what Dynare is doing by computing such a ``static" model. Any enlightment would be very much appreciated, the better I understand the software, the easiest it is to use.

Thank you for your time!

Note that the model_diagnostic-command is just for diagnostic purposes and not yet official. It is a useful device, but not perfect in detecting problems. You can use it to diagnose issues if there is an error when running Dynare. The Jacobian of the static model is usually used for computing the steady state. It is not required for other computations like stoch_simul. If your model runs without error, don’t bother.
However, in your model, there is an error. The problem seems to be to pin down bonds (i guess that is b). Usually that is done by assuming market clearing in the form that they are in net supply. That is, you set b=0 and only use the Euler equation. I am not familiar with your model, but your post sounds like there is a portfolio choice between money and bonds. We know that in the linearized version (due to certainty equivalence) the steady state is indeterminate (see e.g. Devereux/Sutherland). Hence, model_diagnostics may indeed point at a problem.
Put differently, it looks as if there is one redundant equation and your are missing a market clearing condition.

Hmm, so as I thought that would be much more an economic modelization issue than a computation one. I feel bad that after so many researches on the forum, the answer is more or less that I forgot one market clearing condition :confused: .

Thank you very much for your answer, so I know now in which way to head, even if I do not know anything about the Devereux/Sutherland litterature. I am guessing, after a quick search, that you are thinking of the 2010 and 2011 articles, which are very recent papers. I can’t help being a bit surprised that my issue is not as trivial as it seems, but so be it.

Once again, thank you very much for your answer and for the help you are providing to on-their-own students as me!