|
|
# Breaking features in version 5
|
|
|
|
|
|
Version 5 brings many improvements but also a few potentially breaking changes. We most strongly encourage you modify your own code to comply with the new version. Relying on an older version of Dynare to run your own code may seem as a gain of time in the short term but will lead to more problems later. Note also that possible bugs found later in version 4.6.4 won't be fixed in that version. We expect users to run version 5 from now on.
|
|
|
|
|
|
## Changes related to `evaluate_planner_objective`
|
|
|
|
|
|
The `evaluate_planner_objective`-command has been thoroughly reworked. It now
|
|
|
1. applies a consistent approximation order to both the planner objective and the model solution. As a consequence, the numerical values will differ from what previous versions would return.
|
|
|
2. allows to compute both conditional and unconditional welfare.
|
|
|
3. supports `perfect_foresight`-simulations.
|
|
|
|
|
|
With these changes comes a difference in the way the output is stored. Before version 5, `oo_.planner_objective` was a 2 by 1 vector storing conditional welfare for steady state and zero Lagrange multipliers, respectively. Starting with version 5, `oo_.planner_objective` will be a structure with subfields:
|
|
|
1. `oo_.planner_objective_value.unconditional`: a scalar storing the value of unconditional welfare. In a perfect foresight context, it corresponds to welfare in the long-run, approximated as welfare in the terminal simulation period.
|
|
|
2. `oo_.planner_objective_value.conditional`: In a perfect foresight context, this field will be a scalar storing the value of welfare conditional on the specified initial condition and zero initial Lagrange
|
|
|
multipliers.
|
|
|
|
|
|
In a stochastic context, it will have two subfields:
|
|
|
|
|
|
1. `oo_.planner_objective_value.conditional.steady_initial_multiplier`: Stores the value of the
|
|
|
planner objective when the initial Lagrange multipliers associated with the planner’s problem are
|
|
|
set to their steady state values.
|
|
|
2. `oo_.planner_objective_value.conditional.zero_initial_multiplier`: Stores the value of the planner
|
|
|
objective when the initial Lagrange multipliers associated with the planner’s problem are set to 0,
|
|
|
i.e. it is assumed that the planner exploits its ability to surprise private agents in the first
|
|
|
period of implementing Ramsey policy.
|
|
|
|
|
|
## Changes related to the Dynare's storage of output
|
|
|
|
|
|
Starting with version 5, Dynare will generally save its output in the `MODFILENAME/Output`-folder (or the `DIRNAME/Output`-folder if the `dirname`-option was specified) instead of the main directory. Most importantly, this concerns the `_results.mat` and the `_mode.mat`-files. Users are therefore required to change the paths when trying to load these files. For example,
|
|
|
```
|
|
|
estimation(mode_file='fs2000_mode',...)
|
|
|
```
|
|
|
will in version 5 be
|
|
|
```
|
|
|
estimation(mode_file='fs2000/Output/fs2000_mode',...)
|
|
|
``` |