Introduction

I am a Postdoc at the Institute for Macroeconomics and Econometrics of the University of Bonn. Currently, I am directly funded by the German Reserach Foundation (I am the principal investigator of DFG Project 441540692). My research focusses on Dynamic Macroeconomics, Monetary Theory, and Inequality with emphasis on structural empirical analysis and heterogeneity. I also have a strong background in quantitative methods and computational economics.

Publications

A Structural Investigation of Quantitative Easing
Review of Economics and Statistics, forthcoming

[paper, ungated, WP version, code, replication] -- with Gavin Goy & Felix Strobel (read more)

Estimation of DSGE Models with the Effective Lower Bound
Journal of Economic Dynamics and Control, 2024

[paper, ungated, WP version, posterior & historic shocks, code] -- with Felix Strobel (read more)

Monetary Policy and Speculative Asset Markets
European Economic Review, 2022

[paper, ungated, WP version, code]
(read more)

Efficient Solution and Computation of Models with Occasionally Binding Constraints
Journal of Economic Dynamics and Control, 2022

[paper, ungated, WP version, code, replication] (read more)


Revisions & Working Papers

An Ensemble MCMC Sampler for Robust Bayesian Inference
R&R @ Journal of Econometrics

[current version (05/2023), working paper, code (Python), code (Julia), code (matlab), slides] (read more)

The Hockey Stick Phillips Curve and the Zero Lower Bound
R&R @ Journal of Economic Dynamics and Control

[current version (01/2023), working paper, code] -- with Philipp Lieberknecht (read more)

The Empirical Performance of the Financial Accelerator since 2008
R&R @ Journal of Economic Dynamics and Control

[current version (12/2022), working paper, code] -- with Felix Strobel (read more)

HANK on Speed: Robust Nonlinear Solutions using Automatic Differentiation (under review)

[current version (03/2024), working paper, package documentation, code, slides] (read more)

Rational vs. Irrational Beliefs in a Complex World (under review)

[current version (01/2024), working paper, code] -- with Cars Hommes (read more)


Current Projects

The Micro & Macro of (Unconventional) Monetary Policy: the Role of the Banking Sector

[current draft (07/2022), code, slides] (read more)

(Unconventional) Fiscal Policy at the ELB

[work in progress, with Ralph Luetticke] (read more)

The Quantitative Effects of Taxation on Inequality Dynamics

[work in progress] (read more)

Helicopter Money and the Cross-Section of Households

[with Keith Kuester, work in progress ]

Low nominal rates and the saver: The dark side of lower(ing) interest rates

[with Pablo Guerrón-Quintana and Keith Kuester, work in progress ]


Policy, Media and Other Work

The Federal Reserve and quantitative easing: A boost for investment, a burden on inflation

[ VoxEU August 2020, with Gavin Goy and Felix Strobel]

The ETACE Virtual Appliance: An Exploratory for the Eurace@Unibi model

[with Sander van der Hoog, download paper] (read more)

This paper presents the Etace Virtual Appliance. The purpose of the software package is, among others, to provide researchers the possibility to explore the dynamics of the Eurace@Unibi agent-based macroeconomic model and to encourage the reproducibility and transparency of research. The package contains various components that allow the user to initialize, simulate and analyze the model. We also give a short overview of what can be done with the Etace Virtual appliance.


CV

Download CV

In brief, my current position is fully funded by the German Research Foundation (DFG) as part of my research project on nonlinear Bayesian estimations. With the OSE initiative I also successfully raised funding for teaching and research infrastructure. Prior to joining the University of Bonn I spent two years as a Postdoc at the IMFS at Goethe University Frankfurt in cooperation with the Hoover Institution at Stanford University (longer-term visits in Stanford in 2018 and 2019). I completed my PhD at the University of Amsterdam and Bielefeld University, supervised jointly by Cars Hommes and Herbert Dawid. I won the 2017 Student Price of the Society for Computational Economics. Before my academic life I have worked as a professional guitar player and as an IT consultant for several start-up companies.

Code

