DRE 7029 Hands-On Heterogeneous Agent Macroeconomics

DRE 7029 Hands-On Heterogeneous Agent Macroeconomics

Course code: 
DRE 7029
Program of study: 
Course coordinator: 
Gisle James Natvik
Product category: 
PhD Economics courses
2020 Spring
Active status: 
Teaching language: 
Course type: 
One semester

This course will provide a hands-on introduction to the construction, calibration and estimation of models with 'serious' heterogeneity (that is, heterogeneity that matches the microeconomic facts that theory suggests should matter for macroeconomic outcomes like consumption dynamics); will explain why such heterogeneous agent ('HA') models have implications different from those of RA models; and illustrate how existing HA models can be adapted to new questions. ('Hands-On' means that students with their own laptops will run the and experiment with the code that solves these models in class.) 

Learning outcomes - Knowledge

Students will understand basics of how the dynamics of representative-agent and heterogeneous agent models work, and the relationship of both to microeconomic and macroeconomic evidence. Particular emphasis will be placed on matching empirical evidence on inputs to the 
consumption/saving problem (like the nature and magnitude of income shocks) and on understanding which empirically measurable results are the important ones to match (the wealth distribution; the marginal propensity to consume). 

Learning outcomes - Skills

Students will be able to construct their own micro- or macroeconomic models that are extensions of or related to models that are currently at the cutting edge of the literature. 

General Competence

Students should become able to build and quantify (through estimation and calibration) models with heterogeneous agents so as to analyse research questions at the frontier of macroeconomics. 

Course content


1 Preliminaries

  1. Install Anacondahttps://docs.anaconda.com/anaconda/install
  2. Get Git
  3. Install HARK: Go to “Quick Start” in the README.md
    • Follow the instructions for installing HARK for Anaconda
  4. Clone the DemARK and REMARK repos
  5. Using python from the command line:
    • pip install nose
    • python -c import HARK ; print(HARK.__file__)
    • cd [root directory for HARK]
    • python -m nose

2 Motivation

Models with serious microfoundations yield fundamentally different conclusions than RA models about core questions in macroeconomics.

  1. How monetary policy works
    • HA channels account for most of the mechanism of monetary transmission
  2. Whether fiscal policy works
    • ‘serious’ HA models are consistent with evidence of MPC’s of 0.5
  3. What made the Great Recession Great
    • RA models: Mostly a supply shock
    • HA models: Mostly a demand shock



3 Micro Models

3.1 Micro Consumption Theory Refresher

The course will assume that students are familiar with standard quantitative tools for solving RA models, like DYNARE. The bulk of the “hands-on” part of the course will therefore involve learning and using tools for solving micro problems with ‘serious’ microfoundations.

3.1.1 The Infinite Horizon Perfect Foresight Model

Absolute, Return, and Growth Impatience


3.1.2 Consumption With Labor Income Uncertainty


  • Carroll (2001)
3.1.3 Rate-Of-Return Uncertainty without Labor Income

Under CRRA utility, without labor income risk:

  1. The consumption function is linear
  2. An increase in risk reduces consumption and the MPC

Notes: Consumption out of Risky Assets

Consumption With Portfolio Choice

Origins: Merton (1969), Samuelson (1969)

3.1.4 Habits


4 Computational Tools

4.1 Vision for the Econ-ARK Project

5 Hands-On Introduction

Here we will explain how to begin using the Econ-ARK toolkit for heterogeneous agent macro modeling. Students will be taught how to use the toolkit to solve increasingly sophisticated models, starting with partial equilibrium perfect foresight models and ending with some exercises using a full general equilibrium micro-macro model with idiosyncratic and aggregate risks.

5.1 A Gentle Introduction

This section builds our first simple models using the toolkit

5.1.1 Perfect Foresight

Notebook: A Gentle Introduction to HARK - Perfect Foresight

5.1.2 Adding ‘Serious’ Income Uncertainty

Notebook: A Gentle Introduction to Buffer Stock Saving

5.2 Liquidity Constraints, Precautionary Saving, and Impatience

  1. The Growth Impatience Condition
  2. Liquidity Constraints and Precautionary Saving
  3. Impatience and Target Wealth

Notebook: BufferStockTheory Problems

5.3 ‘Serious’ Wealth Inequality

Notebook: Micro-and-Macro-Implications-of-Very-Impatient-HHs-Problems

