Liquidity Constraints and Precautionary Saving

Liquidity Constraints and Precautionary Saving

The LiqConstr directory contains code to reproduce the figures of the paper Liquidity Constraints and Precautionary Saving by Carroll, Holm, and Kimball, and the LaTeX source to produce the paper once the figures have been created.


Carroll, C. D., Holm, M. B., & Kimball, M. S. (2021). Liquidity constraints and precautionary saving. Journal of Economic Theory, 195, 105276.




We provide the analytical explanation of strong interactions between precautionary sav- ing and liquidity constraints that are regularly observed in numerical solutions to consump- tion/saving models. The effects of constraints and of uncertainty spring from the same cause: concavification of the consumption function, which can be induced either by constraints or by uncertainty. Concavification propagates back to consumption functions in prior periods. But, surprisingly, once a linear consumption function has been concavified by the presence of either risks or constraints, the introduction of additional concavifiers in a given period can reduce the precautionary motive in earlier periods at some levels of wealth.


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

Launch Dashboard

This material includes an interactive dashboard. The dashboard is a Jupyter Notebook which utilizes the Voila extension. You can directly launch the dashboard within your browser using MyBinder.

Launch Dashboard

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 --recursive
  4. cd LiqConstr
  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


Edit metadata