Page 1 of 1

why does dynare compute my model infinitely?

PostPosted: Sun Feb 21, 2010 2:54 pm
by marcin_j
Hello everybody, sorry to bother you with the basics. I am trying to compute a very simple RBC model. There are no errors reported and everything would be fine apart from the fact that... dynare actually does not compute it (the model is really simple, see below, but after a few minutes dynare still stands at "starting matlab/octave computing"). Being a newbie I have no idea what might be wrong, as no errors are reported. Could you possibly help? Thanks a lot!
Code: Select all
var c, l, k, x, a;
varexo e;

parameters alpha, rho, delta;

alpha = 0.34;
delta = 0.025;
rho = 0.95;

model;
   1/c = (1/c(+1))*(a*alpha*(l(+1)/k(+1))^(1-alpha)+1);
   c/l-1 = (1-alpha)*(k/l)^alpha;
   c + x = a*(k^alpha)*(l^(1-alpha));
   k = x(-1) + (1-delta)*k(-1);
   a = rho * a(-1) + e;
end;

initval;
   c = 0;
   x = 0;
   l = 0;
   k = 0;
   a = 0;
end;

shocks;
var e = 0.00448;
end;

stoch_simul(periods=1000);

Re: why does dynare compute my model infinitely?

PostPosted: Sun Feb 21, 2010 5:04 pm
by jpfeifer
Hi,

from what I can see, there are a few potential problems. Putting the command

Code: Select all
steady;


after the initval block shows you that your supplied initial values do not lead to a feasible point around of the model. Rather, when starting with c=0 you immediately divide by 0 in the first model equation. Moreover, the timing for capital seems to be wrong/inconsistent. Note that Dynare uses end of period stock notation. That means, k at time t is entered as k(-1) (see User's Guide 3.5.4). So the law of motion in the fourth model equation would be correct. Without knowing your model, I would guess that the part of the first model equation

Code: Select all
(a*alpha*(l(+1)/k(+1))^(1-alpha)


relates to the real interest rate. But by the timing convention, this is l at time t+1 but k at time t (as k is predetermined).

Johannes

Re: why does dynare compute my model infinitely?

PostPosted: Sat Mar 13, 2010 5:05 pm
by marcin_j
Thanks for your help. I updated the model and recalculated the initial values. And here's the question: I derived the steady state from the first order condition equations and assumed A (the technology paramter) to be 1. Is approach fine? If it is the problem must be somewhere else, since the model still doesn't get computed. Dynare says that maxit has been reached and reports convergence problems... I would greatly appreciate your help.

Re: why does dynare compute my model infinitely?

PostPosted: Sun Mar 14, 2010 5:44 pm
by jpfeifer
Sorry, but your timing still does not comform to section 3.5.4 of the user guide. As stated there, your law of motion for capital should look like

Code: Select all
k = x + (1-delta)*k(-1);


and not

Code: Select all
k = x(-1) + (1-delta)*k(-1);

Moreover, a is an endogenous variable which definitely has a steady state value of 0 and not 1. I would recommend sitting down and computing the steady state by pencil and paper. Considering the number of equations, this should be straightforward. You can then use these values as initial values.
Finally, I do not know you model, but some things look very strange to me. Usually, there should be a discount factor beta in your model which gives you a contraction mapping with a corresponding unique fixed point, i.e. a steady state. But there is no beta in your FOCs, so that may be the problem.