Skip to content

Releases: tholden/dynareOBC

DynareOBC v3.30.54.1968

21 Feb 09:51
Compare
Choose a tag to compare

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

20 May 20:54
Compare
Choose a tag to compare

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

18 May 20:57
Compare
Choose a tag to compare

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

17 May 12:07
Compare
Choose a tag to compare

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

13 May 14:53
Compare
Choose a tag to compare

This releases introduces preliminary support for Dynare 4.6.x.

At present, I still do not recommend you use Dynare 4.6.x, as:

  1. Results with Dynare 4.6.x may be incorrect in some circumstances.
  2. 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

26 Sep 16:10
Compare
Choose a tag to compare

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

08 Apr 10:47
Compare
Choose a tag to compare

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 or FirstOrderAroundMean 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

29 Oct 20:26
Compare
Choose a tag to compare

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 without SlowIRFs.
  • 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

08 Oct 14:20
Compare
Choose a tag to compare

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 without SlowIRFs.
  • 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 v2.84.1664

17 Sep 17:45
Compare
Choose a tag to compare

This is chiefly a bug fix release. Previously, DynareOBC could give incorrect results on models without any lags, but with leads. Hopefully, given the ubiquity of AR(1) shock processes, this should not have had an adverse impact on anyone. Apologies if this is not the case.

Additionally, this release supports models without shocks blocks, and avoids errors when linear models are simulated at second order.