Macroeconomics (PhD core), 2019

This is an advanced course in macroeconomic theory intended for first-year PhD students.

The first part covers dynamic programming theory and applications in both deterministic and stochastic environments and develops tools for solving such models on a computer using Matlab (or your preferred language). The second part covers various extensions and further applications, including consumption-savings problems, job search, asset pricing, and models with heterogeneous households and firms.


Lecture 1 Introduction and course overview. Intertemporal choice in discrete time.
Lecture 2 Review of neoclassical growth model in discrete time.
Lecture 3 Introduction to deterministic dynamic programming.
Lecture 4 Mathematical background for dynamic programming. Contraction mappings etc.
Lecture 5 Principal of optimality. Properties of the value function.
Lecture 6 Introduction to numerical dynamic programming. Discrete state approximation.
Lecture 7 Collocation methods for solving dynamic programming problems.
Lecture 8 Introduction to stochastic dynamic programming. Markov chains, etc.

Tutorial 1, solutions
Tutorial 2
Tutorial 3

Problem Set 1

Scraps of code
Value function iteration (discrete state approximation)
Collocation example