Hi!
I use the command ramsey_policy to find the optimal level of the policy instrument. The level that I get is very random . It is very sensitive to its initial level. In addition, the level that I get does not correspond to the maximal level of welfare at the steady state. I have to put options_.solve_tolf = 1e-2 in order to get the optimal level. However, the level of welfare associated is not equal to the level that I find when I don’t use the command ramsey_model for the same level of the instrument.
I use a NK model with pollution. The policy instrument is the carbon tax (tau_e). The welfare at the steady state is given by Welfare = (C^(1-zeta)/(1-zeta)- eta*L^(1+sigma)/(1+sigma))/(1-beta)
.
Could you please help me to figure out how to solve this issue?
no_policy_variables.mat (369 Bytes)
Ramsey.mod (7.6 KB)
solve_Z.m (1.0 KB)
Can you elaborate on where exactly you encounter issues? If I crank up the steady state tolerance I seem to get a consistent level of the instrument.
solve_Z.m (1.0 KB)
Ramsey.mod (7.8 KB)
no_policy_variables.mat (369 Bytes)
When I run the code with options_.solve_tolf = 1e-8
, I obtain the following value for my instrument: tau_e = 0.00178356, which is associated with a welfare level of -731.745.
However, when I set options_.solve_tolf = 1e-2
, the value of the instrument changes significantly to tau_e = 0.105582, with an associated welfare level of -729.80. In both cases, the initial value is the same, set at 0.42. If I change this initial value, for instance to 0.3, the resulting instrument value becomes tau_e = 0.0673492. This indicates that the outcome is highly sensitive to the initial value of the instrument.
On the other hand, when options_.solve_tolf = 1e-8
, the result appears to be independent of the initial value of the instrument. However, this outcome is not optimal, as the resulting tau_e value is very low, and I can improve welfare at the steady state by increasing tau_e.
The steady state will of course be sensitive to the initial value if the solver has a low tolerance. As soon as you come close enough, it will stop, regardless of whether it could still come closer to the actual steady state.
Can you elaborate on:
How did you compare the welfare values? And how large is the difference?
I used a loop over tau_e and then plot the welfare as a function of tau_e. The level that maximises the welfare is more than 10% while it’s 0.1% when I use the command ramsey_model.
But how did you close the model then? Treat tau_e
as a fixed constant?
Yes. I treated tau_e as a constant and I changed its level. Then I calculate the level of the welfare for associated to each level of tau_e.