Theoretical Foundations of Buffer Stock Saving
Analysis of Models for “Consumer Spending During Unemployment: Positive and Normative Implications”
By Peter Ganong and Pascal Noel
We thank Xian Ng for outstanding research assistance. Please send feedback and questions to ganong@uchicago.edu.
Directory Structure
code/
- all estimation and analysis codeinput/
- model estimation targets from JP Morgan Chase Institute (JPMCI) dataout/
- code output including figures, logfiles, and raw tablesParameters/
- environment parameters for estimation and analysis; stored model estimation resultstables/
- formatted tables
Files in the code/
directory
Master Scripts: do_min.py, do_mid.py, do_all.py
The master scripts in the code directory re-run the code. To call the script from the command line, go to the code/
directory and enter ‘python
Setup scripts
setup_estimation_parameters.py
reads inParameters/params_ui_reemp.json
to build the estimation environmentbuild_JPMC_targets.py
builds the model estimation targets from files ininput/
and writes toParameters/JPMC_inputs.py
. It only needs to be run once.
Model Solving, Estimation, and Simulation scripts
solve_cons.py
- contains a function that takes environment and preference parameters and computes optimal consumption in each period as a function of cash-on-hand. It solves this problem using backwards induction for a finite horizon.job_search.py
extendssolve_cons.py
. Takes environment and preference parameters and computes optimal consumption and job search in each period as a function of cash-on-hand.- Agent chooses search effort with an isoelastic cost and with the gains from search equal to V_emp(a) - V_unemp(a).
- To accomplish the above, we compute a value function which sums over utility in each period. We do not need the value function to compute optimal consumption, but we do need it to compute optimal job search effort.
sparsity.py
solves the sparse model from Gabaix (2016) in the UI context.estimate_models.py
takes environmental parameters and consumption and job search moments and solves for the preference parameters that generate consumption and job search behavior similar to the moments. Relies on the class injob_search.py
. By default, solves for the models in the paper one at a time. Can also be used to solve multiple models at once on a cluster.agent_history.py
With a given set of environmental and preference parameters, simulates employment histories, consumption behavior, and job search behavior for N agents.
Plotting and Replication scripts
model_plotting.py
contains plotting functions.make_plots.py
uses therpy2
package to create some wrappers for making PDF plots in R.model_plots.py
produces plots using the estimated preference parameters contained inParameters/model_params_main.json
andParameters/model_params_sec.json
.model_welfare.py
performs the simulations for lifecycle welfare analysis.comp_SEs.py
calculates standard errors for estimated models. Note: all output is in the/out/
directory.
Other files
est_robust_gamma.py
estimates models with different risk aversion parameters.estimate_models_helper.py
contains helper functions for estimating many models simultaneously on a cluster.grid_submit.sh
shell script for submitting jobs to a cluster. Edit as necessary.make_plots.py
contains aesthetic options for plots.prelim.py
is a helper script for setting up the model environment.est_models_in/
containsinitial_conditions_master.json
for estimating the models in the paper. csv files in the directory are examples of different initial conditions for model estimation. Convert to JSON for estimation using function inestimate_models_helper.py
est_models_out
logs final estimates as JSON files when estimating preference parameters for multiple models at the same time on a cluste. Convert to csv using function inestimate_models_helper.py
References
Ganong, P., & Noel, P. (2019). Consumer spending during unemployment: Positive and normative implications. American economic review, 109(7), 2383-2424.
Details
Authors
Abstract
The BufferStockTheory directory contains code to reproduce the figures of the paper Theoretical Foundations of Buffer Stock Saving by Christopher Carroll, and the LaTeX source to produce the paper once the figures have been created.
Actions
No GitHub repository in metadata.
Metadata
Key | Value |
---|---|
abstract | The BufferStockTheory directory contains code to reproduce the figures of the
paper Theoretical Foundations of Buffer Stock Saving by Christopher Carroll,
and the LaTeX source to produce the paper once the figures have been created.
|
authors | {"family-names"=>"Carroll", "given-names"=>"Christopher D.", "orcid"=>"https://orcid.org/0000-0003-3732-9312"} |
cff-version | 1.2.0 |
date-released | |
identifiers | {"type"=>"url", "value"=>"https://llorracc.github.io/BufferStockTheory"} {"type"=>"doi", "value"=>"10.5281/zenodo.4088918"} |
keywords | Problems |
message | BufferStockTheory problems in notebook context |
references | {"authors"=>[{"family-names"=>"Carroll", "given-names"=>"Christopher D.", "orcid"=>"https://orcid.org/0000-0003-3732-9312"}], "date-released"=># |
repository-code | https://github.com/econ-ark/BufferStockTheory |
tags | |
date |