References: Carroll, Slacalek, Tokuoka, and White (2017)

5.4 Matching the Distribution – of the MPC

5.5 Hands-On with Real HA Models

For an economy in steady state (that is, with constant factor prices like interest rates and wages), models with ‘serious’ income heterogeneity have been solvable in partial equilibrium since about 1990 (Zeldes (1989), Deaton (1991)). Calculating an equilibrium distribution of wealth that results from those policy functions and matching it to the total amount of observed wealth (and a corresponding interest rate) was first done by Hubbard, Skinner, and Zeldes (1994) using a supercomputer. Aiyagari (1994) proposed a radically simple model that did not attempt to match the distributions of wealth and income, but could be solved without a supercomputer.

In a rational expectations steady state, there are no expected changes in interest rates, wages, or the distribution. Aggregate fluctuations make calculation of an RE equilibrium massively more difficult, because:

  1. Meaningful aggregate fluctuations will change the distribution of wealth and income
  2. The amount of aggregate saving depends on how aggregate wealth and income are distributed
  3. The amount of saving determines future factor prices
  4. In principle, RE therefore requires that everyone know the entire distribution of wealth, income, and any other state variables in the population

The problem therefore suffers from a severe case of the “curse of dimensionality.” (That is, it’s really hard!). The first paper to tackle the problem was Krusell and Smith (1998). Work by Bayer and Luetticke (2018) builds on all of the prior work to construct a reasonable HANK model that can be solved in a few minutes on a laptop. The key contribution of Krusell and Smith (1998) was to discover that, in practice, highly accurate predictions of future aggregate states could be made using only the mean of the current aggregate capital stock

Notebook: KrusellSmith.ipynb

5.6 The Micro Steady State and Macro Fluctuations

A problem with solving methods using the original Krusell Smith method is that the computational challenge was so great that only the simplest such models could be solved, and the ability to construct standard tools like impulse response functions to aggregate shocks was very limited.

Reiter (2009) showed how to solve such problems several orders of magnitude faster; the essence of his idea was to solve the micro problem for the steady-state distribution, and then capture business cycle fluctuations by figuring out how to perturb the decision rules and the distribution appropriately.

Building on his work, the last few years have seen great further strides in speed and power of such tools.


5.7 The Bayer-Luetticke Method

5.8 Other Literature


Software tools
No specified computer-based tools are required.

Enrollment in a PhD programme is a general requirement for participation in PhD courses at BI Norwegian Business School.
External candidates are kindly asked to attach confirmation of enrollment in a PhD programme when signing up for a course. Other candidates may be allowed to sit in on courses by approval of the course leader. Sitting in on a course does not permit registration for the course, handing in exams or gaining credits for the course. Course certificates or confirmation letters will not be issued for sitting in on courses.

Required prerequisite knowledge

Admission to a PhD Programme is a general requirement for participation in PhD courses at BI Norwegian Business School.

External candidates are kindly asked to attach confirmation of admission to a PhD programme when signing up for a course with the doctoral administration. Other candidates may be allowed to sit in on courses by approval of the courseleader. Sitting in on courses does not permit registration for courses, handing in exams or gaining credits for the course. Course certificates or conformation letters will not be issued for sitting in on courses

Exam categoryWeightInvigilationDurationGroupingComment exam
Exam category:
Form of assessment:
Written submission
Exam code:
DRE 70291
Grading scale:
Grading rules:
Internal and external examiner
Examination when next scheduled course
100No1 Semester(s)Individual Students will be evaluated on the basis of the replication archive they produce. The evaluation format is single hand in. Grade scale is pass or fail.
Exam category:Submission
Form of assessment:Written submission
Grouping (size):Individual
Duration:1 Semester(s)
Comment:Students will be evaluated on the basis of the replication archive they produce. The evaluation format is single hand in. Grade scale is pass or fail.
Exam code:DRE 70291
Grading scale:Pass/fail
Resit:Examination when next scheduled course
Type of Assessment: 
Ordinary examination
Total weight: 
Student workload
Teaching on Campus
20 Hour(s)
Prepare for teaching
37.5 Hour(s)
Sum workload: 

A course of 1 ECTS credit corresponds to a workload of 26-30 hours. Therefore a course of 4 ECTS credit corresponds to a workload of at least 110 hours.