Releases: tholden/dynareOBC
DynareOBC v3.31.55.1974
This is a bug-fix release addressing incompatibilities between the latest version of Gurobi, and the previous version of YALMIP.
It also updates the options used with MATLAB Coder to avoid various warnings.
Finally, this release updates various dependencies, including Opti.
DynareOBC v3.30.54.1968
This is a minor release fixing a bug in release packaging.
Previous releases were missing MATLAB code from several example directories, including RunExample.m
scripts.
DynareOBC v3.30.53.1962
This version introduces a new option OtherMODFile
for specifying an additional MOD file based on the same model as the original one, but solved around an alternative steady-state. If this OtherMODFile
is provided, then when DynareOBC encounters an impossible problem during simulation (not IRFs), it will switch to the alternate MOD file, i.e. the agents in the model will switch their beliefs about the steady state to which they expect to converge in the long run. This switching can also happen exogenously at random, controlled by the OtherMODFileSwitchToProbability
and OtherMODFileSwitchFromProbability
options. One caveat is warranted though: even when Cubature
is enabled, the agents in the model will not be assigning positive probability to the possibility of a switch of steady states. Thus this may only be a crude approximation to rational behaviour.
An example of the use of these command is included in the script RunMultipleSteadyStatesExample.m
within the Examples\FernandezVillaverdeEtAl2015
subdirectory. This is an NK example with the main MOD file NKNonDeflationary.mod
solved around the standard (positive inflation) steady state, and the additional MOD file NKDeflationary.mod
solved around the deflationary steady state, with the indeterminacy resolved following the approach of Farmer, Khramov & Nicolò (2015).
This version also introduces a SkipAllSimulation
option, which does what it says on the tin. It also fixes a minor issue where parallel pools were opened unnecessarily in some circumstances.
DynareOBC v3.21.52.1942
This is a minor release with some slight improvements to the previous one, along with fixes for a few small issues from previous releases. Changes in this version include:
- a new example, Adam & Billi (2006) to demonstrate the new cubature options, as well as how to recover policy rules (based on code provided by Shifu Jiang);
- fixing
InitialStateFile
which should never have required the user to provide values for variables other than the original endogenous variables; - fixing parallelization of simulations which was being inadvertently disabled in some situations;
- a new option to disable restoring the original path,
NoRestorePath
; - not clearing the workers after a DynareOBC run with
NoPoolClose
, - a new option to control clustering effort
CubatureClusteringEffort
, with a faster default option.
The release notes from the last release are below.
This release contains major changes to the cubature algorithm.
DynareOBC now always starts by drawing large numbers of points via QMC. Of these, many will not hit the bound, and can be discarded. Of the remaining, DynareOBC optionally performs an initial clustering step to divide them into regions, controlled by the CubatureRegions
option. Then for each region, it either integrates with a rule exact for linear functions (if CubatureCATCHDegree=0
) or with a rule exact for all monomials in q
and min{0,q}
with degree less or equal to the given CubatureCATCHDegree
.
Running DynareOBC with the Cubature
option without changing the defaults for CubatureRegions
or CubatureCATCHDegree
produces a one-point integration rule which should be almost as fast as using no-cubature at all.
Please see the read-me for the full set of new cubature options.
This release also contains a few other minor changes. (New option NoPoolClose
. Using 2 threads for Gurobi and CLP even when MultiThreadBoundsProblem
or MultiThreadCubatureRuleCreation
are not on. Improvements to progress messages.)
DynareOBC v3.20.51.1926
This release contains major changes to the cubature algorithm.
DynareOBC now always starts by drawing large numbers of points via QMC. Of these, many will not hit the bound, and can be discarded. Of the remaining, DynareOBC optionally performs an initial clustering step to divide them into regions, controlled by the CubatureRegions
option. Then for each region, it either integrates with a rule exact for linear functions (if CubatureCATCHDegree=0
) or with a rule exact for all monomials in q
and min{0,q}
with degree less or equal to the given CubatureCATCHDegree
.
Running DynareOBC with the Cubature
option without changing the defaults for CubatureRegions
or CubatureCATCHDegree
produces a one-point integration rule which should be almost as fast as using no-cubature at all.
Please see the read-me for the full set of new cubature options.
This release also contains a few other minor changes. (New option NoPoolClose
. Using 2 threads for Gurobi and CLP even when MultiThreadBoundsProblem
or MultiThreadCubatureRuleCreation
are not on. Improvements to progress messages.)
DynareOBC v3.10.50.1899
This releases introduces preliminary support for Dynare 4.6.x.
At present, I still do not recommend you use Dynare 4.6.x, as:
- Results with Dynare 4.6.x may be incorrect in some circumstances.
- Under Dynare 4.6.x there is no support for MLV simulation.
Nonetheless, it would be good if users could experiment with using DynareOBC and Dynare 4.6.x and let me know in the discussion for issue #18 if they encounter any problems.
This release also fixes issue #14, which related to the incorrect processing of model files with variable name tags.
It also a fixes a bug coming from changes in MATLAB's rules for nested for loops within parfor loops, which was causing problems with SlowIRFs.
One final note: with this release, I'm expanding the version number format. The new format is as follows:
v[Major].[Fairly major][Minor].[Sequential release number].[Commit number]
DynareOBC v3.03.1877
This is a minor release.
This release updates various examples to ensure that there is code to generate all figures and results from the paper and its appendices. It also makes minor presentational changes to one test.
Furthermore, the paper and its appendix have been substantially updated.
Additionally, this release updates various external packages that are included in DynareOBC.
DynareOBC v3.02.1845
This is a minor bug fix release. The following issues have been addressed:
- There could be an error about incorrect matrix sizes within
DoubleDouble
in certain edge cases. - Multiple nested constraints sometimes resulted in incorrectly generated code.
- Optimizer generation could fail on old versions of MATLAB with multiple constraints.
- DynareOBC would refuse to simulate models without OBCs if they had leads or lags greater than one.
- The
NoClearAll
option failed if it was not all lower case. - The help text obtained by running
DynareOBC
was double spaced. - Results with
FirstOrderAroundRSS
orFirstOrderAroundMean
may have been incorrect (unclear: based on a change from upstream code with minimal consequences). SimulateOnGridPoints
would fail on multiple core machines as a pool was not being started.
Additionally, three new internal options were added, LeadConstraint
, IRFsForceAtBoundIndices
and IRFsForceNotAtBoundIndices
. These are deliberately not being documented at this point.
Finally, the paper has been updated, along with various sub-modules.
DynareOBC v3.01.1814
This is a minor bug fix release. Chiefly, this fixes a typo in the code for "fast" IRFs which was causing blocking errors with certain options. This release also updates YALMIP.
The release notes for the previous major release follow below.
This is a major new release incorporating improvements along many dimensions.
The major changes are detailed below:
- This release now saves IRFs and simulation paths in the base workspace as well, for greater compatibility with Dynare.
- This release now runs any MATLAB code in the MOD file after the
stoch_simul
command, for greater Dynare compatibility. - A new option
MinParametricSolutionParallelisationDimension
has been added allowing one to control when the generation of a parametric solution is parallelized. By default it is now no longer parallelized, speeding up performing small tasks with DynareOBC. - A new option
SkipQuickPCheck
to skip the "quick" check of the contiguous sub-matrices of M. - Support for generating IRFs with
MLVSimulationMode=1
withoutSlowIRFs
. - New examples: Guerrieri and Iacoviello (2017) and Adjemian, Daracq Paries Moyen (2007).
- New code for running all and each example.
- Cleaner organisation of the examples directory, with some moved to Tests.
- A heavily reworked theory paper.
Additionally, this release has the following fixes:
- Corrected links to redistributables in the readmes.
- An epsilon correction to the limit of diagonals criterion.
- Improvements and clarifications to various messages providing model diagnostics.
- Further comments about the experimental status of the estimation code.
- A bug fix to the display of moments when there are none to display.
- Updated folder names for the examples which have been subsequently published.
- Updated ReplicationDetails for the models now in Tests.
- Minor corrections to the Smets Wouters (2003) MOD files.
- Tidying up of the Fernandez-Villaverde et al (2015) MOD files, with the transformation engine now in one sub-folder, and other MOD includes in another.
- Changed the MOD files for the Boneva Braun Waki (2016) model to use the calibration from the published version, not the older working paper.
- Better handling of failures of the Blanchard Kahn conditions.
- Assorted speed-ups, particularly when running diagnostics with large
TimeToEscapeBounds
. - Supressed some warnings coming from Dynare's use of
clear all
. - Cleaned up formatting of M and MOD files throughout.
- Minor improvements to ReadMe text.
- A fix for the MLV simulation of purely forward looking models.
DynareOBC v3.00.1811
This is a major new release incorporating improvements along many dimensions.
The major changes are detailed below:
- This release now saves IRFs and simulation paths in the base workspace as well, for greater compatibility with Dynare.
- This release now runs any MATLAB code in the MOD file after the
stoch_simul
command, for greater Dynare compatibility. - A new option
MinParametricSolutionParallelisationDimension
has been added allowing one to control when the generation of a parametric solution is parallelized. By default it is now no longer parallelized, speeding up performing small tasks with DynareOBC. - A new option
SkipQuickPCheck
to skip the "quick" check of the contiguous sub-matrices of M. - Support for generating IRFs with
MLVSimulationMode=1
withoutSlowIRFs
. - New examples: Guerrieri and Iacoviello (2017) and Adjemian, Daracq Paries Moyen (2007).
- New code for running all and each example.
- Cleaner organisation of the examples directory, with some moved to Tests.
- A heavily reworked theory paper.
Additionally, this release has the following fixes:
- Corrected links to redistributables in the readmes.
- An epsilon correction to the limit of diagonals criterion.
- Improvements and clarifications to various messages providing model diagnostics.
- Further comments about the experimental status of the estimation code.
- A bug fix to the display of moments when there are none to display.
- Updated folder names for the examples which have been subsequently published.
- Updated ReplicationDetails for the models now in Tests.
- Minor corrections to the Smets Wouters (2003) MOD files.
- Tidying up of the Fernandez-Villaverde et al (2015) MOD files, with the transformation engine now in one sub-folder, and other MOD includes in another.
- Changed the MOD files for the Boneva Braun Waki (2016) model to use the calibration from the published version, not the older working paper.
- Better handling of failures of the Blanchard Kahn conditions.
- Assorted speed-ups, particularly when running diagnostics with large
TimeToEscapeBounds
. - Supressed some warnings coming from Dynare's use of
clear all
. - Cleaned up formatting of M and MOD files throughout.
- Minor improvements to ReadMe text.
- A fix for the MLV simulation of purely forward looking models.