Solution Methods for Microeconomic Dynamic Stochastic Optimization Problems

Solution Methods for Microeconomic Dynamic Stochastic Optimization Problems

These notes describe tools for solving microeconomic dynamic stochastic optimization problems, and show how to use those tools for efficiently estimating a standard life cycle consumption/saving model using microeconomic data. No attempt is made at a systematic overview of the many possible technical choices; instead, I present a specific set of methods that have proven useful in my own work (and explain why other popular methods, such as value function iteration, are a bad idea). Paired with these notes is Mathematica, Matlab, and Python software that solves the problems described in the text.

Details

Authors

Abstract

These notes describe tools for solving microeconomic dynamic stochastic optimization problems, and show how to use those tools for efficiently estimating a standard life cycle consumption/saving model using microeconomic data. No attempt is made at a systematic overview of the many possible technical choices; instead, I present a specific set of methods that have proven useful in my own work (and explain why other popular methods, such as value function iteration, are a bad idea). Paired with these notes is Mathematica, Matlab, and Python software that solves the problems described in the text.

Actions

Live Interactive Notebook

This material includes a Jupyter Notebook version. You can directly launch and interact with the Notebook within your browser using MyBinder via the "Launch" button(s) below.

Binder badge logo

Material Source Code

Econ-ARK materials are open source and available to view and clone from GitHub.

View on GitHub

How to Execute this Notebook (with conda)

Install miniconda on your computer

  1. Open a Terminal (MacOS) or the Anaconda Prompt (Windows)
  2. At a command line, change the working directory to the one where you want to install
    • On MacOS/unix, if you install in the /tmp directory, the repo will disappear at reboot:
    • cd /tmp
  3. git clone https://github.com/econ-ark/SolvingMicroDSOPs --recursive
  4. cd SolvingMicroDSOPs
  5. conda env create -f ./binder/environment.yml --prefix ./condaenv
    • This creates ./condaenv inside your clone of the repo, containing dependencies.
  6. conda run --prefix ./condaenv pip install jupyterlab
  7. conda run --prefix ./condaenv jupyter-lab

Metadata

Edit metadata