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)