1. This is a tricky issue. What Dynare does when using Ramsey, does not 100% coincide with what Woodford defines as "timeless perspective" (but rather with what other people have taken that concept to mean). Dynare will construct a Lagrangian where the initial Lagrange multiplier is honored, i.e. not automatically set to 0. t0 optimal policy would differ here, because in the first period the inherited Lagrange multiplier is set 0, which then introduces time-dependence, because the solution will depend on how far you are away from the first period.
Because with Dynare's Ramsey implementation you get a time-invariant problem where the initial multiplier is honored, you get the same results as e.g. Schmitt-Grohe/Uribe (2005): "Optimal Monetary and Fiscal Policy in a Medium-Scale Macroeconomic Model", which they call "timeless perspective" with a reference to Woodford, when the initial multiplier is set to steady state. As my mod-file shows, you also effectively get the result that Woodford envisions. The reason is that we set the initial multiplier to the steady state (or to 0 if desired), depending on what we want and then continue with the time-invariant policy from there. Thus, for practical purposes, Dynare always does "timeless perspective".
However, Woodford's actual definition is somewhat broader in that it tells you how the initial multiplier has to look like (instead of simply picking 0 or the steady state). For example, Woodford's concept would tell you how to continue with your Ramsey policy when e.g. the model changes. Dynare cannot do this, because that concept cannot generally be operationalized. Because we do not generally know the initial multiplier prescribe by his concept, we either choose 0 or the steady state (or whatever you want it to be). That's where the concepts differ.
But I admit that difference is subtle and not important for most researchers.
We are in the process of updating the respective part of the manual:
https://github.com/DynareTeam/dynare/pull/11392. Yes, in the perfect foresight context, you would need to set the initial multiplier to 0, but we don't have an interface for that yet. So I went the manual route. We are working on providing access to setting the initial multipliers via initval. For now you could simply manipulate
- Code: Select all
oo_.endo_simul
by hand:
- Code: Select all
ramsey_model(planner_discount=0.99);
steady;
perfect_foresight_setup(periods=50);
oo_.endo_simul(:,1)=0;
perfect_foresight_solver;
instead of
- Code: Select all
ramsey_model(planner_discount=0.99);
steady;
simul(periods=50);
That will set the Lagrange multiplier (which was set to its steady state for the timeless perspective via steady) to 0 in the initial period. You can verify that this give the same result as the
- Code: Select all
Ramsey_policy_t0_optimal
part I implemented.