# Dynamic optimal tax

**URL:** <https://forum.dynare.org/t/dynamic-optimal-tax/27459>\
**Category:** Optimal Policy\
**Created:** [17 April 2025 08:53 UTC](https://forum.dynare.org/t/dynamic-optimal-tax/27459 "2025-04-17T08:53:00Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![Random.t](https://forum.dynare.org/letter_avatar_proxy/v4/letter/r/eada6e/32.png) [@Random.t](https://forum.dynare.org/u/Random.t)\
**Post date:** [17 April 2025 08:53 UTC](https://forum.dynare.org/t/dynamic-optimal-tax/27459/1 "2025-04-17T08:53:00Z")

</div>

Hi all,

when I run perfect foresight exercises I notice that the variable wrt I specify the transition (from an initial steady state with no tax to a final one with a tax\>0) jumps in the second period and remains constant while all the other variables adjust dynamically. In the same way, Ramsey problems give me a Ramsey steady state and I can compute optimal responses to shocks wrt that optimal steady state, if I have not got it wrong.

My question is: is it possible in dynare to get a dynamic optimal tax, as it is done in papers like Barrage (2020) for optimal dynamic carbon taxes?

I should couple a perfect foresight exercise to have a transition, with the arrival steady state being the one from the Ramsey problem and compute for each time period the wedges wrt to a trasnsition arriving at a steady state without a tax?

Thank you

---

<div class="post-metadata">

**Author:** ![jpfeifer](https://forum.dynare.org/user_avatar/forum.dynare.org/jpfeifer/32/5044_2.png) [@jpfeifer](https://forum.dynare.org/u/jpfeifer)\
**Post date:** [17 April 2025 09:21 UTC](https://forum.dynare.org/t/dynamic-optimal-tax/27459/2 "2025-04-17T09:21:39Z")

</div>

Why don’t you simply compute the fully optimal Ramsey tax policy?

---

<div class="post-metadata">

**Author:** ![Random.t](https://forum.dynare.org/letter_avatar_proxy/v4/letter/r/eada6e/32.png) [@Random.t](https://forum.dynare.org/u/Random.t)\
**Post date:** [17 April 2025 09:38 UTC](https://forum.dynare.org/t/dynamic-optimal-tax/27459/3 "2025-04-17T09:38:49Z")

</div>

Can this be handled in a planner\_objective/ramsey\_policy setup? By doing this, I only get a Ramsey steady state. Provided that the tax is not constant, how can I obtain the full Ramsey plan, which is basically a time series for the tax?

---

<div class="post-metadata">

**Author:** ![jpfeifer](https://forum.dynare.org/user_avatar/forum.dynare.org/jpfeifer/32/5044_2.png) [@jpfeifer](https://forum.dynare.org/u/jpfeifer)\
**Post date:** [17 April 2025 09:51 UTC](https://forum.dynare.org/t/dynamic-optimal-tax/27459/4 "2025-04-17T09:51:06Z")

</div>

It should be. If you have an objective, you can have Dynare compute the optimal tax schedule (which becomes an endogenous variable).

---

<div class="post-metadata">

**Author:** ![Random.t](https://forum.dynare.org/letter_avatar_proxy/v4/letter/r/eada6e/32.png) [@Random.t](https://forum.dynare.org/u/Random.t)\
**Post date:** [17 April 2025 11:17 UTC](https://forum.dynare.org/t/dynamic-optimal-tax/27459/5 "2025-04-17T11:17:52Z")

</div>

[trial.mod](https://forum.dynare.org/uploads/short-url/nkimaixzqV63sQIhpMpoh1yq60H.mod) (7.0 KB)  
[trial\_steadystate.m](https://forum.dynare.org/uploads/short-url/y4ZsrUdzT6P2tEpzLmxBu8sKXTr.m) (2.5 KB)  
[findsstrial.m](https://forum.dynare.org/uploads/short-url/5NFHVRMFN0TcmSHNjxNH61xxmP1.m) (1.5 KB)  
This cods runs, but it does not give me a full ramsey plan; if I complement the Ramsey block with a simul() command, or a perfect\_foresight set up to make the model economy converge to the optimal steady state, I do not obtain a real dynamic tax schedule, but just an arbitrarily long series of steady state allocations (so a flat line for the tax, set at the Ramsey steady state level); that’s basically my problem. How to deal with it in dynare?

---

<div class="post-metadata">

**Author:** ![jpfeifer](https://forum.dynare.org/user_avatar/forum.dynare.org/jpfeifer/32/5044_2.png) [@jpfeifer](https://forum.dynare.org/u/jpfeifer)\
**Post date:** [17 April 2025 11:37 UTC](https://forum.dynare.org/t/dynamic-optimal-tax/27459/6 "2025-04-17T11:37:53Z")

</div>

But what is the transition experiment you have in mind?

---

<div class="post-metadata">

**Author:** ![Random.t](https://forum.dynare.org/letter_avatar_proxy/v4/letter/r/eada6e/32.png) [@Random.t](https://forum.dynare.org/u/Random.t)\
**Post date:** [17 April 2025 15:35 UTC](https://forum.dynare.org/t/dynamic-optimal-tax/27459/7 "2025-04-17T15:35:00Z")

</div>

Dear Professor,  
it is not necessairly a transition; I was thinking about doing it as a transition exercise but maybe it is not the appropriate setting.

The planner maximises lifetime utility under resource constraints, implementability constraint and law of motion for state variables and I am trying to obtain the full Ramsey plan through which the planner’s allocation can be decentralised as a competitive equilibrium in each time period.

It is a kind of dynamic optimal taxation problem as in Barrage (2020), equation 3.1 in her paper is an optimal dynamic tax schedule. I am wondering if it is feasible in dynare

Thank you

---

<div class="post-metadata">

**Author:** ![jpfeifer](https://forum.dynare.org/user_avatar/forum.dynare.org/jpfeifer/32/5044_2.png) [@jpfeifer](https://forum.dynare.org/u/jpfeifer)\
**Post date:** [17 April 2025 19:29 UTC](https://forum.dynare.org/t/dynamic-optimal-tax/27459/8 "2025-04-17T19:29:50Z")

</div>

I currently don’t have access to that paper. But I don’t understand the exercise you have in mind. Dynare will compute the Ramsey taxation plan, but unshocked the system will simply stay at its steady state.
