Steady state is found but other problems occur

ModeloConTransfer.mod (5.1 KB)

Hi. I have coded my model with Dynare and it works perfectly. Now I want to extend my model by adding an equation to this model that transforms the interest rate r* from a parameter to an endogenous variable. This way, the interest rate is forced to depend on the savings from the consumer’s budget constraint. It could be any equation, I tried to use the relation r*= savings^kappa, kappa is a constant. I got steady state results. However, I got the following error: Error using print_info (line 51) The Jacobian matrix evaluated at the steady state contains elements that are not real or are infinite.
Also, if I run model_diagnostics(M_,options_,oo_), it says

MODEL_DIAGNOSTICS: The Jacobian of the dynamic model contains imaginary parts. The problem arises from:

Derivative of Equation 21 with respect to Variable sav (initial value of sav: -1.14818)

MODEL_DIAGNOSTICS: The problem most often occurs, because a variable with
MODEL_DIAGNOSTICS: exponent smaller than 1 has been initialized to 0. Taking the derivative
MODEL_DIAGNOSTICS: and evaluating it at the steady state then results in a division by 0.
MODEL_DIAGNOSTICS: If you are using model-local variables (# operator), check their values as well.

Could you advice me how to solve this problem?

You have

rstar = sav^kappa;

where sav is negative in steady state and kappa is a fraction. So you are taking a root of a negative number, which is not allowed.

Thank you very much. It was very helpful.

Dear Jpfeifer

Sorry for disturbing you again. I changed the previous equation of the interest rate to r* = (1/beta)(Savings(+1)/Savings)^kappa and the program works correctly. In order to have a more logical equation of the interest rate I would like to use a very similar equation to the one mentioned above which is: 1+r (rather than r*) equalized to (1/beta)(Savings(+1)/Savings)^kappa, i.e., 1+r = (1/beta)*(Savings(+1)/Savings)^kappa. But in this case I get the following error:

Blanchard Kahn conditions are not satisfied: indeterminacy.

Also, if I run model_diagnostics(M_,options_,oo_), it says

MODEL_DIAGNOSTICS: The singularity seems to be (partly) caused by the presence of a unit root

MODEL_DIAGNOSTICS: as the absolute value of one eigenvalue is in the range of ±1e-6 to 1.

MODEL_DIAGNOSTICS: If the model is actually supposed to feature unit root behavior, such a warning is expected,

MODEL_DIAGNOSTICS: but you should nevertheless check whether there is an additional singularity problem.

MODEL_DIAGNOSTICS: The presence of a singularity problem typically indicates that there is one

MODEL_DIAGNOSTICS: redundant equation entered in the model block, while another non-redundant equation

MODEL_DIAGNOSTICS: is missing. The problem often derives from Walras Law.

My question is why it works with the former equation and it doesn’t work with the latter one?

ModeloRCrediticia.mod (5.1 KB)

You did not explain the difference between r and r*

Sorry, I meant 1+r* = (1/beta)(Savings(+1)/Savings)^kappa.

i.e., no difference between r and r* in my previous message.

You need to check your model. Maybe there is still a timing problem somewhere.