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)] (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, online documentation, code] (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 Download research statement

In brief, my current position is fully funded by the German Reserach Foundation (DFG) as part of my reserach 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. During my PhD I was financed by scholarships from the Bielefeld Graduate School in Economics and the DFG. I obtained my MSc in economics from the University of Granada (top of class) and studied economics at Humboldt University Berlin at undergraduate level. I have worked as a professional guitar player and as an IT consultant for several start-up companies.

Code

I am an enthusiast user of Arch Linux and Python. 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. I am in particular sceptical towards closed ecosystems like matlab and think it is a barrier towards future scientific advancement ("writing reusable code in matlab is like ordering food in Klingon"). See the collection of links below for some references on this issue. As code is getting more and more important, I advertise code sharing and cooperation on new implementations. To that end I encourage the use of style guides (they can also be automatized) and version control systems.

My packages can be found on GitHub:

econpizza pydsge
dime_sampler DIMESampler.jl dime-mcmc-matlab

econpizza is a generic nonlinear solver for general equilibrium models, including heterogenous agent models (and including exressing and parsing models). It uses an alternative shooting algoritm that is faster and more robust than the extended path method implemented in Dynare. Example heterogenous agents models (and representative agent models) are provided. The 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 (truely) 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)
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