Wrong forecasts
Posted: Wed Jun 16, 2010 4:19 pm
Hello,
I have a problem. I get different forecasts for the same model and I do not know why. They only differ in the way, the consumption tax is introduced (mathematically, it is equivalent):
In model 1, I use the expression (e_c+t) in all equations.
In model 2, I use the expression t_c in all equations. t_c is later defined as e_c+t.
Model 1 (wrong forecasts):
Model 2 (right forecasts):
Does anyone know why Dynare computes different forecasts?
I am thankful for any help,
best regards,
Niklas
I have a problem. I get different forecasts for the same model and I do not know why. They only differ in the way, the consumption tax is introduced (mathematically, it is equivalent):
In model 1, I use the expression (e_c+t) in all equations.
In model 2, I use the expression t_c in all equations. t_c is later defined as e_c+t.
Model 1 (wrong forecasts):
- Code: Select all
%----------------------------------------------------------------
% 1. Defining variables
%----------------------------------------------------------------
var w d k n y x c z t s;
varexo_det e_c;
varexo e;
parameters beta alpha delta phi rho;
%----------------------------------------------------------------
% 2. Calibration
%----------------------------------------------------------------
phi = 0.38;
beta = 0.99;
delta = 0.0175;
alpha = 0.319;
rho = 0.95;
%----------------------------------------------------------------
% 3. Model
%----------------------------------------------------------------
model;
// Household
((1-alpha)/alpha)*(c/(1-n)) = w/(1+e_c+t); /*consumption-leisure tradeoff*/
alpha*c^(-1)/(1+e_c+t) = beta*(alpha*(c(+1))^(-1)*(1+d(+1)-delta))/(1+e_c(+1)+t(+1)); /*Euler equation*/
(1+e_c+t)*c + x = s + n*w + d*k(-1); /*budget constraint*/
k = k(-1)*(1-delta) + x; /*capital accumulation*/
// Firm
y = exp(z)*(k(-1)^phi)*n^(1-phi);
w = (1-phi)*y/n;
d = phi*y/k(-1);
// Government
t = 0.2;
s = (e_c+t)*c; /*Tax revenues from consumption taxation are redistributed through transfers s */
// Shocks (not important)
z = rho*z(-1) + e;
end;
%----------------------------------------------------------------
% 4. Computation
%----------------------------------------------------------------
initval;
w = 3.09316;
d = 0.027601;
k = 16.6054;
n = 0.241758;
y = 1.20612;
x = 0.290595;
c = 0.915528;
z = 0;
t = 0.2;
s = 0.183106;
end;
shocks;
var e = 0;
var e_c;
periods 21:500;
values -0.01;
end;
steady;
stoch_simul(periods = 501, order = 1);
forecast;
Model 2 (right forecasts):
- Code: Select all
%----------------------------------------------------------------
% 1. Defining variables
%----------------------------------------------------------------
var w d k n y x c z t s t_c;
varexo_det e_c;
varexo e;
parameters beta alpha delta phi rho;
%----------------------------------------------------------------
% 2. Calibration
%----------------------------------------------------------------
phi = 0.38;
beta = 0.99;
delta = 0.0175;
alpha = 0.319;
rho = 0.95;
%----------------------------------------------------------------
% 3. Model
%----------------------------------------------------------------
model;
// Household
((1-alpha)/alpha)*(c/(1-n)) = w/(1+t_c); /*consumption-leisure tradeoff*/
alpha*c^(-1)/(1+t_c) = beta*(alpha*(c(+1))^(-1)*(1+d(+1)-delta))/(1+t_c(+1)); /*Euler equation*/
(1+t_c)*c + x = s + n*w + d*k(-1); /*budget constraint*/
k = k(-1)*(1-delta) + x; /*capital accumulation*/
// Firm
y = exp(z)*(k(-1)^phi)*n^(1-phi);
w = (1-phi)*y/n;
d = phi*y/k(-1);
// Government
t_c = t + e_c; /*t_c is defined as in model 1*/
t = 0.2;
s = t_c*c; /*Tax revenues from consumption taxation are redistributed through transfers s */
// Shocks (not important)
z = rho*z(-1) + e;
end;
%----------------------------------------------------------------
% 4. Computation
%----------------------------------------------------------------
initval;
w = 3.09316;
d = 0.027601;
k = 16.6054;
n = 0.241758;
y = 1.20612;
x = 0.290595;
c = 0.915528;
z = 0;
t = 0.2;
s = 0.183106;
end;
shocks;
var e = 0;
var e_c;
periods 21:500;
values -0.01;
end;
steady;
stoch_simul(periods = 501, order = 1);
forecast;
Does anyone know why Dynare computes different forecasts?
I am thankful for any help,
best regards,
Niklas