/ConsumptionSavingNotebooks

Jupyter Notebook examples of the ConSav package

Primary LanguageJupyter NotebookMIT LicenseMIT

Contains Jupyter Notebooks showcasing the ConSav package.

Getting Started

The main tool in the ConSav package is the ModelClass class with predefined methods for e.g. saving and loading. The main selling point is that it provides an easy interface to calling Python functions jit compilled with Numba, and C++ functions. Each concrete model inherits these methods and then adds methods for e.g. solving and simulating. The simplest full example is the canonical buffer-stock consumption model, see the BufferStockModel notebook.

The DurableConsumptioModel notebook contains more advanced examples. Specifically, it implements the solution methods proposed in A Guide On Solving Non-Convex Consumption-Saving Models. See also the results notebook for this paper.

Turtorial: The DynamicProgramming/ folder contains a simple introduction to both dynamic programming and the ConSav package. If you are new to Python then try out this online course, Introduction to programming and numerical analysis.

To get started:

  1. Install the ConSav package (requires git): pip install git+https://github.com/NumEconCopenhagen/ConsumptionSaving
  2. Clone or download this repository
  3. Open your notebook of choice

We recommend running the notebooks in JupyerLab. A set of guides on how to install Python and JupyterLab is available here.

Overview

The main notebooks are:

  1. DynamicProgramming/
  2. BufferStockModel/
  3. DurableConsumptionModel/
  4. G2EGM/
  5. Tools/
  6. Numba and C++/

Additional projects based on ConSav:

  • WealthHet: On explaining wealth inequality.