Hello Dynare programmers,
I am currently working with a highly non-linear energy model, and I am trying to obtain the transition dynamics to a perfect foresight deterministic shock. Specifically, I want to increase emission taxes linearly for 32 years and keep the tax value constant after period 32.
I have encountered some difficulties with the nonlinear solver while trying to obtain the solution for the required size of the shock, and I have only been able to obtain a solution for a shock about one-third of the required size.
To verify my results, I compared the nonlinear solution with the one obtained using the ‘linear_approximation’ option, which first linearizes the model. They are almost identical. I then used the ‘linear_approximation’ option to obtain the solution for the required shock size, which I believe should be very similar to the nonlinear solution.
My first question is: Am I correct in assuming that the linearized solution should be very similar to the nonlinear solution for the type of simulation I am doing?
My second question is a bit more tricky. I noticed that the dynamic solution I obtained for the first 10 periods is significantly different when I implement the perturbation using a transitory shock lasting 400 periods (in which the exogenous variable increases linearly during the first 32 periods and remains constant afterward) compared to when I use the ‘endval’ for a permanent shock combined with the same transitory shock.
Given the long duration of the transitory shock, I expected the impact of the perfect foresight exogenous variable after period 400 to have a negligible effect on the dynamic solution for the first 10 periods. However, the difference between the two methods is significant. Additionally, the solution for the long-lasting transitory shock is mathematically inconsistent. Specifically, when I feed one equation of the model with the dynamic solution of the implied endogenous variables, the values I obtain for the endogenous variables in the left-hand side do not coincide with those displayed by Dynare.
Therefore, my second question is: Why am I obtaining very different solutions between the two methods, and why is the solution for the long-lasting transitory shock mathematically inconsistent?
More formally, shocking the model as in (A) or (B) below displays very different solutions:
(A) minc = 61.43*3.67/1000; % Baseline
endval;
tauini = minc;
end;
steady;
shocks;
var tauini;
periods 1:32 33:400;
values (linspace(0,minc,32)) (linspace(minc,minc,400-32));
end;
(B) minc = 61.43*3.67/1000; % Baseline
shocks;
var tauini;
periods 1:32 33:400;
values (linspace(0,minc,32)) (linspace(minc,minc,400-32));
end;
I provide the files you need to run the model.
Thank you in advance for your very useful comments.
param_g_b.mat (375 Bytes)
ss_g_b.mat (536 Bytes)
Model_g_b_emission_tax_help.mod (11.9 KB)