Difference between parameter and varexo

Hi,

Please find my code below. Basically it’s a neoclassical growth model with gradual, permanent decrease in gov’t expenditures. The model works fine using tc (taxes on capital) as a parameter = 0.077. However, when I change all tc in the model block to tc_, which is set here as an exogenous variable equals to 0.077 for all periods, I get a different result. (I need to do this to exogenously change the tax rate later on, but I want this to work first.) Am I doing something wrong?

Thank you so much.

var y c k i l R;
parameters beta sigma1 sigma2 delta alpha tc tl tk g;
varexo g_ tc_ tk_;

beta = 0.95;
sigma1 = 1;
sigma2 = 2;
delta = 0.2;
alpha = 0.33;
tc = 0.077;
tl = 0.225;
tk = 0.1841;
g = 0;

model;

c^(-sigma1) = beta * c(+1)^(-sigma1) * R(+1);
R = (1+tc)/(1+tc(+1)) * ((1-delta) + (1-tk) * alpha * (k/l(+1))^(alpha-1));
l^sigma2 / c^(-sigma1) = (1-tl)/(1+tc) * (1-alpha) * (k(-1)/l)^alpha;
y = k(-1)^alpha * l^(1-alpha);
i = k - (1-delta)*k(-1);
y = c + i + g_;

end;

initval;
y = 0.961754315839742;
c = 0.756752705525103;
k = 1.02500805157319;
i = 0.205001610314638;
l = 0.932049537121580;
R = 1.05263157912018;
end;

steady;
check;

shocks;
var g_;
periods 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20:2000;
values
-0.000480876356550693
-0.000961752713101385
-0.00144262906965208
-0.00192350542620277
-0.00240438178275346
-0.00288525813930416
-0.00336613449585485
-0.00384701085240554
-0.00432788720895623
-0.00480876356550693
-0.00528963992205762
-0.00577051627860831
-0.00625139263515900
-0.00673226899170970
-0.00721314534826039
-0.00769402170481108
-0.00817489806136177
-0.00865577441791247
-0.00913665077446316
-0.00961752713101385;
var tc_;
periods 1:2000;
values 0.077;
end;

simul(periods = 2000);

The reason is that when tk_ is an exogenous variable, it has mean 0 by construction. Hence, the deterministic steady state is different than when having a parameter with “mean” 0.077. You would need a shock added to the parameter.