For many reasons I support the use of free and open source software in science. As such, I think that the access to software must be unrestrained by expensive and restrictive licenses. Implementations should be tractable, and libraries easily extensible. Openness is a booster for performance and flexibility.

My packages can be found on GitHub:

econpizza pydsge
dime_sampler DIMESampler.jl dime-mcmc-matlab

econpizza is a package for simulating nonlinear general equilibrium models, including heterogeneous agent models (and including a simple syntax for expressing and parsing models). It uses a robust shooting algorithm based on automatic differentiation. Example heterogeneous agents models (and representative agent models) are provided. The methodology behind this package is documented in this draft.

pydsge is a Python based solution and simulation toolbox, specifically targeted to provide tools for nonlinear filtering and estimation of models with occasionally binding constraints. Its back-end for nonlinear filtering is econsieve, a hybrid between the Particle filter and the Kalman filter. Both packages are explained in the respective method paper above.

dime_sampler (Python), DIMESampler.jl (Julia) and dime-mcmc-matlab (matlab) provide the differential-independence mixture ensemble (DIME) MCMC sampler from my paper on ensemble MCMC sampling. DIME MCMC is a (very fast) global multi-start optimizer and, at the same time, a MCMC sampler that converges to the posterior distribution. This makes any posterior mode density maximization prior to MCMC sampling superfluous. The DIME sampler is pretty robust for odd shaped, multimodal distributions. DIME MCMC is parallelizable: many chains can run in parallel, and the necessary number of draws decreases almost one-to-one with the number of chains.


Useful Stuff

I maintain a compilation of unsolved problems in macroeconomics, please be invited to browse or contribute (or shoot me a short email).

Macro Puzzles

Some useful econ-related links: On econometrics:
  • This interactive online textbook (by Roger Labbe) gives an excellent and hands-on introduction into Bayesian filtering.
  • This post explains very nicely how the Hamiltonian Monte Carlo (HMC) Sampler works and, en passant, shows why using Metropolis Hastings might not be a good idea for many problems in practice. Note that HMC is also behind the NUTS sampler used in Stan (a widely used sampling package), but not very feasible for many applications in structural (macro-)econometrics. The reason is that HMC requires the evaluation of the gradient at each draw, which is relatively costly for most of our likelihood functions. Have a look at the DIME sampler if you are looking for a powerful multi-purpose sampler.
Why I use (and endorse) Python:
  • Python (with numba or jax) is incredibly fast
  • Python is easy to debug and provides meaningful error messages
  • Python is a general purpose language, and (truly) object-oriented
  • Python is free and open source. There are no limiting licences or any additional costs
  • Python is matured: updates don't tend to break things and bugs are very rare. Mayor tech firms just recently invested heavily into Python (jax by google, PyTorch by Meta, amazon, ...), so it will probably be around for longer
  • Python is well documented and has a huge active user base. The answers to many questions can be found on Stack Overflow
  • Python enforces a high code quality and readability
  • Knowing python is also an asset outside of academia. It is the industry standard in machine learning and big data
  • There are a trillion well documented and well tested packages out there for essentially any purpose
  • Python is very well integrated into modern software development workflows (version control and continuous integration using github, automatic documentation using sphinx)
  • "Writing reusable code in matlab is like ordering food in Klingon." (The Unknown PhD Student)
On programming: Some more handy Python packages:
  • numba - probably by now the first address to speed up your code.
  • jax - emerging to be the new numba. Developed and endorsed by google. Different philosophy featuring automatic differenciation.
  • emcee provides very powerful and easily paralellizable MCMC sampler.
  • chaospy - for quasi-random numbers and uncertainty quantification.
  • filterpy (by Roger Labbe, see above) is a collection of linear and nonlinear Bayesian filters.
  • interpolation.py (also by Pablo Winant) provides fast-as-light interpolation tools.

Contact

Email
mail [ät] gregorboehl [döt] com
gboehl [ät] uni-bonn [döt] de
Mail
Dr. Gregor Boehl
Institute for Macroeconomics and Econometrics
University of Bonn
Adenauerallee 24-42
53113 Bonn
Germany