Linearization/log-linearization and steady state

Hi,
I have two questions:

1- Is linearization better than log-linearization or the other way around?

2- How does dynare treat the variables that are zero in steady state when it comes to linearization/log-linearization?

Junior

  1. The answer is: it depends. I will use an example.

Suppose you have a model in which the production function is

Y = A*K^(alfa)*L^(1-alpha)

and A is log-normal with zero mean and finite variance.

Then log-linearization is going to do a perfect job, because the model is non-linear in levels but linear in the LOG of variables, so log-linearization is going to give exact solution for the response of the variables to shocks etc…

Suppose you have another model in which the production function is

Y = A + teta*K + (1-teta)*L

and A is normal with zero mean and finite variance. Then linearization is going to do an excellent job, because the model is linear in the LEVELS of the variables.

  1. If the level of a variable is zero in steady state, one cannot log-linearize around a zero level (typical example: bond positions in two country models of the business cycle). In cases like this, it is better (if not necessary) to linearize the variables which are zero in steady state (and maybe log-linearize the others).

Thanks Matteo

Junior

Do you have examples of such a dynare code?

Antti

//% Two country model with borrowing and lending and small quadratic cost
//% of adjusting bond positions around zero
//% Log utility over consumption
//% Cost is PHY*b1^2

var c1 c2 b1 y1 y2 R ;
varexo e1 e2;

parameters BETA RHO PHY;

BETA=.98;
RHO=.85;
PHY=.01;

model;
exp(c1) = exp(y1) + b1 - R(-1)b1(-1) - PHYb1^2 ;
exp(c2) = exp(y2) - b1 + R(-1)b1(-1) - PHY(-b1)^2 ;
//% b1 + b2 = 0 ;
exp(c1) = BETARexp(c1(+1))(1-2PHYb1exp(c1)) ;
exp(c2) = BETARexp(c2(+1))(1-2PHY*(-b1)exp(c2)) ;
y1=RHO
y1(-1)+e1;
y2=RHO*y2(-1)+e2;
end;

initval;
y1=1;
y2=1;
c1=1;
c2=1;
b1=0;
//% b2=0;
e1=0;
e2=0;
end;

shocks;
var e1; stderr 1;
var e2; stderr 1;
end;

steady;

stoch_simul(dr_algo=0,order=1,periods=200);

An example is above. I am not sure it is exactly what you would like, but should give the idea. Notice that consumption c1 and c2 and output y1 and y2 are in logs, whereas the bond position is in levels. Steady state output and consumption are 1.