A collection of Dynare models. It aims at demonstrating Dynare best practices and providing tractable replication files for important models that can be useful for further model development.
The headers of the respective mod-files also note obvious mistakes and typos in the respective papers.
These mod-files have been tested against Dynare 4.6. Compatibility with earlier versions is not guaranteed. For Dynare 4.5 version, please use the 4.5 branch of this repository
Contributions of replication files to this collection are highly welcomed. When doing do, e.g. through pull requests, please clearly line out which results of the original paper are replicated so that correctness can be verified.
Replicates Ascari, Guido and Sbordone, Argia M. (2014): "The Macroeconomics of Trend Inflation", Journal of Economic Literature, 52(3), pp. 679-739.
This mod-file shows how to access steady state variables in order to plot steady state dependences on parameters. It also shows how to manually do a stability mapping be iterating over a grid on the parameter space.
Replicates Aguiar, Mark and Gopinath, Gita (2007): "Emerging Market Business Cycles: The Cycle is the Trend", Journal of Political Economy, 115(1), pp. 69-102.
This mod-file shows how to deal with trend growth and how to recover the non-stationary variables from the detrended model variables.
Replicates the Generalized Impulse Response Functions (GIRFs) at the stochastic steady/ergodic mean in the absence of shocks by Basu/Bundick (2017): "Uncertainty shocks in a model of effective demand", Econometrica, 85(3), pp. 937-958
Replicates Benjamin Born and Johannes Pfeifer (2014): "Risk Matters: A comment", American Economic Review, 104(12), pp. 4231-4239.
This mod-file shows how to estimate a model solved with third order perturbation using the
Simulated Method of Moments. It also shows how to generate IRFs at the stochastic steady state (ergodic
mean in the absence of shocks (EMAS) in the terminology of the paper). For practical purposes it is
highly recommended to use the standard Andreasen et al. (2013) pruning scheme available in Dynare's simult_.m
instead of the FGRU version in simult_FGRU.m
(see the comments in the mod-file).
Replicates Benjamin Born and Johannes Pfeifer (2018): "The New Keynesian Wage Phillips Curve: Calvo vs. Rotemberg", Macroeconomic Dynamics, 24, 2020, 1017–1041.
run_welfare_comparison_efficient_steady_state.m
and run_welfare_comparison_inefficient_steady_state.m
create
the welfare comparison between the four different labor market setups presented in Tables 4 and 5 of the paper.
The mod-file Born_Pfeifer_2018_welfare.mod
shows how to compute conditional and unconditional welfare.
run_IRF_comparison.m
creates "Figure 1: Impulse response functions to 1 percentage point
(annualized) monetary policy shock under Calvo".
Replicates the DSGE model results of Benjamin Born and Johannes Pfeifer (2020): "Uncertainty-driven business cycles: assessing the markup channel", forthcoming at Quantitative Economics. The main file is run_model_IRF_generation.m
Note that sequential calling of Dynare can cause problems on Windows if the created files are temporarily locked by other processes like e.g. cloud drive apps. We recommend not running the codes in folders synchronized by cloud drives.
Replicates Caldara, Dario and Fernandez-Villaverde, Jesus and Rubio-Ramirez, Juan F. and Yao, Wen (2012): "Computing DSGE Models with Recursive Preferences and Stochastic Volatility", Review of Economic Dynamics, 15, pp. 188-206.
This mod-file shows how to use auxiliary variables to deal with recursive preferences and expected returns.
It also shows how to use the plot_policy_fun.m
to plot the policy functions using Dynare
Replicates Chari, V.V/Kehoe, Patrick J./McGrattan, Ellen (2007), "Business Cycle Accounting", Econometrica, 75(3), pp. 781-836.
It demonstrates how to use the linearized benchmark model estimated using Maximum Likelihood to conduct the Business Cycle Accounting as is done in the paper for the 1982 recession.
Replicates the ABCD-test for the example of the permanent income model provided in Fernandez-Villaverde, Rubio-Ramirez, Sargent, and Watson (2007), "ABCs (and Ds) of Understanding VARs", American Economic Review, 97(3), pp. 1021-1026
Includes the ABCD_test.m
. Note that it tests only a sufficient condition, not
a necessary one. It would only be a necessary condition if it were conducted on a
minimal state space. However, Dynare generally does not rely on a minimal state space,
but may augment it for computational purposes. For details, see e.g. Komunjer/Ng (2011):
"Dynamic Identification of Dynamic Stochastic General Equilibrium Models", Econometrica, 79(6), 1995–2032.
Implements the baseline Classical Monetary Economy model of Jordi Galí (2008): Monetary Policy, Inflation, and the Business Cycle, Princeton University Press, Chapter 2
Implements the baseline New Keynesian model of Jordi Galí (2008): Monetary
Policy, Inflation, and the Business Cycle, Princeton University Press,
Chapter 3
Implements the optimal monetary policy under discretion exercise of Jordi
Galí (2008): Monetary Policy, Inflation, and the Business Cycle, Princeton
University Press, Chapter 5.1.1. It shows how to use the
discretionary_policy
command.
Implements the optimal monetary policy under commitment exercise of Jordi
Galí (2008): Monetary Policy, Inflation, and the Business Cycle, Princeton
University Press, Chapter 5.1.2. It shows how to use the ramsey_policy
command.
This file was written together with Lahcen Bounader. It replicates the results of the baseline sticky wage model of Jordi Galí (2010): Monetary Policy and Unemployment, Handbook of Monetary Economics, Volume 3A, Chapter 10, pp. 487-546. Please see the header of the mod-file for additional remarks.
This file was written together with Lahcen Bounader. It implements the baseline sticky wage model of Jordi Galí (2010): Monetary Policy and Unemployment, Handbook of Monetary Economics, Volume 3A, Chapter 10, pp. 487-546. When doing so, it corrects issues with the original calibration of Gali (2010). It demonstrates how in a linearized model a steady_state-file can be used to set the deep parameters of the model to satisfy calibration targets on the non-linear model. The steady_state-file takes the calibration targets and calls a numerical solver on some of the nonlinear steady state equations to get the corresponding parameters that make the steady state satisfy the targets.
Implements the baseline Classical Monetary Economy of Jordi Gali (2015): Monetary Policy, Inflation, and the Business Cycle, Princeton University Press, Second Edition, Chapter 2
Implements the baseline New Keynesian model of Jordi Gali (2015): Monetary Policy, Inflation, and the Business Cycle, Princeton University Press, Second Edition, Chapter 3
Implements the welfare analysis of Chapter 4.4 on simple rules in the baseline New Keynesian model of Jordi Gali (2015): Monetary Policy, Inflation, and the Business Cycle, Princeton University Press, Second Edition.
Implements the optimal monetary policy under discretion exercise of Jordi Gali (2015): Monetary Policy, Inflation,
and the Business Cycle, Princeton University Press, Second Edition, Chapter 5.2.1. It shows how to use the
discretionary_policy
command.
Implements the optimal monetary policy under commitment exercise of Jordi Gali (2015): Monetary Policy, Inflation,
and the Business Cycle, Princeton University Press, Second Edition, Chapter 5.2.2. It shows how to use the ramsey_policy
command.
Implements the optimal monetary policy at the ZLB under discretion exercise
Jordi Gali (2015): Monetary Policy, Inflation, and the Business Cycle, Princeton University Press, Second Edition,
Chapter 5.4.1. It shows how to solve a perfect foresight model with a Levenberg-Marquardt mixed complementarity problem (lmmcp)
approach to deal with the zero lower bound on interest rates.
Implements the optimal monetary policy at the ZLB under commitment exercise
Jordi Gali (2015): Monetary Policy, Inflation, and the Business Cycle, Princeton University Press, Second Edition,
Chapter 5.4.2. It shows how to solve a perfect foresight model with a Levenberg-Marquardt mixed complementarity problem (lmmcp)
approach to deal with the zero lower bound on interest rates.
Implements the New Keynesian model with price and wage rigidities of Jordi Galí (2015): Monetary Policy, Inflation, and the Business Cycle, Princeton University Press, Second Edition, Chapter 6
Implements the New Keynesian model with price and wage rigidities under optimal policy with commitment (Ramsey) of Jordi Galí (2015): Monetary Policy, Inflation, and the Business Cycle, Princeton University Press, Second Edition, Chapter 6.4
Implements the New Keynesian model with price and wage rigidities under under simple rules of Jordi Galí (2015): Monetary Policy, Inflation, and the Business Cycle, Princeton University Press, Second Edition, Chapter 6.5
Implements the New Keynesian model with price and wage rigidities and unemployment of Chapter 7 of Jordi Galí (2015): Monetary Policy, Inflation, and the Business Cycle, Princeton University Press, Second Edition.
Implements the baseline New Keynesian small open economy model of Chapter 8 of Jordi Gali (2015): Monetary Policy, Inflation, and the Business Cycle, Princeton University Press, Second Edition.