Non-linear vs. exp() vs. log-linearized models
Posted: Tue Feb 21, 2012 3:57 pm
Dear all,
I am confused by the different ways of proceeding to solve a DSGE model (a small open economy) in Dynare and to calculate the steady state.
1. The first way by which I try to solve the model is by inputting my non-linear equations into a .mod file and letting Dynare linearize them. An example equation:
I calculate the steady state for this model analytically. Then I initialize ss values using the initval command.
2. The second way by which I tried to solve the model is by letting Dynare log-linearize it. I enclose each variable in exp(). Now, the same equation as above becomes as follows in the .mod file:
I use the same steady state as in point 1, but in the initval block I take the log() of each ss variable to initialize.
What do I do when the steady-state of the non-linear model contain zeros? I can’t take log(0) in the initval block of the exp-model.
3. Some of you recommend log-linearizing by hand. I understand that in simple cases the steady states values are equal to zeros, but as I have sums present in my equations, in my log-linearized equations I will have both steady state variables different from zero (denoted as a capital letters with ‘bar’) and log-linearized variables (denoted as small letters with ‘hat’).
Example equations:
Does Dynare understand that c_hat means (log(c)-log(C_bar))? Or should I explicitly replace all _hat variables by the difference in logs?
How do I calculate the steady state of such a log-linearized model?
Thanks
I am confused by the different ways of proceeding to solve a DSGE model (a small open economy) in Dynare and to calculate the steady state.
1. The first way by which I try to solve the model is by inputting my non-linear equations into a .mod file and letting Dynare linearize them. An example equation:
- Code: Select all
L^mu*P=W*C^(-phi)
I calculate the steady state for this model analytically. Then I initialize ss values using the initval command.
2. The second way by which I tried to solve the model is by letting Dynare log-linearize it. I enclose each variable in exp(). Now, the same equation as above becomes as follows in the .mod file:
- Code: Select all
[exp(lL)^mu]*exp(lP)=exp(lW)*[exp(lC)^(-phi)]
I use the same steady state as in point 1, but in the initval block I take the log() of each ss variable to initialize.
What do I do when the steady-state of the non-linear model contain zeros? I can’t take log(0) in the initval block of the exp-model.
3. Some of you recommend log-linearizing by hand. I understand that in simple cases the steady states values are equal to zeros, but as I have sums present in my equations, in my log-linearized equations I will have both steady state variables different from zero (denoted as a capital letters with ‘bar’) and log-linearized variables (denoted as small letters with ‘hat’).
Example equations:
- Code: Select all
mu * l_hat + p_hat = w_hat – phi * c_hat
C_bar + C_bar * c_hat = …
Does Dynare understand that c_hat means (log(c)-log(C_bar))? Or should I explicitly replace all _hat variables by the difference in logs?
How do I calculate the steady state of such a log-linearized model?
Thanks