Syllabus for 8185: Computational Economics

This course will cover topics in computation economics.

  1. Preliminaries: This will cover material from Sargent and Ljungqvist chapter 2 - Properties of markov chains,stochastic difference equations, discrete state Markov approximations of AR(1) process. We will derive the Kalman Filter and study some applications.
  2. Linear Control Theory: The main reference is Anderson, Hansen, McGrattan, and Sargent (1996)
    • Overview of linear control theory: Study the optimal regulator problem.
    • Application of linear control techniques to compute rational expectation equilibria in linear DSGE models.
    • If there is time we discuss can applications of series expansion methods (Lombardo (2010), Borovicka and Hansen (2014) ) for higher order perturbation solutions approximations of DSGE models.
  1. Numerical recipes: The main references will be Judd's “Numerical Methods in Economics” and the book by Miranda and Fackler, “Applied Computational Economics and Finance”
    1. Overview of root finding algorithms, numerical optimization algorithms, numerical differentiation and integration methods,functional approximation using interpolation. 
    2. We will discuss application of these numerical methods to do value function iteration, policy function iteration, collocation methods using some standard examples: stochastic growth models, optimal taxation models etc
  1. Algorithms to solve incomplete market models with idiosyncratic risk: Endogenous grid method of Carroll(2005), Computing equilibria in Hugget (1993), Aiyagari (1994) economies without aggregate risk, adding aggregate risk - Krusell Smith (1998)
  2. Other stuff: Towards the end, I will talk about version control (using GIT), do a demo (using Python) to show how Amazon Clusters can be used to do parallel programming using MPI. 

There will be a weekly reading or coding assignment. You can use any programming language that you prefer. For the final grade you will have to submit a term paper. You can work in groups of 2-3. The term paper will be based on an existing paper and will have two parts: i) First you will replicate results from that paper ii) and then you will add one new feature to the existing setup and extend the computations. Make your own groups, and submit a one page proposal by mid October. The deadline for the final project will be decided later.

If you are still deciding which language to use, one option is python- its free and easy to use and flexible enough to handle scaled up problems. A good place to get started is Tom Sargent and John Stachurski's  website: