This repository provides materials and code for the Spring 2025 heterogeneous-agent macro workshop at the NBER.
Slides for each lecture are included below. Most lectures have accompanying notebooks, with code that generates the figures from the slides, or otherwise illustrates the methods of the lecture. Some notebooks require support files that are also contained in the notebooks/
folder.
Aside from lectures 1 and 3, which use code introduced here, all lecture notebooks and tutorials require installing the sequence-space Jacobian toolkit. All code is in Python and requires the standard numerical Python libraries (numpy
, scipy
, matplotlib
, numba
, pandas
).
Three key references for the lectures are:
- Fiscal and Monetary Policy with Heterogeneous Agents [repo], forthcoming in the Annual Review of Economics. This introduces the canonical model, with a calibration similar to the one we use in most of our early lectures, and covers a variety of fiscal and monetary policy exercises.
- The Intertemporal Keynesian Cross [repo], Journal of Political Economy (Dec 2024). This covers fiscal policy, intertemporal MPCs, and the intertemporal Keynesian cross framework in more depth.
- Using the Sequence-Space Jacobian to Solve and Estimate Heterogeneous-Agent Models, Econometrica (Sep 2021). This covers sequence-space Jacobians as a solution tool, including the fake news algorithm, solving general equilibrium models using DAGs, and estimation.
Feel free to also check out the material from the spring 2023 NBER workshop.
-
The Standard Incomplete Markets (SIM) Model, Matthew Rognlie. [notebook]
- For more on computation and the SIM model, see supplementary notebook on computation and accompanying video lectures from a previous year. Also see the additional notebook on speeding up code. The two notebooks explain the details of
sim_steady_state.py
andsim_steady_state_fast.py
, two modules for basic SIM steady-state computation.
- For more on computation and the SIM model, see supplementary notebook on computation and accompanying video lectures from a previous year. Also see the additional notebook on speeding up code. The two notebooks explain the details of
-
Intro to HANK: Fiscal Policy, Ludwig Straub. [notebook] [key papers: IKC and Annual Review]
-
Intro to the Sequence Space and Jacobians, Matthew Rognlie. [notebook] [key paper: SSJ]
- See end of notebook for hands-on implementation of fake news algorithm, which is generalized in
sim_fake_news.py
. Also see note from a previous class explaining the algorithm.
- See end of notebook for hands-on implementation of fake news algorithm, which is generalized in
-
Intro to HANK: Monetary Policy, Adrien Auclert. [key paper: Annual Review]
-
Tutorial 1: Intro to HANK, Ludwig Straub. [version with blanks]
-
Tutorial 2: SSJ approach and toolkit, Matthew Rognlie. [version with blanks]
-
Monetary Policy Topics, Adrien Auclert. [key paper: Annual Review]
-
Estimation, Adrien Auclert and Matthew Rognlie. [notebook] [key paper: SSJ]
-
Open Economy, Ludwig Straub. [notebook] [key paper: open-economy HANK]
-
Determinacy and Large-Scale Models, Matthew Rognlie. [notebook] [reference: determinacy paper]
-
HA Models from FRB Economists and Life-Cycle Jacobians, Mateo Velasquez-Giraldo. [repo]
-
HANK in Continuous Time, Adrien Bilal. [repo]
-
Smooth methods for the standard incomplete markets model, Matthew Rognlie. [notebook]
- See
notebooks/smooth_sim/
for supporting code; main code insmooth_sim.py
- See
-
Second order solutions in sequence space, Adrien Auclert.
-
Endogenous portfolios and risk premia, Adrien Auclert. [notebook] [reference: portfolio note]
-
Pricing models in the sequence space, Ludwig Straub. [notebook] [key paper: Phillips curves]
-
Information frictions, Ludwig Straub. [notebook] [key paper: MJMH]
-
Optimal long-run policy, Ludwig Straub. [key paper: Optimal Policy]