Page 1 of 1

No stable solution!

PostPosted: Sun Jan 03, 2016 12:09 pm
by gzkr
Hi everyone,

I am trying to replicate one paper but I cannot find stable solution.
I would be so happy if someone can take a look at my code.

Link for the paper;
http://www.nber.org/papers/w11578

I attached my mod file.

Thank you so much :)

Re: No stable solution!

PostPosted: Tue Jan 05, 2016 9:01 am
by jameszhow1985
Have you linearized your model ? Looks like your model have been linearized. If so, the model command should be model(linear) and the equation of your monetary policy is weird, you must miss something because the right side of this equation is not zero at steady state.

Re: No stable solution!

PostPosted: Tue Jan 05, 2016 10:08 am
by gzkr
In the paper, authors log-linearized the key optimality conditions. I corrected model(linear) but I have some questions;

1st question:For example; simple linear interest rate rule rt = r + φπ*πt and r is stated as steady state nominal interest rate and therefore variables in this equation is not the log deviations from the steady state but rest of my equations log linearized. How should I change this equation?

2nd question:
-----for example for capital accumulation equation we write;

k=delta*i+(1-delta)*k(-1) so that dynare understands k is endo. state variable.

-----now, in the paper that I am trying to replicate I have

bt+1 = (1+ρ) (bt + gt − tt) this equation . But also

gt = ρ.gt−1 + εt.

So; do I have to write

b=(1+rho)*(b(-1)+g(-1)-t) like this or do I have to write like b=(1+rho)*(b(-1)+g-t) that?

Thank you for answering my question. I am totally new in dynare and I have been working on this project for 2 weeks and still I couldnt understand what I am doing wrong.

Re: No stable solution!

PostPosted: Sun Jan 10, 2016 5:12 pm
by jpfeifer
1. This is a common problem that e.g. occurs in the context of Gali's textbook. If you do it consistently, you can either drop the constant in the Taylor rule to make it mean 0 as presumably in all other equations or, if the constant should be there, set
Code: Select all
initval;
rt=r;
end;

and similarly for other variables with the constant. See also https://github.com/JohannesPfeifer/DSGE_mod/blob/master/Gali_2008/Gali_2008_chapter_3.mod and in particular the header

2. Dynare's timing convention is to assign the timing when a variable is decided. According to your equation, b_{t+1} is perfectly determined at time t, i.e. it is a predetermined state variable. That means you need to shift it by one period. However, gt is determined at time t as well due to the exogenous shock. You must not shift it. Thus, you should have
Code: Select all
 b=(1+rho)*(b(-1)+g-t)

Alternatively, use the timing as in the paper and the
Code: Select all
predetermined_variables

command (see the manual)