diff --git a/.github/ISSUE_TEMPLATE/wanted-ballpark.yml b/.github/ISSUE_TEMPLATE/wanted-ballpark.yml new file mode 100644 index 00000000..d2f60f84 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/wanted-ballpark.yml @@ -0,0 +1,116 @@ +name: Wanted Ballpark Paper +description: Propose a paper for inclusion in the ballpark catalog. +title: "[Wanted] : " +labels: ["wanted-ballpark"] +body: + - type: markdown + attributes: + value: | + Thank you for proposing a paper for the ballpark! This issue creates the **Wanted** state — the pre-tier catalog entry that precedes a directory. Once a contributor claims the paper and opens a PR, it enters the **Draft** tier. + + Please review [CONTRIBUTING.md → Before you start](../../blob/master/CONTRIBUTING.md#before-you-start) and make sure the paper meets the eligibility rules (in particular, **≥ 3 Google Scholar citations**). + + - type: input + id: citation + attributes: + label: Full citation + description: Include authors, year, title, journal, volume(issue), pages. + placeholder: "Benhabib, J., Bisin, A., & Luo, M. (2019). Wealth distribution and social mobility in the US: A quantitative approach. American Economic Review, 109(5), 1623–1647." + validations: + required: true + + - type: input + id: doi + attributes: + label: DOI or permanent URL + placeholder: "10.1257/aer.20151684" + validations: + required: true + + - type: input + id: citekey + attributes: + label: Proposed citekey + description: Used as the directory name under `models/We-Would-Like-In-Econ-ARK/` or `empirical/`. Match the key in your reference manager (e.g. Zotero) if you have one. + placeholder: "Benhabib_et_al_2019" + validations: + required: true + + - type: input + id: citations + attributes: + label: Google Scholar citation count (today) + description: Must be ≥ 3 per the eligibility rule. Paste the current number from the paper's Google Scholar page. + placeholder: "127" + validations: + required: true + + - type: dropdown + id: track + attributes: + label: Track + description: Structural models go under `models/`; strong empirical evidence that begs for a model goes under `empirical/`. + options: + - models + - empirical + validations: + required: true + + - type: dropdown + id: topic + attributes: + label: Primary Econ-ARK topic + description: Pick the best single match. Additional topics can be listed in the item's frontmatter later. + options: + - HA-macro + - lifecycle + - wealth-distribution + - monetary + - fiscal-policy + - optimal-taxation + - housing + - labor + - business-cycles + - computational-methods + - open-economy + - liquidity-trap + - demographics + - financial-crisis + - inequality + validations: + required: true + + - type: textarea + id: pitch + attributes: + label: Why in-ballpark (≈ 3 sentences) + description: Why should Econ-ARK care about this paper? What does it uniquely contribute to the ecosystem's agenda? Keep it short. + placeholder: "Canonical example of heterogeneous-returns driving the wealth tail — a headline result in modern HA macro..." + validations: + required: true + + - type: input + id: difficulty + attributes: + label: Difficulty estimate (optional) + description: "One of: good-first-ballpark, stretch, research-grade. Used for course-project scoping." + placeholder: "stretch" + + - type: input + id: claim + attributes: + label: Claim (optional) + description: If you intend to draft this ballpark entry yourself, mention your name/GitHub handle here. Otherwise leave blank — the issue is a standing invitation. + placeholder: "@" + + - type: checkboxes + id: eligibility + attributes: + label: Eligibility confirmation + options: + - label: "Paper has ≥ 3 Google Scholar citations." + required: true + - label: "Paper is not already in `models/We-Would-Like-In-Econ-ARK/` or `empirical/`." + required: true + - label: "I have read [CONTRIBUTING.md → Before you start](../../blob/master/CONTRIBUTING.md#before-you-start)." + required: true diff --git a/.gitignore b/.gitignore index 76a59ec4..eda19dc8 100644 --- a/.gitignore +++ b/.gitignore @@ -70,6 +70,10 @@ docs/_build/ # MyST Markdown build output _build/ +# Paper source materials (PDF + LaTeX from MathPix) - do not commit (copyright) +# Students create source/ inside each paper folder, e.g. models/.../{BALLPARK}/source/ +**/source/** + # PyBuilder target/ diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 00000000..b3fddda2 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,398 @@ +# Contributing a ballpark item + +A **ballpark item** is a single paper's entry point into the Econ-ARK ecosystem: enough structure, context, and formalization that an ambitious graduate student can progress the paper from "interesting" through "formal recursive model" toward a [REMARK](https://github.com/econ-ark/REMARK) or [DemARK](https://github.com/econ-ark/DemARK) candidate in one semester. + +This file specifies what a ballpark item should contain and how to submit one. For background on the project, see [README.md](README.md). + +--- + +## Before you start + +1. **Is the paper in scope?** Ballpark items are papers that are either (a) serious structural models producing interesting quantitative results, or (b) strong empirical evidence that begs for a model. See [README.md](README.md) for the two tracks (`models/` vs `empirical/`). +2. **Has the paper been cited enough to matter?** The paper must have **at least 3 citations in Google Scholar** to be eligible as a ballpark candidate. This is a hard gate: it filters for papers whose ideas have begun to circulate in the literature, without excluding recent papers that have not yet accumulated many citations. Paste the Google Scholar citation count (as of submission date) into the submission PR description. +3. **Is it already here?** Check `models/We-Would-Like-In-Econ-ARK/` for an existing subdirectory under the paper's citekey. If one exists, open a PR improving it rather than creating a parallel entry. +4. **Is it listed but not yet claimed?** If there is a subdirectory but it is thin (legacy "slideware" — one notebook of markdown + figures), your contribution can be to refactor it to the canonical structure below. +5. **None of the above?** Open a [Wanted Ballpark Paper issue](../../issues/new?template=wanted-ballpark.yml) using the provided form (citation, DOI, Google Scholar citation count, track, topic, 3-sentence pitch). We will confirm before you invest effort. + +--- + +## Three layers of a ballpark item + +A canonical ballpark item has three layers. The *exposition* layer is required; the *formalization* layer turns a summary into a modular-DP scaffold (this is the output of a course-project workflow); the *asset* layer holds source material for human and AI re-reading. + +### 1. Exposition layer — required + +Four notebooks assembled by one `index.md`. Name them with the paper's citekey prefix, e.g. `benhabib2019_intro.ipynb`. + +| File | Content | +|------|---------| +| `index.md` | MyST page with `{include}` directives for the four notebooks below (in order), plus YAML frontmatter giving the rendered title. | +| `_intro.ipynb` | Full citation with DOI link. **Original ballpark author** (name + date). **Updated by** (latest + date). 3-sentence pitch: why the paper is in-ballpark for Econ-ARK. | +| `_prior-literature.ipynb` | Where the paper sits in the foundational literature (Bewley / Huggett / Aiyagari / de Nardi / ...). Use `{cite:t}` citations rendered from `references.bib`. | +| `_summary.ipynb` | Non-technical motivation + findings overview (**required at Draft**), extended at Primer promotion with a **"The Model"** section stating the recursive formulation **explicitly**: no `u(c)` placeholders, explicit CRRA or EZ kernel, explicit bequest function, explicit transitions, explicit shock distributions, explicit constraint set. This "The Model" section is what the formalization layer will build on. | +| `_subsequent-literature.ipynb` | Research directions that followed the paper. Cite from `subsequent-literature.bib`. | + +The [Benhabib_et_al_2019](models/We-Would-Like-In-Econ-ARK/Benhabib_et_al_2019/) item is the reference instance of this layer. + +### 2. Formalization layer — stretch (recommended for coursework) + +Four files that take the explicit recursive formulation from `_summary.ipynb` and lift it toward a dolo-plus stage. + +| File | Content | +|------|---------| +| `bellman-excerpt.md` | A standalone modular-DDSL Bellman statement produced by iterating with [Matsya](https://github.com/econ-ark/matsya) (see "The formalization iteration" below). Contains: a comprehensive symbol table; a timing convention (numbered steps within one period); a decomposition of the problem into **periods**, **stages**, and **perches** (arrival $\prec$ / decision $\circ$ / continuation $\succ$); a table listing state, control, shock, constraint, payoff at their native perches; the stage operator $\mathbb{T} = \mathbb{I} \circ \mathbb{B}$; explicit utility/bequest forms; and — once the iteration has matured — a "Stage composition" subsection and an EGM channel discussion where applicable (aligned to [SolvingMicroDSOPs](https://github.com/llorracc/SolvingMicroDSOPs) §§12–13). | +| `dolo-plus-draft.yaml` | A minimal one-stage YAML (interior period only is acceptable). Any features that do not map cleanly onto canonical dolo-plus syntax **must be flagged inline with a `# workaround:` or `# unresolved:` comment** rather than silently fudged. | +| `verification.md` | One paragraph stating what was **accepted**, **edited**, or **rejected** from Matsya's output, and why — verified against the published paper, not only the ballpark summary. | +| `matsya-session.txt` | A single line: the `--session` string used on every Matsya call for this item (e.g. `topics2026-`). Staff can inspect the server-side conversation by session name; you do not paste the transcript. | + +The three workaround categories you are most likely to hit are **mechanical (non-optimized) deductions**, **$\hat{\Gamma}^{1-\gamma}$-style value-function scaling inside expectations**, and **state-contingent shock distributions**. Flag them; do not hide them. + +#### The formalization iteration (the meat of the work) + +The single hardest — and most valuable — part of the formalization layer is **arriving at a decomposition of the paper's problem into periods, stages, and perches**. This is not a one-shot translation; it is a loop between a general-purpose AI (Claude, Cursor) and [Matsya](https://github.com/econ-ark/matsya), the DDSL-aware evaluator. `bellman-excerpt.md` is the **single evolving artifact** that this loop produces — not two separate files for "before Matsya" and "after Matsya." + +The iteration runs as follows: + +1. **Extract.** Ask an AI (Claude Opus recommended) to read the paper (`.mmd` preferred over `.pdf`) and the recursive formulation in `_summary.ipynb`, and to draft `bellman-excerpt.md` as a modular-DDSL Bellman statement: symbol table, timing, a candidate period/stage/perch decomposition, transitions, and movers. +2. **Evaluate.** Feed `bellman-excerpt.md` to Matsya (same `--session` name each time — record it in `matsya-session.txt`) and ask it to identify **missing or under-specified elements** of the decomposition: symbols that appear without a row in the symbol table, perches that are referenced but not defined, transitions that are unlabeled, movers that collapse silently rather than being explicitly labeled as identities, constraint sets that are not carried through, parameters whose domain is unstated, etc. +3. **Improve.** Take Matsya's critique back to the AI and ask it to revise `bellman-excerpt.md` to address each flagged gap — either by filling it in from the paper, or by marking it as genuinely absent from the paper (a signal that the paper does not pin this down and the formalizer will have to make an explicit modeling choice). +4. **Repeat** steps 2–3 until **one of two terminating conditions** is reached: + - **Success:** Matsya reports no further missing elements, the symbol table is closed under reference, every perch and transition is either defined or explicitly labeled degenerate/identity, and the decomposition is coherent. The item is ready for the dolo-plus-draft YAML. + - **Failure (informative):** It becomes clear that **the paper itself does not specify its problem clearly enough** to admit a periods/stages/perches decomposition — e.g. the budget at terminal is undefined, the timing of shock realization is ambiguous, the constraint set changes silently across sections. At this point, stop iterating and record the blocking ambiguities in `verification.md` under a "Paper under-specifies" heading. The item remains at **Primer** tier; it cannot reach Formalized until the ambiguities are resolved (by the formalizer making explicit modeling choices, by a companion note reconciling the paper's inconsistencies, or by correspondence with the authors). + +The iteration is where the economics lives. `bellman-excerpt.md` on its own is a file; the value is in the judgments made during the loop — which of Matsya's gaps are real, which are artifacts of the evaluator's priors, which expose genuine ambiguities in the paper. Those judgments are what `verification.md` records. + +### 3. Asset layer — required in part + +| File | Required? | Content | +|------|-----------|---------| +| `.pdf` | required | The paper. If license forbids redistribution, replace with a DOI-only pointer in `_intro.ipynb`. | +| `.mmd` | recommended | Pandoc-converted markdown of the paper. Much easier for Cursor / Claude / Matsya to ingest than PDF. Produce via `pandoc .pdf -o .mmd` or equivalent. | +| `references.bib` | required | Bib entries cited from `_prior-literature.ipynb` and `_summary.ipynb`. A superset is acceptable — uncited entries (e.g., a broader reading list the contributor maintains) do not need to be pruned. MyST renders only cited entries in the published bibliography. | +| `self.bib` | recommended | The paper's own bib entry. Keeps the paper citation separable from its context. | +| `subsequent-literature.bib` | required if the notebook is non-empty | Bib entries cited from `_subsequent-literature.ipynb`. | +| Figures / tables (e.g. `fig1.png`, `Table2.png`) | as needed | Use paper's own labels where possible. | + +### 4. REMARK-ready extension — optional + +If the formalization layer has stabilized and you have working code, add a `replication/` subdirectory with `reproduce.sh`, `CITATION.cff`, `binder/environment.yml`, and a validated (not draft) dolo-plus stage. At that point you are eligible to move the item to [REMARK](https://github.com/econ-ark/REMARK) or [DemARK](https://github.com/econ-ark/DemARK) per the criteria in those repos. + +--- + +## Machine-readable metadata (for AI indexing) + +Ballpark entries are designed to be discovered and cited by both humans and AI agents. The `index.md` frontmatter and an optional `AGENTS.md` provide the structured signals that make this work. + +### Required frontmatter fields on `index.md` + +```yaml +--- +title: " — Ballpark Entry" +schema_type: ScholarlyArticle # schema.org type; Dataset also acceptable +about: + doi: 10.XXXX/YYYY # paper DOI + authors: [LastName, LastName, LastName] + year: 2019 + journal: American Economic Review +keywords: [kebab-case, tags] # free-form topical tags +econ_ark_topic: # controlled vocabulary — pick from: + - HA-macro # HA-macro, lifecycle, wealth-distribution, + - wealth-distribution # monetary, fiscal-policy, optimal-taxation, + - lifecycle # housing, labor, business-cycles, + # computational-methods, open-economy, + # liquidity-trap, demographics, + # financial-crisis, inequality +jel: [D31, E21, J62] # JEL codes (array) +difficulty: stretch # good-first-ballpark | stretch | research-grade +tier: formalized # draft | primer | formalized — see "Ballpark tiers" below +has_formalization_layer: true # true iff the formalization-layer files exist +ballpark_contributor: + name: "" + orcid: "0000-0000-0000-0000" # optional but strongly encouraged +updated_by: # one entry per material revision; most recent last + - name: "" + orcid: "..." + date: 2026-01-27 +--- +``` + +MyST renders this frontmatter as JSON-LD on the published page, which Google Scholar, LLM training pipelines, and retrieval agents recognize. The same frontmatter powers the browsable catalog's filter UI (one source of truth). + +### Optional frontmatter extensions (recommended) + +```yaml +doi: 10.5281/zenodo.XXXXXXX # Zenodo DOI for this ballpark entry itself +superseded_by: https://github.com/econ-ark/REMARK/... # once promoted +requires: [CRRA, EGM, bequest-utility] # model features — free-form tags +``` + +### `AGENTS.md` (required for items with a formalization layer; recommended otherwise) + +A short structured brief aimed at coding agents (Claude Code, Cursor, etc.) that a user's local session will read when the directory is opened. Distinct from the human-readable `index.md`. See the [Benhabib_et_al_2019 worked example](models/We-Would-Like-In-Econ-ARK/Benhabib_et_al_2019/AGENTS.md). + +Purpose: + +- Point agents at the **right file to read first** (the `bellman-excerpt.md` if present, otherwise the summary notebook — not the paper PDF). +- Surface the **Matsya session name** so new calls continue the existing thread. +- List **known workarounds** / unresolved features so agents don't re-discover them. +- Suggest **common next tasks** so agents proposing work have a grounded starting point. + +#### How to produce your `AGENTS.md` + +Copy the template below into `AGENTS.md` in your item directory and fill in the six sections. Every section has a grounded source in files you have already produced — you should not be inventing content. + +| Section | Where its content comes from | +|---|---| +| **Paper** | `_intro.ipynb` — citation, DOI, one-sentence pitch of why the paper is in-ballpark. Copy verbatim; this is the one place duplication with `index.md` is intentional, because the agent may open `AGENTS.md` first. | +| **If a user asks to work on this item** | `_summary.ipynb` (section "The Model") is the authoritative recursive statement. `.mmd` is the AI-friendly paper source. If your formalization layer is present, point at `bellman-excerpt.md` as "read first" instead of the summary notebook. | +| **Formalization status** | Tick which layer files you committed: `bellman-excerpt.md`, `dolo-plus-draft.yaml`, `verification.md`, `matsya-session.txt`. Be honest about what is not yet present. | +| **Known model features requiring attention** | Pull from `verification.md` (the items you rejected or edited) and from the inline `# workaround:` / `# unresolved:` comments in `dolo-plus-draft.yaml`. This is the single most useful section for an agent — it is the list of things it should not re-discover. If the formalization layer is absent, list the model features you already know will be awkward (state-contingent shocks, mechanical deductions, non-standard normalizations, etc.). | +| **Common next tasks** | List what you intentionally left undone. Examples from real items: *"add terminal-period stage to YAML"*, *"formalize the dynasty wrapper"*, *"add age-varying wage overrides"*. Cite the specific file or line a next-task should touch. Do **not** list tasks you would have liked to do but have no grounding for. | +| **Workflow reminders** | Mostly boilerplate. Keep the Matsya session-naming convention (`topics2026-` for coursework), the paper-verification reminder, and the workaround-comment convention. Delete anything that does not apply to your item. | + +**Template** (copy and fill in): + +````markdown +# Ballpark entry: () + +> Structured brief for coding agents (Claude Code, Cursor, etc.). Human-facing content lives in [`index.md`](index.md). + +## Paper + +- **Citation:** . +- **DOI:** [](https://doi.org/) +- **Core model:** . +- **Why in-ballpark:** . + +## If a user asks to work on this item + +1. **Read first:** . +2. **Paper source for AI ingestion:** `.mmd` (Pandoc-converted). Prefer this over `.pdf`. + +## Formalization status + +- Explicit recursive formulation: . +- `bellman-excerpt.md`: (product of the Matsya iteration loop). +- `dolo-plus-draft.yaml`: . +- `verification.md`: . +- `matsya-session.txt`: . + +## Known model features requiring attention in a formalization pass + +- : . +- : ... +- : ... + +## Common next tasks (grounded) + +1. . +2. . +3. . + +## Workflow reminders + +- **Matsya session:** use `topics2026-` for new work on this item. +- **Paper verification:** Matsya output must be checked against the paper PDF (or `.mmd`), not only against the ballpark `_summary.ipynb`. +- **When flagging workarounds in YAML:** use inline `# workaround:` or `# unresolved:` comments rather than silently fudging non-canonical syntax. +```` + +**AI-assisted drafting (recommended).** Once your formalization layer is present, ask a coding agent (Claude Code, Cursor) to draft `AGENTS.md` from your item's files: + +> Read `index.md`, `_intro.ipynb`, `_summary.ipynb`, `bellman-excerpt.md`, `dolo-plus-draft.yaml`, and `verification.md` in this directory. Draft an `AGENTS.md` following the template in the repo-root `CONTRIBUTING.md`. Do not invent content — if a section lacks a grounded source in these files, write **TBD** for that section and explain what you would need. + +**Then review carefully.** Agents occasionally invent plausible-sounding "next tasks" or "workarounds" that are not grounded in your verification notes. Rewrite anything you cannot trace to a specific file. The point of `AGENTS.md` is that a later agent can trust it; that trust is wasted if you pass through hallucinations. + +### Repo-level artifacts (maintained centrally, not per item) + +- [`llms.txt`](llms.txt) at the repo root — a plain-text sitemap for LLMs following the [llmstxt.org](https://llmstxt.org) convention. Update this file when you add or rename an item. +- `items.json` (auto-generated from frontmatter during the MyST build) — machine-readable catalog; one object per item with the full frontmatter flattened. +- `sitemap.xml` and `atom.xml` — emitted by the MyST build. + +### Content-form conventions for LLM legibility + +- **Every committed `.ipynb` is also exported to `.md`** at build time. Reviewers and LLMs read the `.md`; the `.ipynb` remains authoritative. +- **Paper ships as `.mmd` alongside `.pdf`** where license permits (Pandoc-converted markdown — much easier for Cursor / Claude / Matsya to ingest than PDF). +- **Every equation carries an `:alt:` attribute** describing it in prose, for models that can't render LaTeX but can read HTML. +- **Every figure has alt-text** (WCAG and LLM indexability are the same action). + +### Model structure as first-class data (stretch) + +For items with a committed `dolo-plus-draft.yaml`, a generated `model.json` extracts the stage(s) into a programmatic form. This lets retrieval agents answer structural queries like *"find all ballpark items with an EGM-compatible interior stage"* or *"which items have Markov-chain employment states."* The extractor is maintained centrally; contributors do not hand-write `model.json`. + +### AI provenance (optional) + +If AI tools materially shaped the formalization layer, add `ai-provenance.md` documenting which tools played which role and linking the session artifacts. This gives both credit and traceability. + +--- + +## What does **not** belong in a ballpark item + +- `_build/` — gitignored. +- Build-artifact directories named by UUID (e.g. LaTeX `*.aux`, `*.out`, `*.synctex.gz` trees) — gitignored. +- `*.slides.html` — generated on demand; the source `.ipynb` is authoritative. +- Duplicate summary notebooks from older naming conventions (e.g. both `_summary.ipynb` and `_summary.ipynb`) — delete the duplicate at refactor time. +- `.zip` — the `.pdf` is enough; `.zip` is only appropriate if it contains replication code, in which case it belongs under `replication/`. +- An item-level `README.md` duplicating the project `README.md` — `index.md` is the entry point; an item-level `README.md` is redundant. + +--- + +## Authorship and provenance + +The intro notebook carries provenance as visible section content, not buried frontmatter: + +```markdown +**Original ballpark author:** , +**Updated by:** , +**Superseded by:** +``` + +When you revise an existing item, add (do not overwrite) an **Updated by** line. When an item is promoted to REMARK or DemARK, add a **Superseded by** pointer rather than deleting the ballpark entry — the ballpark retains historical interest. + +--- + +## Ballpark tiers + +Ballpark items progress through three tiers of increasing formalization completeness — analogous in spirit to REMARK's standard/published distinction but scoped entirely to *pre-implementation* work. The ballpark's job is to land a well-specified model ready for a coder; the implementation step (working `reproduce.sh`, `CITATION.cff`, `binder/environment.yml`) happens in [REMARK](https://github.com/econ-ark/REMARK) / [DemARK](https://github.com/econ-ark/DemARK), not here. + +Each tier is a **plateau** with a concrete, reviewable qualifying checklist. Contributors can stop at any tier indefinitely. + +| Tier | One-line characterization | Typical effort from the previous tier (AI-assisted, PhD-course-assignment units) | +|------|---------------------------|----------------------------------------------------------------------------------| +| **Draft** | Paper identified, claimed, and minimally cataloged. | **≈ 1 weekly assignment** (from zero / from a `wanted-ballpark` issue). | +| **Primer** | A reader can understand the paper and its context without reading the paper. | **≤ 2 weekly assignments** (from Draft). | +| **Formalized** | The model is stated in modular-DDSL form, with a dolo-plus YAML draft. | **≤ 2 weekly assignments** (from Primer). | + +Each name presupposes the tier below it: a *primer* is a completed introductory treatment of what a *draft* only sketches; a *formalized* specification is the rigorous re-expression of what the *primer* states informally. Rank order is unambiguous from the names alone. + +(A pre-tier state, **Wanted**, is an open issue labeled `wanted-ballpark` with bibliographic info. It has no directory.) + +### Draft + +*"I am claiming this paper and committing to minimal cataloging."* + +Qualifying checklist: + +- [ ] Item directory exists under `models/We-Would-Like-In-Econ-ARK//` (or `empirical//`). +- [ ] `index.md` with required frontmatter (including `tier: draft`). +- [ ] `_intro.ipynb` with citation, DOI link, **Original ballpark author + date**, and a 3-sentence pitch of why the paper is in-ballpark for Econ-ARK. +- [ ] `_summary.ipynb` with a **non-technical motivation + findings overview** of the paper (a graduate student can tell from this notebook what the paper is about and what it finds, without having read the paper). The rigorous **"The Model"** section stating the explicit recursive formulation is **not** required at Draft — it is added at Primer promotion. +- [ ] `references.bib` (may be empty at Draft). +- [ ] Paper committed as `.pdf` OR replaced by a DOI pointer with a license note in `_intro.ipynb`. + +Draft is the minimum mergeable contribution. It converts a `wanted-ballpark` issue into a claimed directory. + +### Primer + +*"A graduate student can orient themselves around this paper without reading it."* + +Qualifying checklist — everything in Draft, plus: + +- [ ] `_prior-literature.ipynb` situating the paper in its foundational literature, with `{cite:t}` citations resolving from `references.bib`. **Cite at least 3 and no more than 6 prior papers** — enough to establish context, few enough that the notebook stays focused. +- [ ] `_summary.ipynb` extended (the notebook already exists from Draft, carrying the non-technical motivation + findings overview) with a **"The Model"** section stating the recursive formulation **explicitly**: no `u(c)` placeholders, explicit CRRA or EZ kernel, explicit bequest function (if any), explicit transitions, explicit shock distributions, explicit constraint set. +- [ ] `_subsequent-literature.ipynb` + `subsequent-literature.bib`. **No hard citation count is required**, since recent papers may have few subsequent citations; the notebook should cite whatever subsequent work exists (typically 0–6 papers) and note explicitly if the paper is too recent to have accumulated much. (Paper eligibility itself is gated by the Google-Scholar-≥3 rule in "Before you start.") +- [ ] `self.bib` with the paper's own bib entry. +- [ ] `.mmd` (Pandoc-converted markdown of the paper) unless license forbids — this is what Cursor / Claude / Matsya read most effectively. +- [ ] `myst.yml` configured; `myst build` completes cleanly. +- [ ] `index.md` `{include}`s all four exposition notebooks in order. + +Primer is the current aspirational target for the typical legacy-slideware refactor. [`Benhabib_et_al_2019`](models/We-Would-Like-In-Econ-ARK/Benhabib_et_al_2019/) is the reference instance of this tier. + +### Formalized + +*"The model has been translated into a modular-DP specification ready for a coder."* + +Qualifying checklist — everything in Primer, plus: + +- [ ] `bellman-excerpt.md` — the product of the **Matsya iteration loop** described in "The formalization iteration" above. A standalone modular-DDSL Bellman statement containing **comprehensive symbol table**, timing convention, a **periods / stages / perches decomposition**, stage operator, and (where the iteration converged rather than terminating in informative failure) a "Stage composition" subsection aligned to SolvingMicroDSOPs §§12–13 and an EGM-channel discussion where the utility is invertible. The two required components in detail: + + - **Symbol table.** Lists **every object that appears — or might appear — in the formalized statement of the model**: states, controls, shocks, parameters, value functions, marginal-value functions, constraints, income maps, deterministic deductions, normalization factors, timing indices, type / family indices, and any other quantity referenced anywhere in the Bellman equation, transitions, or mover blocks. Each row gives the symbol, its role (state / control / shock / parameter / derived / …), its space or domain, and a one-line description. The intent is that a reader (human or agent) can read the symbol table alone and know what every subsequent symbol in the document means without hunting through prose. + + - **Perch decomposition.** Required for every stage. Names the three perches — **arrival** ($\prec$), **decision** ($\circ$), **continuation** ($\succ$) — and at each perch lists the state variables carried, the value function, and (at the decision perch) the control. Then names the two within-stage transitions: $\mathrm{g}_{\prec\circ}$ (arrival-to-decision, resolving shocks + building the decision-perch state) and $\mathrm{g}_{\circ\succ}$ (decision-to-continuation, the savings or poststate identity). Then names the two movers: the backward mover $\mathbb{B}$ (continuation-to-decision, which performs the $\max$ over the control) and the forward / arrival mover $\mathbb{I}$ (decision-to-arrival, which integrates over next-period shocks). Finally states the stage operator $\mathbb{T} = \mathbb{I} \circ \mathbb{B}$. + + **Stub or degenerate perches are fine** and should be explicitly labeled as such. A perch can be degenerate in several natural ways: an arrival mover $\mathbb{I}$ can collapse to the identity when there are no within-period shocks (as in Benhabib et al. 2019); an arrival-to-decision transition can be degenerate when the decision-perch state is carried unchanged from the arrival perch; a continuation perch can be a stub when the stage has no intertemporal linkage (rare, but allowed). What is **not** acceptable is omitting a perch, a transition, or a mover from the decomposition because it happens to be trivial — a reviewer must be able to tell "this is an identity" from "this was forgotten." +- [ ] `dolo-plus-draft.yaml` — one-stage YAML (interior period sufficient); all unresolved features flagged with inline `# workaround:` or `# unresolved:` comments. +- [ ] `verification.md` — one paragraph stating what was accepted / edited / rejected from Matsya's output, compared against the published paper (not only the `_summary.ipynb`). +- [ ] `matsya-session.txt` — the `--session` string used, if AI-assisted; or a file containing `N/A — hand-written` otherwise. +- [ ] **`AGENTS.md` — required at Formalized.** See the section above for how to produce it. + +Formalized is the ballpark's top tier. A *Formalized* item is ready to be picked up by a coder (human or agent) and promoted to REMARK or DemARK — the implementation work happens there, not here. + +### Beyond Formalized: promotion out of the ballpark + +Once a Formalized item has working code reproducing paper results, it is eligible for promotion to [REMARK](https://github.com/econ-ark/REMARK) (for substantial replications) or [DemARK](https://github.com/econ-ark/DemARK) (for demonstrations). REMARK itself has a tiering (*standard* vs. *published*-with-DOI); those criteria are documented at the REMARK repo and are not this repository's concern. + +When an item is promoted, add a **Superseded by** pointer in `_intro.ipynb` rather than deleting the ballpark entry — the entry retains historical and pedagogical interest. + +### Promotion mechanics within the ballpark + +- Each tier is a plateau; indefinite residence is fine. +- A **promotion PR** adds the next tier's files and updates `tier:` in the frontmatter. +- PR title pattern: `Promote to Primer` / `Promote to Formalized`. +- The PR body quotes the qualifying checklist for the target tier and ticks each box with a file-line citation. +- **Tier regression** (e.g. Formalized → Primer) is allowed when an item's formalization is found to be incorrect and is being withdrawn for revision; it should be rare and the PR must explain the defect. + +### Review policy + +Review requirements depend on the target tier. + +- **Draft and Primer: self-serve.** The contributor opens the PR, ticks the target tier's qualifying checklist in the PR body with file-line citations, and merges once the **automated checks** (see below) pass. No designated reviewer is required at these tiers because the qualifying criteria are mechanically checkable. + +- **Formalized: automated gate, then designated human reviewer.** The contributor opens the PR the same way, but: + + 1. **Automated rigorous check runs first.** CI runs the full Formalized checklist as executable checks (file-existence, YAML validity, MyST build, bib resolution, `AGENTS.md` section structure, symbol-table presence, perch-decomposition keyword presence, etc. — see "Automated checks" below). The PR **cannot be assigned to a human reviewer until CI passes**. + 2. **Human reviewer from `REVIEWERS.md`** (to be added; starts with the maintainer list) then approves before merge. The reviewer's job is specifically the things CI *cannot* check: economic correctness of the Bellman equation, correctness of the perch decomposition, defensibility of the YAML workarounds, whether `verification.md` actually compares to the published paper (versus merely claiming to), and quality of the model exposition. + + Rationale: Formalized is the tier where content can be plausible-looking-but-wrong, and catching that needs a reviewer with DP background. Gating the human review behind CI ensures reviewer time is spent on judgment, not on finding missing files. + +### Automated checks (CI) + +A `.github/workflows/ballpark-check.yml` action (forthcoming in a follow-up PR) will run per-tier checks and post a status on the PR. **A contributor's checklist tick is not sufficient** at any tier — CI must also pass. + +Per-tier mechanical gates the CI will enforce: + +- **Draft:** directory path correct; `index.md` frontmatter present with required fields and `tier:` value in controlled set; `_intro.ipynb` exists and contains citation / DOI / author; `_summary.ipynb` exists (non-technical motivation + findings overview — "The Model" heading is not yet required); `references.bib` exists; paper `.pdf` committed or DOI pointer present. +- **Primer** (additive): the remaining exposition notebooks (`_prior-literature.ipynb`, `_subsequent-literature.ipynb`) exist; `_summary.ipynb` now contains a **"The Model"** heading; `_prior-literature.ipynb` resolves **3–6** unique `{cite:t}` references against bib files; `self.bib` and `subsequent-literature.bib` exist; `.mmd` exists or license-note present; `myst.yml` present and `myst build` succeeds; `index.md` `{include}`s all four notebooks; every `{cite:t}` resolves; every referenced figure exists. +- **Formalized** (additive): `bellman-excerpt.md`, `dolo-plus-draft.yaml`, `verification.md`, `matsya-session.txt`, `AGENTS.md` all exist; `dolo-plus-draft.yaml` parses as YAML; `bellman-excerpt.md` contains a markdown table (heuristic: at least one pipe-delimited row with a Symbol column) and references all three perch names (`arrival`, `decision`, `continuation`); `AGENTS.md` contains the six required top-level sections (heading-based check). + +What CI does **not** check at Formalized (and therefore what the human reviewer is responsible for): the Bellman equation being correct, the perch decomposition being correct, the YAML workarounds being defensible, and `verification.md` genuinely comparing against the published paper. + +### Badges + +Each item's rendered page carries a tier badge (`Draft` / `Primer` / `Formalized`) at the top. Catalog cards show the badge so visitors can filter by tier (e.g. *"show me all Primer items that need promotion to Formalized"* — a natural call-to-contribute). + +The badge derives from the `tier:` frontmatter field; the MyST build pipeline renders it automatically. Contributors do not hand-insert badge markdown. + +### Effort calibration (for contributors and instructors) + +Effort is expressed in PhD-course-assignment units assuming AI-assisted workflow (Cursor + Claude + Matsya). These estimates are generous upper bounds: + +| Step | Upper bound | +|------|-------------| +| → Draft | 1 weekly assignment | +| Draft → Primer | ≤ 2 weekly assignments | +| Primer → Formalized | ≤ 2 weekly assignments | +| Total from zero to Formalized | ≤ 5 weekly assignments | + +These estimates guide course-project scoping: a full semester leaves ample room for a student to take a paper all the way to Formalized and start on the replication step (which then belongs in REMARK, not here). + +--- + +## Pre-merge checklist + +The target tier determines the checklist. Copy the target tier's qualifying checklist from the section above into your PR body and tick each box with a file-line citation. **In addition**, every PR (regardless of tier) must confirm: + +- [ ] `index.md` `{include}`s exactly the four exposition notebooks, in order (T2 and above). +- [ ] `myst.yml` builds the item without errors (`myst build` in the item directory). +- [ ] Every `{cite:t}` reference resolves against the bib files. +- [ ] Every figure the notebooks reference exists and renders. +- [ ] `_intro.ipynb` carries visible **Original ballpark author** and (if applicable) **Updated by** lines. +- [ ] No `_build/`, UUID build directories, or `.slides.html` files are committed. + +--- + +## Submitting + +1. Fork the repo and branch from `master` with a descriptive name (e.g. `add-` or `refactor-`). +2. Commit the item in its own directory under `models/We-Would-Like-In-Econ-ARK//` (or `empirical//`). +3. Open a PR titled `Add ` or `Refactor `. +4. In the PR description, state which layers you produced and which you intentionally skipped. diff --git a/README.md b/README.md index bb03d329..d67d204b 100644 --- a/README.md +++ b/README.md @@ -28,6 +28,8 @@ As an example of the kinds of things we are looking for, see the [paper](https:/ The papers listed herein are a small subset of the ones that we would welcome into the Econ-ARK. If you want to work on a paper that is not listed here, post an "issue" on the repo asking (and providing a link and bibliographical reference for the paper in question). If it is likely to prove interesting to our audience, we are very likely to encourage you to replicate it. +For what a ballpark item should contain and how to submit one, see [CONTRIBUTING.md](CONTRIBUTING.md). + ## Environment Setup This repo uses [uv](https://docs.astral.sh/uv/) for dependency management and keeps per-platform environments in directories named `.venv--` (matching the pattern used in `HAFiscal-Latest`). Install uv first (`brew install uv` or `curl -LsSf https://astral.sh/uv/install.sh | sh`). diff --git a/llms.txt b/llms.txt new file mode 100644 index 00000000..a6fced1c --- /dev/null +++ b/llms.txt @@ -0,0 +1,58 @@ +# Econ-ARK Ballpark + +> A curated catalog of economics papers we would welcome into the Econ-ARK +> ecosystem as replications ([REMARK](https://github.com/econ-ark/REMARK)) +> or demonstrations ([DemARK](https://github.com/econ-ark/DemARK)). Each +> entry provides a paper's recursive-problem formulation in explicit form, +> and where available a modular dynamic-programming (dolo-plus) draft +> suitable for AI-assisted formalization. + +Target audience: graduate students, course instructors, structural-macro +researchers, and agent systems doing scholarly retrieval. Ballpark entries +are designed to be the natural starting point for turning a published paper +into a reproducible, citable Econ-ARK contribution. + +## Workflow documents + +- [CONTRIBUTING.md](CONTRIBUTING.md): Canonical structure for a ballpark entry — exposition, formalization, and asset layers, plus machine-readable metadata. +- [README.md](README.md): Project framing and the promotion path from ballpark → REMARK / DemARK → HARK tool. +- [models.md](models.md): Pointer into the catalog. + +## Items + +Each item lives at `models/We-Would-Like-In-Econ-ARK//index.md`. Tiers (see [CONTRIBUTING.md](CONTRIBUTING.md#ballpark-tiers)): +- **Draft** — paper claimed, minimal cataloging. +- **Primer** — four-notebook exposition layer + explicit recursive model statement. +- **Formalized** — bellman excerpt, dolo-plus YAML draft, verification, `AGENTS.md`. (Ready for a coder to promote to REMARK/DemARK.) + +Most items are currently Draft (legacy slideware format pre-dates the tier system). Refactoring a Draft item to Primer is an explicitly welcome PR and is scoped for ≤2 weekly PhD-course assignments with AI assistance. + +- [Benhabib_et_al_2019](models/We-Would-Like-In-Econ-ARK/Benhabib_et_al_2019/): Lifecycle wealth distribution with heterogeneous returns and warm-glow bequests. Topic: wealth-distribution, lifecycle. Tier: Primer. +- [AHLifeCycleExpenditure](models/We-Would-Like-In-Econ-ARK/AHLifeCycleExpenditure/): Lifecycle expenditure profiles. Topic: lifecycle. Tier: Draft. +- [ARMonetaryPolicyHABC](models/We-Would-Like-In-Econ-ARK/ARMonetaryPolicyHABC/): Algan–Ragot heterogeneous-agent monetary policy with money in utility. Topic: HA-macro, monetary. Tier: Draft. +- [clMonetary](models/We-Would-Like-In-Econ-ARK/clMonetary/): Monetary-policy model. Topic: monetary. Tier: Draft. +- [Fujiwara_Teranishi](models/We-Would-Like-In-Econ-ARK/Fujiwara_Teranishi/): Monetary policy with heterogeneous agents. Topic: HA-macro, monetary. Tier: Draft. +- [GKKOCWealthTax](models/We-Would-Like-In-Econ-ARK/GKKOCWealthTax/): Optimal wealth taxation with heterogeneous agents. Topic: optimal-taxation, wealth-distribution. Tier: Draft. +- [GKNMonetaryPolicyHA](models/We-Would-Like-In-Econ-ARK/GKNMonetaryPolicyHA/): Gornemann–Kuester–Nakajima monetary policy with heterogeneous agents. Topic: HA-macro, monetary. Tier: Draft. +- [Guerrieri_Lorenzoni2017](models/We-Would-Like-In-Econ-ARK/Guerrieri_Lorenzoni2017/): Credit crises, precautionary savings, and the liquidity trap. Topic: HA-macro, liquidity-trap. Tier: Draft. +- [HKMOHousingChannelMP](models/We-Would-Like-In-Econ-ARK/HKMOHousingChannelMP/): Housing channel of monetary policy with heterogeneous agents. Topic: HA-macro, housing, monetary. Tier: Draft. +- [HKSWealthDistribution](models/We-Would-Like-In-Econ-ARK/HKSWealthDistribution/): Hubmer–Krusell–Smith quantitative theory of the U.S. wealth distribution. Topic: wealth-distribution, HA-macro. Tier: Draft. +- [KMVBoomBust](models/We-Would-Like-In-Econ-ARK/KMVBoomBust/): Boom-bust dynamics. Topic: HA-macro, business-cycles. Tier: Draft. +- [Kumhof_et_al_2015](models/We-Would-Like-In-Econ-ARK/Kumhof_et_al_2015/): Inequality, leverage, and crises. Topic: inequality, financial-crisis. Tier: Draft. +- [MK3TagTax](models/We-Would-Like-In-Econ-ARK/MK3TagTax/): Optimal tagged taxation. Topic: optimal-taxation. Tier: Draft. +- [OpenHA](models/We-Would-Like-In-Econ-ARK/OpenHA/): Open-economy heterogeneous-agent model. Topic: HA-macro, open-economy. Tier: Draft. +- [OptimalTaxHeight](models/We-Would-Like-In-Econ-ARK/OptimalTaxHeight/): Optimal taxation with height as a tag. Topic: optimal-taxation. Tier: Draft. +- [OptimumDebt](models/We-Would-Like-In-Econ-ARK/OptimumDebt/): Aiyagari–McGrattan optimum quantity of public debt. Topic: HA-macro, fiscal-policy. Tier: Draft. +- [PopAgingMPtransmission](models/We-Would-Like-In-Econ-ARK/PopAgingMPtransmission/): Population aging and monetary-policy transmission. Topic: demographics, monetary. Tier: Draft. +- [Ravn_Sterk_2021](models/We-Would-Like-In-Econ-ARK/Ravn_Sterk_2021/): Macroeconomic fluctuations with heterogeneous agents. Topic: HA-macro. Tier: Draft. +- [Reiter_2009](models/We-Would-Like-In-Econ-ARK/Reiter_2009/): Solving heterogeneous-agent models by projection and perturbation. Topic: computational-methods. Tier: Draft. +- [SSJ_2021](models/We-Would-Like-In-Econ-ARK/SSJ_2021/): Sequence-space Jacobian methods for heterogeneous-agent models. Topic: HA-macro, computational-methods. Tier: Draft. +- [TaxingWomen](models/We-Would-Like-In-Econ-ARK/TaxingWomen/): Guner–Kaygusuz–Ventura taxation and female labor supply. Topic: lifecycle, optimal-taxation, labor. Tier: Draft. + +## Already in Econ-ARK + +- [tools/Already-Partway-In-Econ-ARK](tools/Already-Partway-In-Econ-ARK/): Papers whose methods are partly implemented in HARK. + +## Optional + +- [models/We-Would-Like-In-Econ-ARK.ipynb](models/We-Would-Like-In-Econ-ARK.ipynb): Legacy notebook surveying housing-and-heterogeneity papers. diff --git a/models/We-Would-Like-In-Econ-ARK.md b/models/We-Would-Like-In-Econ-ARK.md index 4880c5d2..686944d3 100644 --- a/models/We-Would-Like-In-Econ-ARK.md +++ b/models/We-Would-Like-In-Econ-ARK.md @@ -2,5 +2,21 @@ In this directory are: -1. The [Jupyter notebook](./We-Would-Like-In-Econ-ARK.ipynb) is a collection of a set of papers on housing and heterogeneity compiled by Shujaat Khan -1. The [We-Would-Like-In-Econ-ARK](./We-Would-Like-In-Econ-ARK) directory contains, in each directory, unstructured information about a specific paper we would like to have in the ballpark +1. The [Jupyter notebook](./We-Would-Like-In-Econ-ARK.ipynb) — a collection of papers on housing and heterogeneity compiled by Shujaat Khan. +2. The [We-Would-Like-In-Econ-ARK](./We-Would-Like-In-Econ-ARK) directory — one subdirectory per paper (named by Zotero citekey). + +## What goes in each paper subdirectory + +See [CONTRIBUTING.md](../CONTRIBUTING.md) for the canonical structure (exposition, formalization, and asset layers) and the pre-merge checklist. + +The [Benhabib_et_al_2019](./We-Would-Like-In-Econ-ARK/Benhabib_et_al_2019/) subdirectory is the reference instance of the current structure: + +- `index.md` assembling four content notebooks +- `_intro.ipynb` (metadata + provenance) +- `_prior-literature.ipynb` +- `_summary.ipynb` (with an explicit "The Model" recursive formulation) +- `_subsequent-literature.ipynb` +- Split bib files (`references.bib`, `self.bib`, `subsequent-literature.bib`) +- Paper as `.pdf` plus optionally `.mmd` for AI ingestion + +Older items in this directory follow a legacy "slideware" pattern (a single summary notebook with figures scraped from the paper). Refactoring a legacy item to the canonical structure is an explicitly welcome PR. diff --git a/models/We-Would-Like-In-Econ-ARK/Benhabib_et_al_2019/.gitignore b/models/We-Would-Like-In-Econ-ARK/Benhabib_et_al_2019/.gitignore index 69fa449d..e86da25e 100644 --- a/models/We-Would-Like-In-Econ-ARK/Benhabib_et_al_2019/.gitignore +++ b/models/We-Would-Like-In-Econ-ARK/Benhabib_et_al_2019/.gitignore @@ -1 +1,7 @@ _build/ + +# MyST/Mathpix paper-conversion build artifacts (UUID-named) +08a6e8af-7a69-44c4-8e23-91ed2e58d762/ + +# Paper download archive +Benhabib_et_al_2019.zip diff --git a/models/We-Would-Like-In-Econ-ARK/Benhabib_et_al_2019/AGENTS.md b/models/We-Would-Like-In-Econ-ARK/Benhabib_et_al_2019/AGENTS.md new file mode 100644 index 00000000..017a02aa --- /dev/null +++ b/models/We-Would-Like-In-Econ-ARK/Benhabib_et_al_2019/AGENTS.md @@ -0,0 +1,50 @@ +# Ballpark entry: Benhabib, Bisin, and Luo (2019) + +> Structured brief for coding agents (Claude Code, Cursor, etc.). Human-facing content lives in [`index.md`](index.md). + +## Paper + +- **Citation:** Benhabib, Bisin, and Luo (2019), "Wealth Distribution and Social Mobility in the US: A Quantitative Approach," *American Economic Review* 109(5), 1623–1647. +- **DOI:** [10.1257/aer.20151684](https://doi.org/10.1257/aer.20151684) +- **Core model:** Finite-lifetime consumption-savings with warm-glow bequest at $T$; no within-life shocks; heterogeneous $(r, w)$ drawn once per dynasty. +- **Why in-ballpark:** Canonical example of heterogeneous-returns driving the wealth tail — a headline result in modern HA macro. + +## If a user asks to work on this item + +1. **Read first:** [`bellman-excerpt.md`](bellman-excerpt.md) — the modular-DDSL Bellman statement with comprehensive symbol table, perch decomposition, stage operators, and EGM channel. This is the authoritative formalization input; a YAML-drafting agent should read this before touching the notebooks. +2. **For economic context beyond the formalization:** `Benhabib_et_al_2019_summary.ipynb` → "The Model". +3. **Paper source for AI ingestion:** `Benhabib_et_al_2019.mmd` (Pandoc-converted). Prefer this over `Benhabib_et_al_2019.pdf`. + +## Formalization status + +- Explicit recursive formulation: **present** in `_summary.ipynb`. +- `bellman-excerpt.md`: **committed**. Within-lifetime stage problem under the online-Appendix-A.1 model (= the authors' actual numerical solution; see Open Issue #10). Paper-faithful: chain-rule factor on `dV[<]`, β-on-bequest convention, and consumption-bound constraint all reconciled with the appendix. Symbol table carries paper-calibrated values (Tables 1, 4). +- `dolo-plus-draft.yaml`: **committed**. Canonical stage structure under the appendix-A.1 model; `calibration_family` block carries paper Table 1 (10×6 earnings) and Table 4 values; `population.Pi_r` carries the full 5×5 transition matrix from online Appendix C.1. Three SPECULATIVE blocks (`terminal:`, `calibration_family:`, per-age override mechanism) flagged inline as `# unresolved:` (definitively confirmed UNRESOLVED at the dolo-plus spec level by matsya 2026-04-27). +- `dynasty-excerpt.md`: **committed**. Dynasty-level / cross-generational composition layer — formalizes the lifetime map $g(\cdot;\tau,r)$, the independent intergenerational Markov chains $\Pi_\tau \otimes \Pi_r$, and the paper's Proposition on stationary distributions / Pareto tails. Sibling of `bellman-excerpt.md`. +- `dolo-plus-dynasty.yaml`: **committed**. Dolo-plus YAML for the dynasty composition; references `dolo-plus-draft.yaml` for the within-life family. Cross-generational composition syntax is SPECULATIVE throughout (no canonical idiom in dolo-plus per matsya). Reproduces the $\Pi_r$ matrix for self-containment; $\Pi_\tau$ matrix is flagged as UNRESOLVED pending separate fetch from Chetty et al. data tables or BBL replication package. +- `verification.md`: **committed**. Compares the within-life YAML against the paper (§I + online appendix A.1); paper's description is sufficient; remaining gaps are dolo-plus spec gaps, not paper gaps. +- `matsya-session.txt`: **committed** (`topics2026-benhabib-demo`, 6 turns). + +## Known model features requiring attention in a formalization pass + +- **Perch-ready notation convention.** The recursive problem in `_summary.ipynb` → "The Model" → "Recursive Formulation" uses an explicit, perch-ready convention: $a_t$ = beginning-of-period wealth; $m_t \coloneqq (1+r)a_t + w_t$ = cash-on-hand at the decision perch; $a_{t+1} = m_t - c_t$ = savings identity. The paper's own compact statement ($a' = (1+r)a - c + w$ with $0 \le c \le a$) carried an `a`-double-role ambiguity; the notebook's current rewrite resolves it. **A formalizer should build on the notebook's convention, not re-derive from the paper.** +- **Terminal period under-specified.** Warm-glow $e(a_T) = A a_T^{1-\mu} / (1-\mu)$ is stated, but the budget at $T$ is left implicit (is there a $w_T$? does $e$ apply to savings or to post-return assets?). A complete formalization must resolve this explicitly. +- **Dynasty-level heterogeneity** is the paper's distinguishing feature: $(r, w)$ fixed within a life, stochastic across generations. A single-agent lifecycle YAML is not sufficient to reproduce the paper's tail-thickness result — you need a dynasty-level wrapper or a parameterized family indexed by $(r, w)$ draws. +- **Age profile $w_t$** should not flatten to a scalar `w` in the YAML. The period template needs age-varying wage overrides. +- **Stochastic return process.** $r^n$ is a **finite 5-state Markov chain** in the paper's baseline, with off-diagonal probabilities that decay geometrically away from the diagonal (except the last row, which uses constant off-diagonals); see paper §I and footnote 13. A simple AR(1) or lognormal shock does **not** capture the paper's specification — the YAML's `exogenous` block must accommodate the Markov-chain structure. See `_summary.ipynb` → "The Model" → "Stochastic Structure" for the full specification. +- **Wealth-dependent return (Section IIID extension).** The paper considers an optional extension in which the Markov state space of $r^n$ depends on the agent's initial wealth $a_1$. Improves fit; a complete formalization should note this as an alternative stage structure rather than silently baking in the independence assumption. + +## Common next tasks (grounded) + +1. ~~**Produce the formalization layer** (`bellman-excerpt.md`, `dolo-plus-draft.yaml`, `verification.md`, `matsya-session.txt`) from the recursive formulation in `_summary.ipynb`, via the Matsya iteration loop described in the repo-root `CONTRIBUTING.md`.~~ ✅ Done (2026-04-19, refined 2026-04-27). +2. ~~**Add the terminal-period stage** to the YAML (warm-glow closure).~~ ✅ Done (boundary wiring + $\tilde A = A/\beta$ absorption per Open Issue #9). +3. ~~**Formalize the dynasty wrapper** — type-indexed family over $(r, w)$ draws.~~ ✅ Done 2026-04-27 (`dynasty-excerpt.md` + `dolo-plus-dynasty.yaml`). +4. **Convert figures to alt-text-annotated MyST directives** for accessibility and LLM legibility. +5. **Section IIID variant**: separate dynasty pair for the wealth-dependent $r$ extension. Stage structure unchanged; the $r$-chain becomes state-conditioned on $a$. Currently flagged as out-of-scope in both `bellman-excerpt.md` (Open Issue #6) and the new dynasty pair. +6. **$\Pi_\tau$ matrix transcription**: the 10×10 chain is described in online Appendix B.2 only by procedure (collapse Chetty et al. 2014's 100×100); reconstruction requires either Chetty et al.'s `online_data_tables.xls` or the BBL replication package at `https://doi.org/10.3886/E113112V1`. Mechanical fetch; closes the only remaining data gap (dynasty-layer, doesn't block the within-life formalization). + +## Workflow reminders + +- **Matsya session:** use the course convention `topics2026-` for new work on this item. +- **Paper verification:** Matsya output must be checked against the paper PDF (or `.mmd`), not only against the ballpark `_summary.ipynb` — the notebook is a summary with known simplifications. +- **When flagging workarounds in YAML:** use inline `# workaround:` or `# unresolved:` comments rather than silently fudging non-canonical syntax. diff --git a/models/We-Would-Like-In-Econ-ARK/Benhabib_et_al_2019/BBL_summary.ipynb b/models/We-Would-Like-In-Econ-ARK/Benhabib_et_al_2019/BBL_summary.ipynb deleted file mode 100644 index 8439f138..00000000 --- a/models/We-Would-Like-In-Econ-ARK/Benhabib_et_al_2019/BBL_summary.ipynb +++ /dev/null @@ -1,166 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Benhabib, Bisin, and Luo\n", - "\n", - "## Weath Distribution and Social Mobility in the U.S.: A Quantitative Approach (AER 2019)\n", - "\n", - "#### Summary" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "This paper presents a comprehensive analysis of the factors influencing wealth dynamics and social mobility in the United States. Key findings include:\n", - "\n", - "The main findings are listed below:\n", - "\n", - "- Motivation: Wealth is unequally distributed, with significant skewness and a thick right tail, where the top 1% holds a disproportionately large share of wealth.\n", - "- The lifecycle model developed in the study identifies three main factors driving these outcomes: skewed earnings distribution, differential savings rates across wealth levels, and stochastic idiosyncratic returns to wealth. All three factors are crucial for matching the observed wealth distribution and mobility patterns.\n", - "- The model developed matches empirical data well, and counterfactuals provide insights into the relative importance of the above factors in driving the wealth accumulation and distribution in the US." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Non-Technical Methodical Overview\n", - "\n", - "The paper develops a macroeconomic model to explore wealth accumulation, distribution, and social mobility in the U.S., focusing on three main forces:\n", - "\n", - "1. Stochastic Earnings: Research shows income variability plays a key role in wealth inequality, affecting saving decisions and consumption patterns, particularly for the bottom 60% of households. However, it does not account for the wealth concentration among the wealthiest.\n", - "\n", - "2. Heterogeneous Rate of Return: Studies have identified significant variations in the risk-adjusted returns on investments across households, contributing to the wealth distribution's long tail. This variation is consistent over time and linked with entrepreneurial activity.\n", - "\n", - "3. Differential saving rates across wealth levels: The model includes increasing bequest motives with wealth, suggesting a stronger saving motive among the wealthiest, who aim to leave significant assets for their heirs. This perpetuates the transfer of large estates through generations.\n", - "\n", - "The analysis finds that stochastic earnings, differential savings, and capital income risk critically shape the wealth distribution's tail and social mobility. Capital income risk and differential savings widen the wealth distribution's tail and influence mobility, particularly enhancing it at the top end but reducing upward mobility from the bottom 20%. Despite being less impactful in the tail, stochastic earnings are vital for overall wealth mobility. Additionally, their findings suggest a wealth-dependent return rate enhances model fit across the wealth distribution.\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### The Model\n", - "\n", - "A fairly simple microfounded model of lifecycle consumption and savings. Each agent's life span is finite and deterministic, T years. \n", - "\n", - "#### Features of the model\n", - "\n", - "1. Every period agents choose how much to consume ($c_t$) and save ($a_t$) out of their market resources.\n", - "2. All agents are subjected to a no borrowing constraint.\n", - "3. Agents leave bequests $a_{T}$ at the end of life T.\n", - "4. Wealth accumulates from savings and bequests.\n", - "5. Every agent is assigned an idiosyncratic rate of retturn r and life-time labor earnings profile $\\left\\{w_{t} \\right\\}_{t=1}^{T}$ possibly correlated with those of the parent. \n", - "6. Rate of return and earnings are stochastic across generations but deterministic within generation.\n", - "\n", - "#### Preferences\n", - "Preferences are composed of:\n", - "1. per period utility from consumption\n", - "2. warm-glow utility from bequests at T, $e(a_{T})$\n", - "$$\n", - "\\begin{aligned}\n", - "& u(c_t) = \\frac{c_{t}^{1 - \\sigma}}{1 - \\sigma}, \\quad \\quad e(a_t) = A\\frac{a_{T}^{1 - \\mu}}{1 - \\mu} \\\\\n", - "\\end{aligned}\n", - "$$\n", - "\n", - "#### Recursive Formulation\n", - "Given initial wealth $a_0$, earnings profile and rate of return, each agent's optimization problem is:\n", - "$$\n", - "\\begin{aligned}\n", - "& V_{t}(a) = \\max_{c, a'} u(c) + \\beta V_{t+1}(a') \\\\\n", - "& \\text{s.t.c} \\\\\n", - "& a' = (1+r)a - c + w \\\\\n", - "& 0 \\leq c \\leq a, \\quad t = 1,..., T-1\\\\\n", - "& V_{T}(a) = u(c) + e(a')\\\\\n", - "\\end{aligned}\n", - "$$\n", - "\n", - "The solution to the above problem is a stochastic difference equation for the initial wealth of dynasties, induced by the $\\left\\{r^n, w^n \\right\\}_{n}$, mapping $a^{n-1}$ into $\\left\\{a^{n} \\right\\}_{n}$, where superscript correspond to the nth generation.\n", - "$$\n", - "\\begin{aligned}\n", - "& a^{n} = g(a^{n-1}; r^{n}, w^{n}) \\\\\n", - "\\end{aligned}\n", - "$$\n", - "\n", - "Under the given assumptions of the model, the following holds:\n", - "1. If $\\mu = \\sigma$ $\\implies$ the stochastic process $\\left\\{a^{n} \\right\\}_{n}$ has a stationary distribution\n", - "2. If $\\mu < \\sigma$ $\\implies$ savings rate increases with wealth (stationary dist. might not exist). If it does exist, then it displays a thick tail.\n", - "\n", - "#### Quantitative Analysis\n", - "\n", - "The paper uses method of simulated moments (MSM) to identify unknown parameters.\n", - "\n", - "1. Externally calibrate some parameters of the model\n", - "2. Estimate remaining parameters of the model by matching the targeted moments generated by the stationary distribution induced by the model and those in the data\n", - "\n", - "\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Results\n", - "\n", - "At the estimated parameter values, the model induced wealth distribution closely resembles the wealth distribution in the data.\n", - "- The estimates point to the existence of differential saving behavior (bequest motives)\n", - "- Capital income risk an important factor in driving wealth inequality\n", - "\n", - "Next, paper shuts down each of the three main factors listed above. The objective of this counterfactual exercise is to gauge the relative importance of the three mechanisms in driving the distribution of wealth.\n", - "\n", - "#### Summary\n", - "\n", - " 1. No rate of return heterogeneity $\\implies$ higher bequest motive (A doubles relative to baseline) & model can't match the upper tail of the wealth distribution (Table-15-row(3))\n", - "\n", - "\n", - " 2. No stochastic earnings $\\implies$ relative prefernce for bequests $\\uparrow$ while nothing else changes substantially & model does not miss as much in mimicing the upper tail of the wealth distribution $\\implies$ stochastic earnings not driving the behavior of the right-tail of wealth distribution. \n", - " - However, social mobility matrix fit implied by this counterfactual is bad $\\implies$ stochastic earnings matter for social mobility\n", - "\n", - "\n", - " 3. Homogeneous Saving rates $\\implies$ preference for bequests $\\uparrow$, capital income is riskier & extremely bad fit in matching the upper tail of the wealth ditribution\n", - "\n", - "\"Alt\n", - "\n", - "Lastly, paper describes transitional dynamics of the wealth distribution within the confines of the model. In particular, paper conducted an analysis using the SCF 1962–1963 wealth distribution as a starting point, estimating model parameters to match with the 2007 SCF distribution and previously used transition matrices. The findings highlight a significant rise in wealth inequality during this period, with the top 1% share increasing from 24.2% to 33.6%. The updated estimates reveal that this surge in inequality can be traced through enhanced capital income risk and differential savings, resulting in a skewed wealth distribution that closely matches empirical data, especially at the higher end. However, this model overestimates social mobility across wealth brackets. \n", - "\n", - "\"Alt\n", - "\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Conclusion\n", - "\n", - "The authors of the paper developed a standard macroeconomic model to explore the distribution of wealth in the United States, with a specific focus on the distribution's tail. The model is notable for its ability to closely fit the observed data across the entire wealth spectrum and accurately capturing the social mobility trends. Through their analysis, the authors successfully identified three key factors contributing to wealth accumulation: skewed and persistent earnings distribution, differential saving and bequest rates across wealth levels, and capital income risk associated with entrepreneurship. Each factor plays a distinct and empirically validated role in shaping both the wealth distribution and mobility. The paper also delves into the transitional dynamics of wealth distribution, with preliminary findings suggesting rapid changes over time, indicating promising areas for future research." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Limitations\n", - "\n", - "The model ignores the following key features that are relevant for doing a proper quantitative study:\n", - " - overlapping generation demographic structure which is crucial for modeling accidental bequests\n", - " - permanent income heterogeneity and within lifetime permanent income risk (important for capturing savings done to counter that risk)\n", - " - having luxury-type bequest motives. In their absence, even agents located at lower end of the wealth distribution saves for leaving bequests. But that is not supported in data. Luxury-type bequest motives can solve that problem.\n", - " - mortality risk which again alters the saving behavior of retirees\n", - " - medical risk\n" - ] - } - ], - "metadata": { - "language_info": { - "name": "python" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/models/We-Would-Like-In-Econ-ARK/Benhabib_et_al_2019/Benhabib_et_al_2019.mmd b/models/We-Would-Like-In-Econ-ARK/Benhabib_et_al_2019/Benhabib_et_al_2019.mmd new file mode 100644 index 00000000..2559db8b --- /dev/null +++ b/models/We-Would-Like-In-Econ-ARK/Benhabib_et_al_2019/Benhabib_et_al_2019.mmd @@ -0,0 +1,692 @@ +\title{ +Wealth Distribution and Social Mobility in the US: A Quantitative Approach ${ }^{\dagger}$ +} + +\author{ +By Jess Benhabib, Alberto Bisin, and Mi Luo* +} + +\begin{abstract} +We quantitatively identify the factors that drive wealth dynamics in the United States and are consistent with its skewed cross-sectional distribution and with social mobility. We concentrate on three critical factors: (i) skewed earnings, (ii) differential saving rates across wealth levels, and (iii) stochastic idiosyncratic returns to wealth. All of these are fundamental for matching both distribution and mobility. The stochastic process for returns which best fits the cross-sectional distribution of wealth and social mobility in the United States shares several statistical properties with those of the returns to wealth uncovered by Fagereng et al. (2017) from tax records in Norway. (JEL D31, E13, E21, E25) +\end{abstract} + +Wealth in the United States is unequally distributed, with a Gini coefficient of 0.82 . It is skewed to the right, and displays a thick, right tail: the top 1 percent of the richest households in the United States hold over 33.6 percent of wealth. ${ }^{1}$ At the same time, the United States is characterized by a nonnegligible social mobility, with an intergenerational Shorrocks mobility index $0.88 .^{2}$ This paper attempts to quantitatively identify the factors that drive wealth dynamics in the United States and are consistent with the observed cross-sectional distribution of wealth and with the observed social mobility. + +To this end, we first develop a macroeconomic model displaying various distinct wealth accumulation factors. Once we allow for an explicit demographic structure, the model delivers implications for social mobility as well as for the cross-sectional + +\footnotetext{ +*Benhabib: Department of Economics, New York University, 19 W 4th Street, FL 6, New York, NY 10012, and the National Bureau of Economic Research (email: jess.benhabib@nyu.edu); Bisin: Department of Economics, New York University, 19 W 4th Street, FL 6, New York, NY 10012, and the National Bureau of Economic Research (email: alberto.bisin@nyu.edu); Luo: Department of Economics, Emory University, 1602 Fishburne Drive, Atlanta, GA 30307 (email: mi.luo@emory.edu). Luigi Pistaferri was the coeditor for this paper. Thanks to seminar audiences at Duke, NYU, Minneapolis Fed, SED-Warsaw, Lake Baikal Summer School, SAET-Cambridge, University College of London, Wharton School, NBER Summer Institute. Special thanks to Alberto Alesina, Fernando Alvarez, Orazio Attanasio, Laurent Calvet, Tim Christensen, Tim Cogley, Mariacristina De Nardi, Pat Kehoe, Dirk Krueger, Per Krusell, Konrad Menzel, Ben Moll, Andrew Newman, Tom Sargent, Ananth Seshadri, Rob Shimer, Kevin Thom, Gianluca Violante, Daniel Xu, Fabrizio Zilibotti. Special thanks to Luigi Guiso, for many illuminating discussions and for spotting a mistake in a previous version, to the editor and the referees for their exceptional work on the paper. Generous financial support from the Washington Center for Equitable Growth is gratefully acknowledged. +${ }^{\dagger}$ Go to https://doi.org/10.1257/aer. 20151684 to visit the article page for additional materials and author disclosure statements. +${ }^{1}$ See Díaz-Giménez, Glover, and Ríos-Rull (2011), Table 6, elaborating data from the 2007 SCF. +${ }^{2}$ See Charles and Hurst (2003), Table 2, from PSID data. By construction, mobility matrices have Shorrocks indices increasing as the transition step gets long (indeed the index converges to 1 as the step goes to $\infty$ ). +} +distribution. We then match the moments generated by the model to several empirical moments of the observed distribution of wealth as well as of the social mobility matrix. While the model is very stylized and parsimonious, it allows us to identify various distinct wealth accumulation factors through their distinct role on inequality and mobility. + +Many recent studies of wealth distribution and inequality focus on the relatively difficult task of explaining the thickness of the upper tail. We shall concentrate mainly on three critical factors previously shown, typically in isolation from each other, to affect the tail of the distribution, empirically and theoretically. First, a skewed and persistent distribution of stochastic earnings translates, in principle, into a wealth distribution with similar properties. A large literature in the context of Aiyagari-Bewley economies has taken this route, notably Castañeda et al. (2003) and Kindermann and Krueger (2015). ${ }^{3}$ Another factor which could contribute to generating a skewed distribution of wealth is differential saving rates across wealth levels, with higher saving and accumulation rates for the rich. In the literature this factor takes the form of non-homogeneous bequests, bequests as a fraction of wealth that are increasing in wealth; see, for example, De Nardi (2004)..$^{4}$ Stochastic idiosyncratic returns to wealth, or capital income risk, also has been shown to induce a skewed distribution of wealth, in Benhabib, Bisin, and Zhu (2011); see also Quadrini (2000) and Cagetti and De Nardi (2006), which focuses on entrepreneurial risk. ${ }^{5}$ Finally, allowing rates of return on wealth to be increasing in wealth might also add to the skewness of the distribution. This could be due, e.g., to the existence of economies of scale in wealth management, as in Kacperczyk, Nosal, and Stevens (2015), or to fixed costs of holding high return assets, as in Kaplan, Moll, and Violante (2016). See Saez and Zucman (2016), Fagereng et al. (2016, 2017), and Piketty (2014, p. 447) for evidence about the relationship between returns and wealth. + +While all of these factors possibly contribute to produce skewed wealth distributions, their relative importance remains to be ascertained. ${ }^{6}$ In our quantitative analysis we find that all of the factors we study (stochastic earnings, differential savings, and capital income risk) have a fundamental role in generating the thick right tail of the wealth distribution and sufficient social mobility in the wealth accumulation process. We also identify a distinct role for these factors. Capital income risk and differential savings both contribute to generating the thick tail. Their effect on social mobility is however more nuanced: both differential savings and capital income risk increase social mobility across the distribution, more pronouncedly at the top in the case of capital income risk, while decreasing the probability of escape from the + +\footnotetext{ +${ }^{3}$ Several papers in the literature include a stochastic length of life (typically, "perpetual youth") to complement the effect of skewed earnings on wealth. We do not include this in our model as it has counterfactual demographic implications. +${ }^{4}$ See also Piketty (2014), which directly discusses the saving rates of the rich. +${ }^{5}$ Stochastic discount factors, as introduced by Krusell and Smith (1998), induce a skewed distribution of wealth through a similar mechanism. However, such discount factors are nonmeasurable, while microdata allowing estimates of capital income risk are instead rapidly becoming more available; see, e.g., the tax records for Norway studied by Fagereng et al. $(2016,2017)$ and the Swedish data studied by Bach, Calvet, and Sodini (2017). +${ }^{6}$ Other possible factors which qualitatively would induce skewed wealth distributions include a precautionary savings motive for wealth accumulation. In fact, the precautionary motive, by increasing the savings rate at low wealth levels under borrowing constraints and random earnings, works in the opposite direction of savings rates increasing in wealth. We do not exploit this channel for simplicity, assuming that life-cycle earnings profiles are random across generations but deterministic within lifetimes. +} +bottom 20 percent. On the other hand, stochastic earnings have a limited role in filling the tail of the wealth distribution but are fundamental in inducing enough mobility in the wealth process. Finally, a rate of return of wealth increasing in wealth itself is also apparently supported in our estimates, improving the fit of the model across the wealth distribution (though, without directly observing return data, this mechanism is somewhat poorly identified). + +The rest of the paper is structured as follows. Section I lays out the theoretical framework. Section II explains our quantitative approach and data sources we use. Section III shows the baseline results with the model fit for both targeted and untargeted moments. The main extensions and robustness exercises we perform are also discussed in this section. Section IV presents several counterfactual exercises, where we re-estimate the model shutting down one factor at a time. Section V introduces an empirical exercise where we relax the stationarity assumption on the wealth distribution and measure the transition speed our model delivers. Section VI concludes. + +\section*{I. Wealth Dynamics and Stationary Distribution} + +Most models of the wealth dynamics in the literature focus on deriving skewed distributions with thick tails, e.g., Pareto distributions (power laws). 7 While this is also our aim, we more generally target the whole wealth distribution and its intergenerational mobility properties. To this end we study a simple microfounded model (a standard macroeconomic model in fact) of life-cycle consumption and savings. While very parsimonious, the model exploits the interaction of the factors identified in the Introduction that tend to induce skewed wealth distributions: stochastic earnings, differential saving and bequest rates across wealth levels, and stochastic returns on wealth. + +Each agent's life span is finite and deterministic, $T$ years. Every period $t$, consumers choose consumption $c_{t}$ and accumulate wealth $a_{t}$, subject to a no-borrowing constraint. Consumers leave wealth $a_{T}$ as a bequest at the end of life $T$. Each agent's preferences are composed of a per-period utility from consumption, $u\left(c_{t}\right)$, at any period $t=1, \ldots, T$, and a warm-glow utility from bequests at $T, e\left(a_{T}\right)$. Their functional forms display constant relative risk aversion, +$$ +u\left(c_{t}\right)=\frac{c_{t}^{1-\sigma}}{1-\sigma}, \quad e\left(a_{T}\right)=A \frac{a_{T}^{1-\mu}}{1-\mu} . +$$ + +Wealth accumulates from savings and bequests. Idiosyncratic rates of return $r$ and life-time labor earnings profiles $w=\left\{w_{t}\right\}_{t=1}^{T}$ are drawn from a distribution at birth, possibly correlated with those of the parent, deterministic within each generation. ${ }^{8}$ + +\footnotetext{ +${ }^{7}$ See Benhabib and Bisin (2018) for an extensive survey of the theoretical and empirical literature on the wealth distribution. +${ }^{8}$ As we noted, assuming deterministic earning profiles amounts to disregarding the role of intragenerational life-cycle uncertainty and hence of precautionary savings. While the assumption is motivated by simplicity, see Keane and Wolpin (1997); Huggett, Ventura, and Yaron (2011); and Cunha, Heckman, and Schennach (2010) for evidence that the life-cycle income patterns tend to be determined early in life. +} + +We emphasize that $r$ and $w$ are stochastic over generations only: agents face no uncertainty within their life span. Lifetime earnings profiles are hump-shaped, with low earnings early in life. Borrowing constraints limit how much agents can smooth lifetime earnings. + +Let $\beta<1$ denote the discount rate. Let $V_{t}\left(a_{t}\right)$ denote the present discounted utility of an agent with wealth $a_{t}$ at the beginning of period $t$. Given initial wealth $a_{0}$, earnings profile $w$, and rate of return $r$, each agent's maximization problem, written recursively, then is +$$ +V_{t}(a)=\max _{c, a^{\prime}} u(c)+\beta V_{t+1}\left(a^{\prime}\right) +$$ +subject to +$$ +\begin{gathered} +a^{\prime}=(1+r) a-c+w, \\ +0 \leq c \leq a, \quad t=1, \ldots, T-1, \\ +V_{T}(a)=u(c)+e\left(a^{\prime}\right) . +\end{gathered} +$$ + +The solution of the recursive problem can be represented by a map, +$$ +a_{T}=g\left(a_{0} ; r, w\right) . +$$ + +Following Benhabib, Bisin, and Zhu (2011), we exploit the map $g(\cdot)$ as the main building block to construct the stochastic wealth process across generations. Adding an apex $n$ to indicate the generation and slightly abusing notation, we denote with $\left\{r^{n}, w^{n}\right\}_{n}$ the stochastic process over generations for the rate of return on wealth $r$ and earnings $w$. We assume it is a finite irreducible Markov chain. We assume also that $r^{n}$ and $w^{n}$ are independent, though each is allowed to be serially correlated, with transition $P\left(r^{n} \mid r^{n-1}\right)$ and $P\left(w^{n} \mid w^{n-1}\right)$. The life-cycle structure of the model implies that the initial wealth of the $n$th generation coincides with the final wealth of the $(n-1)$ th generation: $a^{n}=a_{0}^{n}=a_{T}^{n-1}$. We can then construct a stochastic difference equation for the initial wealth of dynasties, induced by $\left\{r^{n}, w^{n}\right\}_{n}$, mapping $a^{n-1}$ into $a^{n}$ : +$$ +a^{n}=g\left(a^{n-1} ; r^{n}, w^{n}\right) +$$ + +This difference equation in turn induces a stochastic process $\left\{a^{n}\right\}_{n}$ for initial wealth $a$. + +It can be shown that, under our assumptions, the map $g(\cdot)$ can be characterized as follows: +- If $\mu=\sigma$, then $g\left(a_{0} ; r, w\right)=\alpha(r, w) a_{0}+\beta(r, w)$; +- If $\mu<\sigma$, then $\frac{\partial^{2} g}{\partial a_{0}^{2}}\left(a_{0} ; r, w\right)>0$. + +In the first case, $\mu=\sigma$, the savings rate is $\alpha(r, w)$ and it is independent of wealth. In this case, the wealth process across generations is represented then by a linear stochastic difference equation in wealth, which has been closely studied in the math literature (see De Saporta 2005). Indeed, if $\mu=\sigma$, under general conditions, ${ }^{9}$ the stochastic process $\left\{a^{n}\right\}_{n}$ has a stationary distribution whose tail is independent of the distribution of earnings and asymptotic to a Pareto law, +$$ +\operatorname{Pr}(a>\underline{a}) \sim Q \underline{a}^{-\gamma}, +$$ +where $Q \geq 1$ is a constant and $\lim _{N \rightarrow \infty} E\left(\prod_{n=0}^{N-1}\left(\alpha\left(r^{-n}, w^{-n}\right)\right)^{\gamma}\right)^{\frac{1}{N}}=1 .{ }^{\square}$ +If instead, keeping $\sigma$ constant, $\mu<\sigma$, differential savings rate emerge, increasing with wealth. In this case, a stationary distribution might not exist; but if it does, +$$ +\operatorname{Pr}(a>\underline{a}) \geq Q \underline{a}^{-\gamma}, +$$ +and hence it displays a thick tail. +Finally, the model is straightforwardly extended to allow for the Markov states of the stochastic process for $r$ to depend on the initial wealth of the agent $a$. In this case, the intergenerational wealth dynamics have properties similar to the $\mu<\sigma$ case: a stationary distribution might not exist; but if it does, it displays a thick tail. + +\section*{II. Quantitative Analysis} + +The objective of this paper, as we discussed in the introduction, consists in measuring the relative importance of various factors which determine the wealth distribution and the social mobility matrix in the United States. The three factors are stochastic earnings, differential saving and bequest rates across wealth levels, and stochastic returns on wealth. These are represented in the model by the properties of the dynamic process and the distribution of ( $r^{n}, w^{n}$ ) and by the parameters $\mu$ and $\sigma$, which imply differential savings (the rich saving more) when $\mu<\sigma$. + +\section*{A. Methodology} + +We estimate the parameters of the model described in the previous section using a method of simulated moments (MSM) estimator: (i) we fix (or externally calibrate) several parameters of the model; (ii) we select some relevant moments of the wealth process as target in the estimation; and (iii) we estimate the remaining parameters by matching the targeted moments generated by the stationary distribution induced by the model and those in the data. The quantitative exercise is predicated then on + +\footnotetext{ +${ }^{9}$ More precisely, the tail of earnings must be not too thick and furthermore $\alpha\left(r^{n}, w^{n}\right)$ and $\beta\left(r^{n}, w^{n}\right)$ must satisfy the restrictions of a reflective process. See Grey (1994); Hay, Rastegar, and Roitershtein (2011); and Benhabib, Bisin, and Zhu (2011) for a related application. +${ }^{10}$ While $a$ denotes initial wealth, it can be shown that when the distribution of initial wealth has a thick tail, the distribution of wealth also does. See Benhabib, Bisin, and Zhu (2011) for the formal result. +} +the assumption that the wealth and social mobility observed in the data are generated by a stationary distribution. ${ }^{11}$ + +More formally, let $\theta$ denote the vector of the parameters to be estimated. Let $m_{h}$, for $h=1, \ldots, H$, denote a generic empirical moment; and let $d_{h}(\theta)$ the corresponding moment generated by the model for a given parameter vector $\theta$. We minimize the deviation between each targeted moment and the corresponding simulated moment. For each moment $h$, define $F_{h}(\theta)=d_{h}(\theta)-m_{h}$. The MSM estimator is +$$ +\hat{\theta}=\underset{\theta}{\arg \min } \mathbf{F}(\theta)^{\prime} W \mathbf{F}(\theta) +$$ +where $\mathbf{F}(\theta)$ is a column vector in which all moment conditions are stacked, i.e., $\mathbf{F}(\theta)=\left[F_{1}(\theta), \ldots, F_{H}(\theta)\right]^{T}$. The weighting matrix $W$ in the baseline is a diagonal matrix with identical weights for all but the last moment of both the wealth distribution and the mobility moments, which are overweighted (ten times), according to the prior that matching the tail of the distribution is a fundamental objective of our exercise. ${ }^{12}$ This is also a reasonable approximation to optimal weighting: an efficient two-step estimation with the optimal weighting matrix produces no relevant changes on estimated parameters nor on fit; see online Appendix C. 4 for details. + +The model is solved with the collocation method by Miranda and Fackler (2004): see online Appendix A.1. The objective function is highly nonlinear in general and therefore, following Guvenen (2016), we employ a global optimization routine for the MSM estimation: see online Appendix A.2. + +In our quantitative exercise we proceed as follows. +(i) We fix $\sigma=2, T=36, \beta=0.97$ per annum. We feed the model with a stochastic process for individual earnings profiles, $w^{n}$, and its transition across generations, $P\left(w^{n} \mid w^{n-1}\right)$. Both the earning process and its transition are taken from data; respectively from the PSID and the federal income tax records studied by Chetty et al. (2014). +(ii) We target as moments: +- the bottom 20 percent, 20-40 percent, 40-60 percent, 60-80 percent, 80-90 percent, 90-95 percent, 95-99 percent, and the top 1 percent wealth shares; and +- the diagonal of the (age-independent) social mobility Markov chain transition matrix defined over quintiles. +(iii) We estimate: +- preference parameters $\mu, A$; and + +\footnotetext{ +${ }^{11}$ Very few studies in the literature deal with the transitional dynamics of wealth and its speed of transition along the path, though this issue has been put at the forefront of the debate by Piketty (2014). Notable and very interesting exceptions are Gabaix et al. (2016); Kaymak and Poschke (2016); and Hubmer, Krusell, and Smith (2017). We extend the analysis to possibly nonstationary distributions in Section V as a robustness check. Our preliminary results are encouraging, in the sense that the model seems to be able to capture the transitional dynamics with parameters estimates not too far from those obtained under stationarity. +${ }^{12}$ See Altonji and Segal (1996) for a justification for the adoption of an identity weighting matrix. +} + +\begin{table} +\captionsetup{labelformat=empty} +\caption{Table 1-Life-Cycle Earnings (\$thousands) Profiles} +\begin{tabular}{|l|l|l|l|l|l|l|} +\hline \multirow[b]{2}{*}{Percentile} & \multicolumn{6}{|c|}{Age range} \\ +\hline & [25-30] & [31-36] & [37-42] & [43-48] & [49-54] & [55-60] \\ +\hline 0-10 & 9.760 & 11.55 & 12.06 & 12.81 & 11.74 & 8.222 \\ +\hline 10-20 & 19.95 & 24.01 & 25.2 & 26.42 & 24.66 & 19.08 \\ +\hline 20-30 & 26.85 & 32.58 & 34.96 & 36.46 & 33.56 & 26.78 \\ +\hline 30-40 & 33.05 & 40.33 & 43.95 & 45.55 & 42.23 & 34.39 \\ +\hline 40-50 & 39.02 & 47.70 & 52.42 & 54.37 & 51.18 & 42.96 \\ +\hline 50-60 & 45.05 & 54.84 & 60.70 & 63.09 & 60.34 & 51.91 \\ +\hline 60-70 & 51.40 & 65.10 & 69.42 & 72.89 & 70.63 & 61.65 \\ +\hline 70-80 & 59.16 & 73.06 & 80.37 & 85.09 & 82.78 & 74.35 \\ +\hline 80-90 & 70.33 & 87.21 & 97.51 & 103.5 & 101.4 & 93.42 \\ +\hline 90-100 & 100.3 & 138.1 & 169.5 & 182.4 & 183.4 & 180.4 \\ +\hline +\end{tabular} +\end{table} + +Source: Calculated from the cleaned PSID data provided by Heathcote, Perri, and Violante (2010). +- a parameterization of the stochastic process for $r$ defined by 5 states $r_{i}$ and 5 diagonal transition probabilities, $P\left(r^{n}=r_{i} \mid r^{n-1}=r_{i}\right), i=1, \ldots, 5$, restricting instead the $5 \times 5$ transition matrix to display constantly decaying off-diagonal probabilities except for the last row for which we assume constant off-diagonal probabilities. ${ }^{13}$ + +In total, therefore, the baseline model is exactly identified: we target 12 moments and we estimate 12 parameters. + +In Section IIID we modify the stochastic process for $r$ to allow returns to depend on the initial wealth $a$ of the agent. We do this parsimoniously, without increasing the dimensionality of the parameter space. In Section IIID we experiment with an alternative social mobility matrix, defined over the same percentiles of the wealth distribution. This adds three moments to the estimation and the model is hence over-identified. + +\section*{B. Data} + +Our quantitative exercise requires data for labor earnings, wealth distribution, and social mobility. + +Labor Earnings.-We use ten deterministic life-cycle household-level earnings profiles at different deciles, as estimated by Heathcote, Perri, and Violante (2010) from the Panel Study of Income Dynamics (PSID), 1967-2002. ${ }^{14}$ We construct the profiles as follows. For each of six age brackets we compute the averages of the earnings deciles, corresponding to the columns of Table 1. The deterministic lifetime profiles are then constructed assuming agents stay in the same decile for their + +\footnotetext{ +${ }^{13}$ Formally, $P\left(r^{n}=r_{i} \mid r^{n-1}=r_{j}\right)=P\left(r^{n}=r_{i} \mid r^{n-1}=r_{i}\right) e^{-\lambda j}, i=1,2,3,4, j \neq i, \lambda$ such that $\sum_{j=1}^{5} P\left(r^{n}=r_{i} \mid r^{n-1}=r_{j}\right)=1$; and $P\left(r^{n}=r_{5} \mid r^{n-1}=r_{j}\right)=\frac{1}{4}\left(1-P\left(r^{n}=r_{5} \mid r^{n-1}=r_{5}\right)\right)$. We adopt a restricted specification in order to reduce the number of parameters we need to estimate. This particular specification performs better than one with constant off-diagonal probabilities as well as one with decaying off-diagonal probabilities in all rows. +${ }^{14}$ We detrend life-cycle earning profiles by conditioning out year dummies in a log-earnings regression; see online Appendix B. 1 for the details of the procedure. +} + +\begin{figure} +\includegraphics[alt={},max width=\textwidth]{https://cdn.mathpix.com/cropped/08a6e8af-7a69-44c4-8e23-91ed2e58d762-08.jpg?height=1475&width=1022&top_left_y=240&top_left_x=367} +\captionsetup{labelformat=empty} +\caption{Figure 1. Life-Cycle Earnings Profiles by Deciles} +\end{figure} + +Source: The data source is the same as in Table 1. +whole lifetime, corresponding to the ten rows of Table 1. Agents randomly draw one of these earnings profiles at the beginning of life according to an intergenerational transition matrix. These profiles are drawn in Figure 1. ${ }^{15}$ + +\footnotetext{ +${ }^{15}$ The panel data on earnings from the US Social Security Administration (SSA) are not yet generally available. However, the crucial aspect of earnings data, for our purposes, is that they are far from skewed enough to account by themselves for the skewness of the wealth distribution. This is in fact confirmed on SSA data directly by Guvenen et al. (2016, Section 7.2.II) and by De Nardi, Fella, and Paz-Pardo (2016). See also Hubmer, Krusell, and Smith (2017). +} + +\begin{figure} +\includegraphics[alt={},max width=\textwidth]{https://cdn.mathpix.com/cropped/08a6e8af-7a69-44c4-8e23-91ed2e58d762-09.jpg?height=680&width=1024&top_left_y=246&top_left_x=359} +\captionsetup{labelformat=empty} +\caption{Figure 2. Wealth Distribution in the SCF 2007 (Weighted)} +\end{figure} + +Source: Net wealth, from 2007 SCF, truncated at 0 on the left and, for the purpose of the figure only, truncated at 10 million on the right. + +The intergenerational transition matrix for earnings we use is from Chetty et al. (2014). The data in Chetty et al. (2014) refer to the 1980-1982 US birth cohort and their parental income. We reduce it to a ten-state Markov chain. ${ }^{16}$ + +Wealth Distribution.-We use wealth distribution data from the Survey of Consumer Finances (SCF) 2007. ${ }^{17}$ The wealth variable we use is net wealth, the sum of net financial wealth and housing, minus any debts. The distribution is very skewed to the right. We take the shares from the cleaned version in Díaz-Giménez, Glover, and Ríos-Rull (2011). Figure 2 displays the histogram of the wealth distribution. + +Table 2 displays the wealth share moments we use. +Social Mobility.-As for wealth transition across generations, we use the mobility matrix calculated by Charles and Hurst (2003), Table 2, from PSID data. This matrix is constructed by means of pairs of simultaneously alive parent and child of different ages. To eliminate age effects, the matrix is obtained by computing transitions from the residuals of the wealth of parents and children after conditioning on age and age squared. + +The resulting matrix is shown in Table 3. The matrix shows substantial mobility, with a Shorrocks index of $0.88 .^{18}$ + +\footnotetext{ +${ }^{16}$ See online Appendix B. 2 for details. +${ }^{17}$ As noted, the wealth distribution in our methodology is to be interpreted as stationary. Choosing 2007 avoids the nonstationary changes due to the Great Recession. +${ }^{18}$ Formally, for a square mobility transition matrix $A$ of dimension $m$, the Shorrocks index given by $s(A)=\frac{m-\sum_{j} a_{j j}}{m-1} \in(0,1)$, with 0 indicating complete immobility. +} + +\begin{table} +\captionsetup{labelformat=empty} +\caption{Table 2-Wealth Distribution Moments} +\begin{tabular}{lcccccccc} +\hline \hline Percentile & $0-20$ & $20-40$ & $40-60$ & $60-80$ & $80-90$ & $90-95$ & $95-99$ & $99-100$ \\ +Wealth share & -0.002 & 0.001 & 0.045 & 0.112 & 0.120 & 0.111 & 0.267 & 0.336 \\ +\hline +\end{tabular} +\end{table} + +Source: Calculated by Díaz-Giménez, Glover, and Ríos-Rull (2011) from the 2007 SCF. + +\begin{table} +\captionsetup{labelformat=empty} +\caption{Table 3-Intergenerational Social Mobility Transition Matrix} +\begin{tabular}{|l|l|l|l|l|l|} +\hline \multirow[b]{2}{*}{Percentile (parent)} & \multicolumn{5}{|c|}{Percentile (child)} \\ +\hline & 0-20 & 20-40 & 40-60 & 60-80 & 80-100 \\ +\hline 0-20 & 0.36 & 0.29 & 0.16 & 0.12 & 0.07 \\ +\hline 20-40 & 0.26 & 0.24 & 0.24 & 0.15 & 0.12 \\ +\hline 40-60 & 0.16 & 0.21 & 0.25 & 0.24 & 0.15 \\ +\hline 60-80 & 0.15 & 0.13 & 0.20 & 0.26 & 0.26 \\ +\hline 80-100 & 0.11 & 0.16 & 0.14 & 0.24 & 0.36 \\ +\hline +\end{tabular} +\end{table} + +Source: From Table 2 in Charles and Hurst (2003). Note that we exchange the row and the column from their version. + +In Section IIID we reproduce the estimation exercise in our baseline using an alternative social mobility matrix, using the 2007-2009 SCF panel data, with transitions computed for a synthetic agent over his/her age profile. ${ }^{19}$ + +\section*{III. Estimation Results} + +The baseline estimation results are reported in Section IIIA, Table 4. The targeted simulated moments of the estimated model are reported and compared to their counterpart in the data in Section IIIB, Table 5. Some independent evidence which bears on the fit of the model is discussed in Section IIIC. Extensions where we re-estimate the model to allow for rates of return dependent on wealth and to match an alternative social mobility matrix constructed using the 2007-2009 SCF panel data are discussed, respectively, in Section IIID. + +\section*{A. Parameter Estimates} + +The upper part of Table 4 reports the estimates of the preference parameters. The lower part of Table 4 reports the estimated state space and diagonal of the transition matrix of the five-state Markov process for $r$ we postulate. It also reports, to ease the interpretation of the estimates, the implied mean and standard deviation of the process, $E(r), \sigma(r)$; as well as its autocorrelation, $\rho(r)$, computed fitting an $\operatorname{AR}(1)$ on simulated data from the estimated process. ${ }^{20}$ The standard errors, also reported in the table, are obtained by bootstrapping; details are in online Appendix A.3. + +\footnotetext{ +${ }^{19}$ In addition in online Appendix B.3, we also describe another alternative social mobility matrix based on the social mobility matrix of Kennickell and Starr-McCluer (1997) using the SCF panel 1983-1989. +${ }^{20}$ The full transition matrix for $r$ is reported in online Appendix C.1. +} + +\begin{table} +\captionsetup{labelformat=empty} +\caption{Table 4-Parameter Estimates: Baseline} +\begin{tabular}{|l|l|l|l|l|l|} +\hline \multirow{2}{*}{} & \multicolumn{5}{|c|}{Preferences} \\ +\hline & $\sigma$ & $\mu$ & $A$ & $\beta$ & $T$ \\ +\hline \multirow{3}{*}{State space} & [2] & 0.5993 (0.0061) & 0.0006 (0.0004) & [0.97] & [36] \\ +\hline & \multicolumn{5}{|c|}{Rate of return process} \\ +\hline & 0.0011 (0.0069) & 0.0094 (0.0118) & 0.0258 (0.0004) & 0.0560 (0.0059) & 0.0841 (0.0043) \\ +\hline Transition diagonal & 0.0338 (0.6162) & 0.2676 (0.5570) & 0.1360 (0.0699) & 0.2630 (1.3659) & 0.0208 (0.2678) \\ +\hline Statistics & $E(r)$ 3.06\% (0.02\%) & $\sigma(r)$ 2.69\% (0.01\%) & $\rho(r)$ 0.103 (0.486) & & \\ +\hline +\end{tabular} +\end{table} + +Note: Standard errors in parentheses; fixed parameters in brackets. + +\begin{table} +\captionsetup{labelformat=empty} +\caption{Table 5-Model Fit: Baseline} +\begin{tabular}{|l|l|l|l|l|l|l|l|l|} +\hline \multirow[b]{2}{*}{Percentile} & \multicolumn{8}{|c|}{Wealth distribution} \\ +\hline & 0-20 & 20-40 & 40-60 & 60-80 & 80-90 & 90-95 & 95-99 & 99-100 \\ +\hline Wealth share (data) & -0.002 & 0.001 & 0.045 & 0.112 & 0.120 & 0.111 & 0.267 & 0.336 \\ +\hline Wealth share (model) & 0.049 & 0.077 & 0.111 & 0.110 & 0.110 & 0.076 & 0.142 & 0.325 \\ +\hline \multirow[b]{2}{*}{Percentile} & \multicolumn{5}{|c|}{Social mobility} & \multirow{2}{*}{} & \multirow{2}{*}{} & \multirow{2}{*}{} \\ +\hline & 0-20 & 20-40 & 40-60 & 60-80 & 80-100 & & & \\ +\hline Transition diagonal (data) & 0.36 & 0.24 & 0.25 & 0.26 & 0.36 & & & \\ +\hline Transition diagonal (model) & 0.349 & 0.197 & 0.201 & 0.210 & 0.340 & & & \\ +\hline +\end{tabular} +\end{table} + +The curvature parameter $\mu$ is statistically significant, while the bequest intensity parameter $A$ is small and less precisely estimated. As for the rate of return process $r$, while some of the elements of the state space and of the transition diagonal, individually taken, are statistically insignificant, the mean $E(r)$ and the variance $\sigma(r)$ of the rate of return process are significant. The correlation $\rho(r)$ is not surprisingly also imprecisely estimated (because the transition matrix is in-and-of itself imprecisely estimated and because the auto-correlation parameter is not a statistic pertaining directly to the $r$ process but is estimated by fitting an $\mathrm{AR}(1)$ process on simulated data). A Quandt likelihood ratio (QLR) test against the null hypothesis that the rate of return process is a constant $r$ squarely rejects the null. + +\section*{B. Model Fit} + +The simulations of our estimated model seem to capture the targeted moments reasonably well. Table 5 compares the moments in the data with those obtained simulating the model. In the case of social mobility, we compute age-independent social mobility moments, in the simulations, after conditioning on age and age-squared, thereby reproducing Charles and Hurst's (2003) procedure to construct their social mobility matrix which we use as moments to match in the data. + +\section*{C. Discussion and Interpretation} + +We discuss and interpret here the estimates we obtain. We also put them in the context of independent evidence which bears on nontargeted moments regarding savings, bequests, rates of return, and wealth mobility. + +Differential Savings and Bequests.-Our estimates point to the existence of the differential saving factor as a component of the observed wealth dynamics in the United States. Indeed, our estimate of $\mu$ is 0.5993 , which is significantly lower than 2 , the value of $\sigma$ we fixed; therefore $\mu<\sigma$ and, as we noted, savings out of wealth increase with wealth itself: the rich save proportionally more than the poor. + +Of course, the strength of this factor depends on the intensity parameter $A$ as well. To better evaluate the quantitative role of differential savings and bequests in our estimation, we calculate the average savings rates implied by our model at the estimated parameters and compare them with the empirical values calculated by Saez and Zucman (2016) using 2000-2009 data on wealth accumulation with the capitalized income tax method: see Table 6. Interestingly, the implied (year-to-year synthetic) savings rate schedule shares its main characteristic feature with the one reported by Saez and Zucman (2016): it is very steep (even steeper in fact). Rates range from slightly negative ( -3.4 percent of the bottom 90 percent) to 45 percent for the top 1 percent of the population. + +To gain a more precise sense of the mechanism driving differential savings, we also look at bequests, since in our model differential savings are mostly motivated by a bequest motive. ${ }^{21}$ The distribution of bequests implied by our model at the estimated parameters is very skewed, mapping closely the stationary wealth distribution. This is consistent with Health Retirement Survey (HRS) data studied by Hurd and Smith (2003). In particular, retirement savings in the data do not decline along the age path and, furthermore, this pattern is more accentuated for the 75 percent percentile, as our estimates also imply. ${ }^{22}$ Bequests implied by the model are about 18.9 percent of GDP, substantially higher than its empirical counterpart: Wang (2016) estimates them to be between 2.4 percent to 4.7 percent of GDP, using the HRS data (see also Hendricks 2002). On the other hand, bequests in the model should more correctly be interpreted to include at least part of inter vivos transfers, which can account for the difference. Indeed, Cox (1990) and Gale and Scholz (1994) estimate inter vivos transfer to be about the same order of magnitude as bequests, while Luo (2017), working with SCF (2013) data, has them close to 13 percent of GDP. + +Returns to Wealth.-The wealth accumulation process in our estimates indicates a substantial role of capital income risk as a factor driving wealth and mobility. Indeed the rate of return on wealth displays a standard deviation which is significantly + +\footnotetext{ +${ }^{21}$ The bequest motive stands on relative solid grounds: it is well documented that retirees do not run down their wealth as predicted by the classical life-cycle consumption-savings model (Poterba, Venti, and Wise 2011). +${ }^{22}$ Our model does not have a role for accidental bequests. Therefore, while the literature on retirement savings distinguishes between precautionary saving motives for uncertain medical expenses (De Nardi et al. 2010), uncertain and potentially large long-term care expenses (Ameriks et al. 2015a), family needs (Ameriks et al. 2015b), and the genuine bequest motive, we necessarily lump all these into aggregate bequests. +} + +\begin{table} +\captionsetup{labelformat=empty} +\caption{Table 6-Savings Rates} +\begin{tabular}{llcl} +\hline \hline Wealth percentile & $0-90$ & $90-99$ & $99-100$ \\ +\hline Savings rate percent (model) & -3.40 & 21.4 & 45.0 \\ +Savings rate percent (Saez and Zucman 2016) & -4 & 9 & 35 \\ +\hline +\end{tabular} +\end{table} +different than 0 . The standard deviation $\sigma(r)=2.69$ percent is however smaller than previous direct estimates. This is the case, e.g., for the return estimates by Case and Shiller (1989) and Flavin and Yamashita (2002) on the housing market, by Campbell and Lettau (1999) and Campbell et al. (2001) on individual stocks of publicly traded firms, and by Moskowitz and Vissing-Jørgensen (2002) on private equity and entrepreneurship. A wide dispersion in returns to wealth is also documented by Fagereng et al. (2017) and Bach, Calvet, and Sodini (2017) using, respectively, Norwegian and Swedish data. + +Such comparisons require however great caution. First of all, in our model, $r$ is assumed constant throughout each agent's lifetime, disregarding the whole variation across the life cycle. The rate of return we estimate should ideally be then compared with the permanent components of individual returns across generations, which are hardly available. Furthermore, rate of returns heterogeneity in the data is in part a consequence of differences in the risk composition of investment portfolio, which also we disregard in the model; see Calvet and Sodini (2014) and Bach, Calvet, and Sodini (2017) for evidence in Swedish data. For our purposes, therefore, the most appropriate outside validation perspective is provided by Fagereng et al. (2017), in that their Norwegian administrative data allow them to estimate the permanent components of individual returns across generations and to control for portfolio composition. In this comparison, the consistency of our estimates with Fagereng et al.'s (2017) data is striking: see Table $7{ }^{23}$ + +Social Mobility.-Table 8 is the complete transition matrix we obtain from our estimate. The implied nontargeted moments (the off-diagonal cells) align quite well with the mobility matrix in Charles and Hurst (2003, Table 2), reported here in Table 3. Note that we slightly overestimate the mobility from the top to the bottom of the distribution and vice versa. The Shorrocks index in the estimated mobility matrix is 0.92 , slightly higher than the 0.88 in the data. + +\section*{D. Extensions and Robustness} + +In this section we discuss alternative estimation strategies we have pursued as extensions and robustness checks on our baseline analysis. + +Rate of Return Dependent on Wealth.-A positive correlation between the rate of return on wealth and wealth has been documented by Piketty's (2014, see especially p. 447) analysis of university endowments, and by Fagereng et al.'s (2017) careful + +\footnotetext{ +${ }^{23}$ Fagereng et al. (2017) also find rate of returns increasing in wealth. We shall discuss this in the next section. +} + +\begin{table} +\captionsetup{labelformat=empty} +\caption{Table 7-Rate of Return Process} +\begin{tabular}{lccc} +\hline \hline Statistics & $E(r)$ & $\sigma(r)$ & $\rho(r)$ \\ +\hline Model estimates & $3.06 \%$ & $2.69 \%$ & 0.103 \\ +Fagereng et al. $(2017)$ & $2.98 \%$ & $2.82 \%$ & 0.1 \\ +\hline +\end{tabular} +\end{table} + +Note: Fagereng et al.'s (2017) permanent component has zero-mean by construction: we report their mean of returns. + +\begin{table} +\captionsetup{labelformat=empty} +\caption{Table 8-Intergenerational Social Mobility Transition Matrix: Calibrated} +\begin{tabular}{|l|l|l|l|l|l|} +\hline \multirow[b]{2}{*}{Percentile (parent)} & \multicolumn{5}{|c|}{Percentile (child)} \\ +\hline & 0-20 & 20-40 & 40-60 & 60-80 & 80-100 \\ +\hline 0-20 & 0.349 & 0.216 & 0.197 & 0.131 & 0.108 \\ +\hline 20-40 & 0.175 & 0.197 & 0.245 & 0.233 & 0.149 \\ +\hline 40-60 & 0.180 & 0.193 & 0.201 & 0.253 & 0.173 \\ +\hline 60-80 & 0.151 & 0.207 & 0.201 & 0.210 & 0.231 \\ +\hline 80-100 & 0.150 & 0.183 & 0.157 & 0.171 & 0.340 \\ +\hline +\end{tabular} +\end{table} +study of Norwegian administrative data. ${ }^{24}$ Such a correlation of course does not imply that the rate of return increases with wealth. Even in the context of our model, agents with relatively high wealth would have experienced on average high realizations of the rate of return $r$, as shown in Figure 3. Indeed, for the simulated model at the parameters estimates in the previous section, a fractile regression between $r$ and wealth $a$ produces a small but strongly significant coefficient of 0.010 (standard error 0.0004). + +Allowing rates of return on wealth to be increasing in wealth might however add to the skewness of the distribution. In this section we therefore extend our analysis to allow for the rate of return process $r$ to depend on wealth, explicitly introducing a dependence of the stochastic rate of return $r$ on wealth percentiles. The functional form we introduce allows for $r$ to depend on wealth $a$ as follows: +$$ +\begin{equation*} +r=r_{0}+b \times p(a), \tag{1} +\end{equation*} +$$ +where $p(a)=1,2, \ldots, 8$ numbers the wealth percentiles we identify as moments and $r_{0}$ is a five-state Markov process as in the baseline model for $r$. Note that this formulation maps a positive slope $b$ into a convex relationship between $r$ and $a .{ }^{25}$ We restrict the parameter space by fixing the distance between the two lowest estimates of $r_{0}$ to that of the baseline, so that the empirical model is again exactly identified as the baseline. We then estimate the parameters of the model as well as + +\footnotetext{ +${ }^{24}$ See also Kacperczyk, Nosal, and Stevens (2015). On the other hand, Saez and Zucman (2016) find no correlation between post-tax returns and wealth levels (see their online Appendix, Figures B30 and B31: http:// gabriel-zucman.eu/files/SaezZucman2016QJEAppendix.pdf). Also, Bach, Calvet, and Sodini (2017) find that the correlation is largely due, in the Swedish administrative data they observe, to the portfolio composition by risk class changing with wealth. +${ }^{25}$ This formulation also implies a standard deviation for $r$ which is increasing in wealth, as documented by Fagereng et al. (2017) for Norwegian data. +} + +\begin{figure} +\includegraphics[alt={},max width=\textwidth]{https://cdn.mathpix.com/cropped/08a6e8af-7a69-44c4-8e23-91ed2e58d762-15.jpg?height=731&width=1034&top_left_y=244&top_left_x=359} +\captionsetup{labelformat=empty} +\caption{Figure 3. Correlation between Mean $r$ and Wealth Percentiles} +\end{figure} + +\begin{table} +\captionsetup{labelformat=empty} +\caption{Table 9-Parameter Estimates: $r$ Dependent on Wealth} +\begin{tabular}{|l|l|l|l|l|l|} +\hline \multicolumn{6}{|c|}{Preferences} \\ +\hline \multirow{4}{*}{State space} & & & & & \\ +\hline & $\sigma$ [2] & $\mu$ 1.0574 (0.0023) & A 0.0080 (0.0007) & $\beta$ [0.97] & $T$ [36] \\ +\hline & \multicolumn{5}{|c|}{Rate of return process} \\ +\hline & 0.0027 (0.0031) & 0.0110 - & 0.0152 (0.0011) & 0.0456 (0.0068) & 0.0815 (0.0072) \\ +\hline Transitional diagonal & 0.0328 (0.7044) & 0.0469 (0.0730) & 0.5953 (0.1448) & 0.3344 (1.3415) & 0.1531 (0.0150) \\ +\hline Wealth dependence, $b$ & 0.0043 (0.0255) & & & & \\ +\hline Statistics & $E\left(r_{0}\right)$ 2.57\% (0.02\%) & $\sigma\left(r_{0}\right)$ 2.34\% (0.01\%) & $\rho\left(r_{0}\right)$ 0.153 (0.149) & $E(r)$ 3.94\% & $\sigma(r)$ 2.48\% \\ +\hline +\end{tabular} +\end{table} + +Note: Standard errors in parentheses; fixed parameters in brackets. + +\begin{table} +\captionsetup{labelformat=empty} +\caption{Table 10-Model Fit: $r$ Dependent on Wealth} +\begin{tabular}{|l|l|l|l|l|l|l|l|l|} +\hline \multirow[b]{2}{*}{Percentile} & \multicolumn{8}{|c|}{Wealth distribution} \\ +\hline & 0-20 & 20-40 & 40-60 & 60-80 & 80-90 & 90-95 & 95-99 & 99-100 \\ +\hline Wealth share (data) & -0.002 & 0.001 & 0.045 & 0.112 & 0.120 & 0.111 & 0.267 & 0.336 \\ +\hline Wealth share (model) & 0.028 & 0.067 & 0.099 & 0.100 & 0.114 & 0.083 & 0.173 & 0.336 \\ +\hline \multirow[b]{2}{*}{Percentile} & \multicolumn{5}{|c|}{Social mobility} & \multirow{4}{*}{} & \multirow{4}{*}{} & \multirow{4}{*}{} \\ +\hline & 0-20 & 20-40 & 40-60 & 60-80 & 80-100 & & & \\ +\hline Transition diagonal (data) & 0.36 & 0.24 & 0.25 & 0.26 & 0.36 & & & \\ +\hline Transition diagonal (model) & 0.267 & 0.221 & 0.236 & 0.231 & 0.296 & & & \\ +\hline +\end{tabular} +\end{table} +the wealth dependence parameter $b$ that enters the stochastic rate of return process. The results of our estimation are reported in Tables 9 and 10. + +The estimate of the preference for bequest parameter $A$ is significant and larger than in the baseline case, where $r$ is not allowed to depend on wealth. Most importantly, the estimate of $\mu$ is also larger: allowing $r$ to depend on wealth substitutes for the dependence of savings on wealth. The estimate of the parameter $b$, which captures the dependence of the rate of return on wealth is positive. The point estimate implies that going from the bottom 20 percent to the top 1 percent in the wealth distribution would increase the annual expected return by about 3 percentage points, from 3 percent to 6 percent. While $b$ is unsurprisingly not well identified, it is reassuring that the point estimates of the preference parameters are not much changed when we allow for $r$ to depend on wealth with respect to the baseline. + +Furthermore, the fit of the wealth distribution is somewhat improved: while the distribution of wealth implied by the model is still less skewed than the data's, we improve match even more precisely the top 1 percent share and, most importantly, we improve in matching all shares in the top 20 percent (and correspondingly in the bottom 60 percent). With regards to social mobility, this specification loses fit on the top and the bottom 20 percent, producing mobility for both the rich and the poor marginally in excess of the baseline model (and the data), a result of the fact that the dependence of the rates of return on wealth is compensated by a reduced dependence of savings. ${ }^{26}$ + +Fagereng et al. (2017) also estimate the dependence of the rate of return $r$ on wealth, their rich and detailed Norwegian dataset allowing them to do so precisely, directly controlling for the effects of a variety of factors like age, education, and portfolio composition. Their findings provide stronger evidence of dependence than ours, with average returns within generations more significantly increasing in wealth: see their Figure 11(b). In particular, they document a very steep increase of $r(a)$ at the top, which we cannot precisely identify with our data. + +Alternative Social Mobility Matrix.-The Charles and Hurst (2003) social mobility matrix we use in our baseline estimation, as we noted, is constructed by means of pairs of simultaneously alive parents and child. By construction, therefore, this mobility matrix does not account for any transition induced by bequests. Furthermore, the matrix is only available for wealth transitions between quintiles, while, e.g., transitions in and out of the top 1 percent are in principle one of the most relevant characteristics of the stochastic process of wealth accumulation. + +In this section we reproduce the estimation exercise in our baseline using an alternative social mobility matrix, with transitions computed for a synthetic agent over his/her age profile. More precisely, each element of the social mobility matrix takes the form of $\operatorname{Pr}\left(a_{0}^{n} \in p \mid a_{0}^{n-1} \in p^{\prime}\right)$, where $p, p^{\prime}$ are generic percentiles of the wealth distribution. Using the model assumption that $a_{0}^{n}=a_{T}^{n-1}$ we can reduce these intergenerational transition probabilities into intra-generational ones and reduce the problem to compute $\operatorname{Pr}\left(a_{T}^{n-1} \in p \mid a_{0}^{n-1} \in p^{\prime}\right)$. We then divide agents' lifetime $T$ into $k$-periods age groups and use the Markov assumption to obtain + +\footnotetext{ +${ }^{26}$ See online Appendix C. 3 for the complete estimated social mobility matrix. +} + +\begin{table} +\captionsetup{labelformat=empty} +\caption{Table 11-Intergenerational Social Mobility Transition Matrix} +\begin{tabular}{|l|l|l|l|l|l|l|l|l|} +\hline \multirow[b]{2}{*}{Percentile (parent)} & \multicolumn{8}{|c|}{Percentile (child)} \\ +\hline & 0-20 & 20-40 & 40-60 & 60-80 & 80-90 & 90-95 & 95-99 & 99-100 \\ +\hline 0-20 & 0.223 & 0.222 & 0.215 & 0.187 & 0.081 & 0.038 & 0.029 & 0.006 \\ +\hline 20-40 & 0.221 & 0.220 & 0.215 & 0.188 & 0.082 & 0.039 & 0.029 & 0.006 \\ +\hline 40-60 & 0.208 & 0.209 & 0.210 & 0.194 & 0.090 & 0.046 & 0.036 & 0.008 \\ +\hline 60-80 & 0.199 & 0.201 & 0.207 & 0.198 & 0.095 & 0.052 & 0.040 & 0.009 \\ +\hline 80-90 & 0.175 & 0.178 & 0.197 & 0.207 & 0.110 & 0.067 & 0.054 & 0.012 \\ +\hline 90-95 & 0.182 & 0.184 & 0.200 & 0.205 & 0.106 & 0.062 & 0.050 & 0.011 \\ +\hline 95-99 & 0.125 & 0.125 & 0.166 & 0.216 & 0.141 & 0.114 & 0.094 & 0.021 \\ +\hline 99-100 & 0.086 & 0.084 & 0.142 & 0.228 & 0.170 & 0.143 & 0.121 & 0.028 \\ +\hline +\end{tabular} +\end{table} +$\operatorname{Pr}\left(a_{T}^{n-1} \in p \mid a_{0}^{n-1} \in p^{\prime}\right)$ from the observation of $\operatorname{Pr}\left(a_{k}^{n-1} \in p \mid a_{0}^{n-1} \in p^{\prime}\right)$, $\operatorname{Pr}\left(a_{2 k}^{n-1} \in p \mid a_{k}^{n-1} \in p^{\prime}\right)$ and so on for all age groups. In practice, from the 20072009 SCF two-year panel, ${ }^{27}$ and in we first construct age-dependent two-year transition matrices for age groups running from 30-31 to 66-67. ${ }^{28}$ We then multiply these age-dependent two-year transition matrices for all age groups, to construct the intergenerational social mobility matrix. + +The matrix we obtain with this procedure accounts for the wealth transitions along the whole working life of agents and, as a consequence, it accounts for any transition induced by bequests (as well as in vivos transfers) the agents receive in this period. Furthermore, transitions are computed for the same percentiles we use as wealth distribution moments. On the other hand, this alternative approach to social mobility might produce spurious mobility due to measurement error in wealth. ${ }^{29}$ + +We report the alternative social mobility matrix we construct in Table 11. +Indeed it displays substantial social mobility, more than the Charles and Hurst (2003) matrix used in our baseline: the Shorrocks mobility index is 0.98 (against 0.88 in the baseline). ${ }^{30}$ + +Re-estimating the model adopting this mobility matrix, we obtain the parameter estimates in Table 12. + +Very interestingly, the estimates are quite close to those we obtain in the baseline. Furthermore, the same can be said for the fit: see Table 13. + +We match quite accurately the larger set of social mobility moments we target from this alternative matrix we constructed: importantly, in the top 10 percent of the distribution, while we overestimate the probability of staying in the top 1 percent, we underestimate the probability of staying in the $90-99$ percent. ${ }^{31}$ + +\footnotetext{ +${ }^{27}$ We should note that the 2007-2009 period is one of substantial wealth destruction, in the stock and real estate markets. This is at issue with our stationarity assumption. We thank an anonymous referee for this observation. +${ }^{28}$ Because of limited sample dimension, we average the left and right matrices obtained using, respectively, the left-middle ages and the middle-right ages to define the age group in the two-year panel; for instance, the 30-31 age group is constructed using the average of the transitions of the $29-30$ and the $31-32$ groups in the data. +${ }^{29}$ Jappelli and Pistaferri (2006) discuss this issue with regards to consumption mobility and account explicitly for measurement error in the analysis: see also Biancotti, D'Alessio, and Neri (2008). +${ }^{30}$ The qualitative properties of social mobility we obtain are similar to those we obtain exploiting, by means of a related methodology, Kennickell and Starr-McCluer's (1997) 6-year transition matrix from SCF (1983-1989); see online Appendix B. 3 for details. The alternative matrix we construct, besides using more recent data, exploits the more precise information contained in age-dependent transitions. +${ }^{31}$ See online Appendix C. 3 for the complete estimated social mobility matrix. +} + +\begin{table} +\captionsetup{labelformat=empty} +\caption{Table 12-Parameter Estimates: Alternative Mobility Matrix} +\begin{tabular}{|l|l|l|l|l|l|} +\hline \multicolumn{2}{|c|}{} & \multicolumn{3}{|c|}{Preferences} & \\ +\hline \multirow{5}{*}{State space} & $\sigma$ & $\mu$ & $A$ & $\beta$ & $T$ \\ +\hline & [2] & (0.0260) & (0.0002) & [0.97] & [36] \\ +\hline & \multicolumn{5}{|c|}{Rate of return process} \\ +\hline & 0.0010 & 0.0087 & 0.0253 & 0.0532 & 0.0850 \\ +\hline & (0.0001) & (0.0013) & (0.0019) & (0.0123) & (0.0062) \\ +\hline \multirow[t]{2}{*}{Transition diagonal} & 0.0224 & 0.2698 & 0.1371 & 0.2746 & 0.0224 \\ +\hline & (0.3189) & (0.6096) & (0.0710) & (0.1463) & (0.2672) \\ +\hline \multirow[t]{3}{*}{Statistics} & $E(r)$ & $\sigma(r)$ & $\rho(r)$ & & \\ +\hline & 3.00\% & 2.68\% & 0.175 & & \\ +\hline & (0.85\%) & (0.51\%) & (0.166) & & \\ +\hline +\end{tabular} +\end{table} + +Note: Standard errors in parentheses; fixed parameters in brackets. + +\begin{table} +\captionsetup{labelformat=empty} +\caption{Table 13-Model Fit: Alternative Mobility Matrix} +\begin{tabular}{|l|l|l|l|l|l|l|l|l|} +\hline Percentile & 0-20 & 20-40 & 40-60 & 60-80 & 80-90 & 90-95 & 95-99 & 99-100 \\ +\hline \multicolumn{9}{|l|}{Wealth distribution} \\ +\hline Wealth share (data) & -0.002 & 0.001 & 0.045 & 0.112 & 0.120 & 0.111 & 0.267 & 0.336 \\ +\hline Wealth share (model) & 0.047 & 0.074 & 0.107 & 0.102 & 0.105 & 0.071 & 0.155 & 0.339 \\ +\hline \multicolumn{9}{|l|}{Social mobility} \\ +\hline Transition diagonal (data) & 0.223 & 0.220 & 0.210 & 0.198 & 0.110 & 0.062 & 0.094 & 0.028 \\ +\hline Transition diagonal (model) & 0.228 & 0.207 & 0.200 & 0.193 & 0.102 & 0.048 & 0.047 & 0.036 \\ +\hline +\end{tabular} +\end{table} + +\section*{IV. Counterfactual Estimates} + +In this section we perform a set of counterfactual estimations of the model, under restricted conditions. More in detail, we perform three sets of counterfactuals, corresponding to shutting down each of the three main factors which can drive the distribution of wealth: (i) capital income risk, (ii) stochastic earnings, and (iii) differential savings rates. + +The objective of this counterfactual analysis is twofold. First of all we aim at gauging the relative importance of the various mechanisms we identified as possibly driving the distribution of wealth. In particular, we aim at a better understanding of which mechanism mostly affects which dimension of the wealth distribution and mobility. Second, we interpret the counterfactuals as informal tests of identification of these mechanisms, lack of identification implying that shutting down one or more of the mechanism has limited effects on the fit for the targeted moments. + +\section*{A. Re-Estimation Results} + +We examine the counterfactual estimates in detail in the following. The estimated parameters are in Table 14. ${ }^{32}$ Table 15 reports the fit of the estimates. + +\footnotetext{ +${ }^{32}$ We report only the mean, standard deviation, and auto-correlation statistics for $r$, to save space. The estimates for the state space and the diagonal of the transition matrix are in online Appendix C.2. In online Appendix C. 3 we report the complete estimated social mobility matrices. +} + +\begin{table} +\captionsetup{labelformat=empty} +\caption{Table 14-Parameter Estimates: Counterfactuals} +\begin{tabular}{|l|l|l|l|l|l|} +\hline \multicolumn{6}{|c|}{Preferences} \\ +\hline Baseline & $\sigma$ [2] & $\mu$ 0.5993 (0.0061) & $A$ 0.0006 (0.0004) & $\beta$ [0.97] & $T$ [36] \\ +\hline Constant $r$ & [2] & 0.5827 (0.2204) & 0.0012 (0.5436) & [0.97] & [36] \\ +\hline Constant $w$ & [2] & 0.5300 (0.0140) & 0.0055 (0.0011) & [0.97] & [36] \\ +\hline $\mu=2$ & [2] & 2 - & 0.0360 (0.0779) & [0.97] & [36] \\ +\hline \multirow{2}{*}{Baseline} & \multicolumn{3}{|c|}{Rate of return process} & \multirow{5}{*}{} & \multirow{5}{*}{} \\ +\hline & $E(r)$ 3.06\% (0.02\%) & $\sigma(r)$ 2.69\% (0.01\%) & $\rho(r)$ 0.103 (0.486) & & \\ +\hline Constant $r$ & 2.89\% (0.95\%) & & & & \\ +\hline Constant $w$ & 3.26\% (0.01\%) & 2.11\% (0.01\%) & 0.222 (0.218) & & \\ +\hline $\mu=2$ & 3.03\% (0.02\%) & 3.07\% (0.02\%) & 0.072 (0.180) & & \\ +\hline +\end{tabular} +\end{table} + +Note: Standard errors in parentheses; fixed parameters in brackets. + +\begin{table} +\captionsetup{labelformat=empty} +\caption{Table 15-Model Fit: Counterfactuals} +\begin{tabular}{|l|l|l|l|l|l|l|l|l|} +\hline \multirow[b]{2}{*}{Percentile} & \multicolumn{8}{|c|}{Wealth distribution} \\ +\hline & 0-20 & 20-40 & 40-60 & 60-80 & 80-90 & 90-95 & 95-99 & 99-100 \\ +\hline Wealth share (data) & -0.002 & 0.001 & 0.045 & 0.112 & 0.120 & 0.111 & 0.267 & 0.336 \\ +\hline \multicolumn{9}{|l|}{Wealth share (model)} \\ +\hline 1. Baseline & 0.049 & 0.077 & 0.111 & 0.110 & 0.110 & 0.076 & 0.142 & 0.325 \\ +\hline 2. Constant $r$ & 0.055 & 0.087 & 0.129 & 0.184 & 0.128 & 0.116 & 0.148 & 0.153 \\ +\hline 3. Constant $w$ & 0.002 & 0.008 & 0.057 & 0.191 & 0.171 & 0.126 & 0.186 & 0.259 \\ +\hline 4. $\mu=2$ & 0.069 & 0.111 & 0.160 & 0.230 & 0.159 & 0.106 & 0.119 & 0.046 \\ +\hline \multirow[b]{2}{*}{Percentile} & \multicolumn{5}{|c|}{Social mobility} & & & \\ +\hline & 0-20 & 20-40 & 40-60 & 60-80 & 80-100 & & & \\ +\hline Transition diagonal (data) & 0.349 & 0.197 & 0.201 & 0.210 & 0.340 & & & \\ +\hline \multicolumn{9}{|l|}{Transition diagonal (model)} \\ +\hline 1. Baseline & 0.349 & 0.197 & 0.201 & 0.210 & 0.340 & & & \\ +\hline 2. Constant $r$ & 0.258 & 0.265 & 0.271 & 0.244 & 0.418 & & & \\ +\hline 3. Constant $w$ & 0.564 & 0.579 & 0.489 & 0.430 & 0.438 & & & \\ +\hline 4. $\mu=2$ & 0.258 & 0.271 & 0.242 & 0.250 & 0.360 & & & \\ +\hline +\end{tabular} +\end{table} + +In the counterfactual with no capital income risk, we re-estimate the model under the constraint that the rate of return is constant. The estimate of the rate of return we obtain in this case is 2.89 percent, just below its mean in the baseline. Though in our baseline estimate the implied savings rate is already too high (see Table 6), the differential savings factor compensates the lack of capital income risk to produce some skewness in the wealth distribution. As a consequence, this counterfactual estimate produces a much higher bequest motive (associated to an even more excessive savings rate): while $\mu$ is essentially unchanged, the estimated relative preference for bequests $A$ is doubled (though still imprecisely estimated). Nonetheless, +the estimate with $r$ constant dramatically misses in matching the top 1 percent of the wealth distribution, which is reduced to less than half of the baseline (and the data). The wealth distribution implied by the model is less skewed, as the smaller fraction of wealth concentrated on the top is shifted to the whole rest of the distribution. In terms of social mobility, restricting the estimate to a constant $r$ reduces also the fit on social mobility: notably, it increases mobility from the bottom 20 percent of the distribution while it reduces it from the rest of the distribution, particularly from the top. + +In the counterfactual with no stochastic earnings, we feed the model an average earnings path. The resulting estimates of the preference parameters and of the rate of return process $r$ reveal a minor strengthening of the savings factor through an increase in $A$, without any substantial change in $\mu$, and especially of capital income risk: both the mean and the auto-correlation of $r$ are increased (the auto-correlation $\rho(r)$ is more than doubled, though still imprecisely estimated), while the standard deviation is slightly smaller. Interestingly, in this case the estimate does not miss as much in matching the top 1 percent of the wealth distribution. This is an indication that stochastic earnings is not a first-order factor in filling the tail of the wealth distribution. On the other hand, the counterfactual with no stochastic earnings fits quite poorly the social mobility matrix, dramatically underfitting the mobility present in the data, at all quintiles. Stochastic earnings, therefore, play a fundamental role in facilitating the escape from low levels of wealth close to the borrowing constraint as well as from the top. But this counterfactual produces also too much wealth concentrated in the 60-90 percent range of the distribution, indicating that stochastic earnings play a particularly relevant role in transitioning wealth from this range to the top 1 percent. + +In the counterfactual with homogeneous saving rates, we set $\mu=2$, that is, we set the curvature parameter of the bequest utility equal to the curvature of consumption utility, so that agents with different wealth save at the same rate. In terms of the estimates, preferences for bequests are substantially increased and capital income is riskier (the variance of $r$ increases). In this case, contrary to the previous counterfactual with no stochastic earnings, the model dramatically fails to match the top 1 percent of the wealth share, which is reduced to about $1 / 7$ of the baseline (and the data). More generally, the simulated wealth distribution is much less skewed, even less skewed than the one produced by the constant $r$ counterfactual: it produces too thin wealth shares in the 90-95, 95-99 percentiles as well. With respect to social mobility, it is noteworthy that restricting to homogeneous savings induces lower mobility out of all quintiles (but only slightly so from the top 20 percent), except from the bottom 20 percent, as is the case for the constant $r$ counterfactual. + +In summary, all the factors we study in our quantitative analysis, stochastic earnings, differential savings, and capital income risk, are well identified as crucial for generating the thick right tail of the wealth distribution and sufficient mobility. The factors seems to have a distinct role. Capital income risk and differential savings both contribute in a fundamental manner to generating the thick tail. Interestingly, both also at the same time increase social mobility (mostly from the top of the distribution for capital income risk) except from the bottom 20 percent. On the other hand, stochastic earnings have a limited role in filling the tail of the wealth distribution but are fundamental in inducing enough mobility in the wealth process, both by +limiting poverty traps at the bottom and favoring the churn at all quintiles, including at the top 33 + +\section*{V. Transitional Dynamics of the Wealth Distribution} + +Our quantitative analysis so far is predicated on the assumption that the observed distribution of wealth is a stationary distribution, in the sense that our estimates are obtained by matching the data with the moments of the stationary distribution generated by the model. In this section we begin studying the implications of our model when we relax the stationarity assumption and try and match the transitional dynamics of the distribution of wealth. + +The exercise we perform is as follows. Using the observed SCF 1962-1963 distribution of wealth as initial condition, ${ }^{34}$ we estimate the parameters of the model by matching the implied distribution after 72 years (two iterations of the model) with the observed SCF 2007 distribution and the transition matrix adopted in the previous quantitative analysis; see Table 16. 35 + +The fundamental feature of the change in the wealth distribution from 1962-1963 to 2007, in our data, is the substantial increase in inequality; see Table 17. The top 1 percent share, for instance, goes from 24.2 percent to 33.6 percent; the top 5 percent from 43.2 percent to 60.3 percent. In this respect, our new estimate shows that such a dramatic increase in wealth inequality can be obtained within the confines of our simple model, by exploiting the explanatory power of capital income risk and differential savings: see Gabaix et al. (2016) for related results. The new parameter estimates we obtain show in fact a larger bequest motive (a larger $A$, though compensated by a larger $\mu$ ), with respect to their counterparts in the benchmark model, and a rate of return process with higher mean and volatility and much more auto-correlation. This induces a simulated distribution of wealth for 2007 which, with respect to the data, is even more skewed at the top. Strikingly, the bottom 40 percent of the distribution is very well matched, better than in our baseline. All in all, the match in this exercise is quite successful and the skewness of the simulated distribution more closely matches the data than even our baseline. This is obtained at the cost of not matching well the + +\footnotetext{ +${ }^{33}$ In apparent contrast with our results, several previous papers in the literature have obtained considerable success in matching the wealth distribution in the data with simulated models fundamentally driven by the stochastic earnings mechanism: see, e.g., Castañeda et al. (2003); Díaz, Pijoan-Mas, and Ríos-Rull (2003); Dávila et al. (2012); Kindermann and Krueger (2015); Kaymak and Poschke (2016). These simulated models, however, are driven by assumptions either about the skewness of earnings or about the working life of agents which appear counterfactual. For instance, Díaz, Pijoan-Mas, and Ríos-Rull (2003) postulate an "awesome state" in the earning process where roughly 6 percent of the top earners have 40 times the labor endowment of the median, at odds with the administrative data recently become available: e.g., in World Top Income Database 2013-2014 the average income of the top 5 percent is no more that 20 times the median income. On the other hand, Kaymak and Poschke's (2016) calibration adds no awesome state but implies a working life span of over 100 years, at the stationary distribution, for 11 percent of the working population. See Benhabib, Bisin, and Luo (2017) and Benhabib and Bisin (2018) for detailed discussions of these issues, including the role of precautionary savings which play a relevant role in model in which the main driver of the wealth distribution is the stochastic earnings mechanism. +${ }^{34}$ More precisely, these data are from precursor surveys to the SCF: the 1962 Survey of Financial Characteristics of Consumers and the 1963 Survey of Changes in Family Finances. See http://www.federalreserve.gov/econresdata/ scf/scf6263.htm for a discussion. Differences in methodology and quality notwithstanding, these data provide a useful benchmark as initial condition to the recent wealth dynamics. +${ }^{35}$ While the analysis does not require nor imposes any stationarity of the distribution of wealth over time, it does postulate that the model structure and parameter values stay constant after 1962. Importantly, we do not feed in the analysis the observed fiscal policy reforms since the 1960s. Doing so should improve the fit. +} + +\begin{table} +\captionsetup{labelformat=empty} +\caption{Table 16-Parameter Estimates: Transitional Dynamics} +\begin{tabular}{|l|l|l|l|l|l|} +\hline & \multicolumn{5}{|c|}{Preferences} \\ +\hline & $\sigma$ [2] & $\mu$ 1.2377 (0.0297) & $A$ 0.0195 (0.0041) & $\beta$ [0.97] & $T$ [36] \\ +\hline \multirow{2}{*}{State space} & \multicolumn{5}{|c|}{Rate of return process} \\ +\hline & 0.0053 (0.0117) & 0.0160 (0.0072) & 0.0201 (0.0316) & 0.0672 (0.0044) & 0.0872 (0.0004) \\ +\hline Transitional diagonal & 0.1094 (1.3759) & 0.3689 (0.9192) & 0.2966 (1.3058) & 0.2260 (0.1453) & 0.0647 (0.7819) \\ +\hline Statistics & $E(r)$ 3.27\% (0.02\%) & $\sigma(r)$ 2.79\% (0.01\%) & $\rho(r)$ 0.210 (0.124) & & \\ +\hline +\end{tabular} +\end{table} + +Note: Standard errors in parentheses; fixed parameters in brackets. + +\begin{table} +\captionsetup{labelformat=empty} +\caption{Table 17-Model Fit: Transitional Dynamics} +\begin{tabular}{|l|l|l|l|l|l|l|l|l|} +\hline \multirow[b]{2}{*}{Percentile} & \multicolumn{8}{|c|}{Wealth distribution} \\ +\hline & 0-20 & 20-40 & 40-60 & 60-80 & 80-90 & 90-95 & 95-99 & 99-100 \\ +\hline Wealth share (data, SCF 1962-1963) & 0.009 & 0.043 & 0.094 & 0.173 & 0.142 & 0.115 & 0.190 & 0.242 \\ +\hline Wealth share (data, SCF 2007) & -0.002 & 0.001 & 0.045 & 0.112 & 0.120 & 0.111 & 0.267 & 0.336 \\ +\hline Wealth share (model) & 0.000 & 0.010 & 0.033 & 0.088 & 0.108 & 0.114 & 0.272 & 0.375 \\ +\hline \multirow[b]{2}{*}{Percentile} & \multicolumn{5}{|c|}{Social mobility} & \multirow{2}{*}{} & \multirow{2}{*}{} & \multirow{2}{*}{} \\ +\hline & 0-20 & 20-40 & 40-60 & 60-80 & 80-100 & & & \\ +\hline Transition diagonal (data) & 0.36 & 0.24 & 0.25 & 0.26 & 0.36 & & & \\ +\hline Transition diagonal (model) & 0.334 & 0.171 & 0.171 & 0.170 & 0.276 & & & \\ +\hline +\end{tabular} +\end{table} +social mobility, by overestimating mobility, that is, the probability that children move away from their parents' wealth cell, all across the distribution. ${ }^{36}$ + +\section*{VI. Conclusions} + +We estimate a parsimonious macroeconomic model of the distribution of wealth in the United States. While we assign special emphasis on the tail of the distribution, the model performs rather well in fitting the whole distribution of wealth in the data. Importantly, the model is also successful in fitting the social mobility of wealth in the data. Parameter estimates, especially the rate of return of wealth process, compare very closely to independent observations. + +Our analysis allows us to distinguish the contributions of three critical factors driving wealth accumulation: a skewed and persistent distribution of earnings, differential saving and bequest rates across wealth levels, and capital income risk in entrepreneurial activities. All of these three factors are necessary and empirically + +\footnotetext{ +${ }^{36}$ See online Appendix C. 3 for the complete estimated social mobility matrix. +} +relevant in matching both distribution and mobility, with a distinct role for each, which we identify. + +Finally, we begin studying the implications of the model for the transitional dynamics of the distribution of wealth. The estimates are qualitatively similar to those in the baseline, and our model delivers fast transitional dynamics. While more work is obviously necessary in this respect, our results are quite encouraging. + +\section*{REFERENCES} + +Altonji, Joseph G., and Lewis M. Segal. 1996. "Small-Sample Bias in GMM Estimation of Covariance Structures." Journal of Business and Economic Statistics 14 (3): 353-66. +Ameriks, John, Joseph Briggs, Andrew Caplin, Mi Luo, Matthew D. Shapiro, and Christopher Tonetti. 2015b. "Measuring and Modeling Inter-generational Wealth Transfers: The Precautionary Transfer Motives." Unpublished. +Ameriks, John, Joseph Briggs, Andrew Caplin, Matthew D. Shapiro, and Christopher Tonetti. 2015a. "Long-Term-Care Utility and Late-in-Life Saving." Unpublished. +Bach, Laurent, Laurent E. Calvet, and Paolo Sodini. 2017. "Rich Pickings? Risk, Return, and Skill in the Portfolios of the Wealthy." Unpublished. +-Benhabib, Jess, and Alberto Bisin. 2018. "Skewed Wealth Distributions: Theory and Empirics." Journal of Economic Literature 56 (4): 1261-91. +-Benhabib, Jess, Alberto Bisin, and Mi Luo. 2017. "Earnings Inequality and Other Determinants of Wealth Inequality." American Economic Review 107 (5): 593-97. +Benhabib, Jess, Alberto Bisin, and Mi Luo. 2019. "Wealth Distribution and Social Mobility in the US: A Quantitative Approach: Dataset." American Economic Review. https://doi.org/10.1257/ aer. 20151684. +-Benhabib, Jess, Alberto Bisin, and Shenghao Zhu. 2011. "The Distribution of Wealth and Fiscal Policy in Economies with Finitely Lived Agents." Econometrica 79 (1): 123-57. +-Biancotti, Claudia, Giovanni D'Alessio, and Andrea Neri. 2008. "Measurement Error in the Bank of Italy's Survey of Household Income and Wealth." Review of Income and Wealth 54 (3): 466-93. +-Cagetti, Marco, and Mariacristina De Nardi. 2006. "Entrepreneurship, Frictions, and Wealth." Journal of Political Economy 114 (5): 835-70. +-Calvet, Laurent E., and Paolo Sodini. 2014. "Twin Picks: Disentangling the Determinants of Risk-Taking in Household Portfolios." Journal of Finance 69 (2): 867-906. +Campbell, John Y., and Martin Lettau. 1999. "Dispersion and Volatility in Stock Returns: An Empirical Investigation." NBER Working Paper 7144. +-Campbell, John Y., Martin Lettau, Burton G. Malkiel, and Yexiao Xu. 2001. "Have Individual Stocks Become More Volatile? An Empirical Exploration of Idiosyncratic Risk." Journal of Finance 56 (1): 1-43. + +Case, Karl E., and Robert J. Shiller. 1989. "The Efficiency of the Market for Single-Family Homes." American Economic Review 79 (1): 125-37. +-Castaneda, A., J. Diaz-Gimenez, and J. V. Rios-Rull. 2003. "Accounting for the U.S Earnings and Wealth Inequality." Journal of Political Economy 111 (4): 818-57. +-Charles, Kerwin Kofi, and Erik Hurst. 2003. "The Correlation of Wealth across Generations." Journal of Political Economy 111 (6): 1155-82. +-Chetty, Raj, Nathaniel Hendren, Patrick Kline, and Emmanuel Saez. 2014. "Where Is the Land of Opportunity? The Geography of Intergenerational Mobility in the United States." Quarterly Journal of Economics 129 (4): 1553-623. +-Cox, Donald. 1990. "Intergenerational Transfers and Liquidity Constraints." Quarterly Journal of Economics 105 (1): 187-217. +-Cunha, Flávio, James J. Heckman, and Susanne M. Schennach. 2010. "Estimating the Technology of Cognitive and Noncognitive Skill Formation." Econometrica 78 (3): 883-931. +Dávila, Julio, Jay H. Hong, Per Krusell, and José-Victor Ríos-Rull. 2012. "Constrained Efficiency in the Neoclassical Growth Model with Uninsurable Idiosyncratic Shocks." Econometrica 80 (6): 2431-67. +De Nardi, Mariacristina. 2004. "Wealth Inequality and Intergenerational Links." Review of Economic Studies 71 (3): 743-68. +De Nardi, Mariacristina, Giulio Fella, and Gonzalo Paz-Pardo. 2017. "The Implications of Richer Earnings Dynamics for Consumption and Wealth." NBER Working Paper 21917. + +De Nardi, Mariacristina, Eric French, and John B. Jones. 2010. "Why Do the Elderly Save? The Role of Medical Expenses." Journal of Political Economy 118 (1): 39-75. +-De Saporta, Benoite. 2005. "Tail of the Stationary Solution of the Stochastic Equation $Y_{n+1}=a_{n} Y_{n} +b_{n}$ with Markovian Coefficients." Stochastic Processes and Application 115 (12): 1954-78. +-Díaz, Antonia, Josep Pijoan-Mas, and José-Victor Ríos-Rull. 2003. "Precautionary Savings and Wealth Distribution under Habit Formation Preferences." Journal of Monetary Economics 50 (6): 1257-91. +Díaz-Giménez, Javier, Andy Glover, and José-Victor Ríos-Rull. 2011. "Facts on the Distributions of Earnings, Income, and Wealth in the United States: 2007 Update." Federal Reserve Bank of Minneapolis Quarterly Review 34 (1): 2-31. +-Fagereng, Andreas, Luigi Guiso, Davide Malacrino, and Luigi Pistaferri. 2016. "Heterogeneity in Returns to Wealth and the Measurement of Wealth Inequality." American Economic Review 106 (5): 651-55. + +Fagereng, Andreas, Luigi Guiso, Davide Malacrino, and Luigi Pistaferri. 2017. "Heterogeneity and Persistence in Returns to Wealth." Unpublished. +-Flavin, Marjorie, and Takashi Yamashita. 2002. "Owner-Occupied Housing and the Composition of the Household Portfolio." American Economic Review 92 (1): 345-62. +-Gabaix, Xavier, Jean-Michel Lasry, Pierre-Louis Lions, and Benjamin Moll. 2016. "The Dynamics of Inequality." Econometrica 84 (6): 2071-111. +-Gale, William G., and John Karl Scholz. 1994. "Intergenerational Transfers and the Accumulation of Wealth." Journal of Economic Perspectives 8 (4): 145-60. +-Grey, D. R. 1994. "Regular Variation in the Tail Behaviour of Solutions of Random Difference Equations." Annals of Applied Probability 4 (1): 169-83. +Guvenen, Fatih. 2016. Quantitative Economics with Heterogeneity: An A-to-Z Guidebook. Princeton, NJ: Princeton University Press. +Guvenen, Fatih, Fatih Karahan, Serdar Ozkan, and Jae Song. 2016. "What Do Data on Millions of US Workers Reveal about Life-Cycle Earnings Dynamics?" Unpublished. +-Hay, Diana, Reza Rastegar, and Alexander Roitershtein. 2011. "Multivariate Linear Recursions with Markov-Dependent Coefficients." Journal of Multivariate Analysis 102 (3): 521-27. +Heathcote, Jonathan, Fabrizio Perri, and Giovanni L. Violante. 2010. "Unequal We Stand: An Empirical Analysis of Economic Inequality in the United States, 1967-2006." Review of Economic Dynamics 13 (1): 15-51. +Hendricks, Lutz. 2002. "Bequests and Retirement Wealth in the United States." Unpublished. +Hubmer, Joachim, Per Krusell, and Anthony A. Smith. 2017. "The Historical Evolution of the Wealth Distribution: A Quantitative-Theoretic Investigation." Unpublished. +-Huggett, Mark, Gustavo Ventura, and Amir Yaron. 2011. "Sources of Lifetime Inequality." American Economic Review 101 (7): 2923-54. +Hurd, Michael, and James P. Smith. 2003. "Expected Bequests and Their Distribution." RAND Corporation Publications Department Working Paper 03-10. +-Japelli, Tullio, and Luigi Pistaferri. 2006. "Intertemporal Choice and Consumption Mobility." Journal of the European Economic Association 4 (1): 75-115. +Kacperczyk, Marcin, Jaromir Nosal, and Luminita Stevens. 2015. "Investor Sophistication and Capital Income Inequality." Unpublished. +Kaplan, Greg, Benjamin Moll, and Giovanni L. Violante. 2016. "Monetary Policy According to HANK." Unpublished. +-Kaymak, Bariş, and Markus Poschke. 2016. "The Evolution of Wealth Inequality over Half a Century: The Role of Taxes, Transfers and Technology." Journal of Monetary Economics 77: 1-25. +-Keane, Michael P., and Kenneth I. Wolpin. 1997. "The Career Decisions of Young Men." Journal of Political Economy 105 (3): 473-522. +-Kennickell, Arthur B., and Martha Starr-McCluer. 1997. "Household Saving and Portfolio Change: Evidence from the 1983-89 SCF Panel." Review of Income and Wealth 43 (4): 381-99. +Kindermann, Fabian, and Dirk Krueger. 2015. "High Marginal Tax Rates on the Top 1\%? Lessons from a Life Cycle Model with Idiosyncratic Income Risk." Unpublished. +- Krusell, Per, and Anthony A. Smith, Jr. 1998. "Income and Wealth Heterogeneity in the Macroeconomy." Journal of Political Economy 106 (5): 867-96. +Luo, Mi. 2017. "Unintended Effects of Estate Taxation on Wealth Inequality." Unpublished. +Miranda, Mario J., and Paul L. Fackler. 2004. Applied Computational Economics and Finance. Cambridge, MA: MIT Press. +-Moskowitz, Tobias J., and Annette Vissing-Jørgensen. 2002. "The Returns to Entrepreneurial Investment: A Private Equity Premium Puzzle?" American Economic Review 92 (4): 745-78. +Piketty, Thomas. 2014. Capital in the Twenty-First Century. Cambridge, MA: Harvard University Press. +-Poterba, James, Steven Venti, and David Wise. 2011. "The Composition and Drawdown of Wealth in Retirement." Journal of Economic Perspectives 25 (4): 95-118. +-Quadrini, Vincenzo. 2000. "Entrepreneurship, Saving, and Social Mobility." Review of Economic Dynamics 3 (1): 1-40. +-Saez, Emmanuel, and Gabriel Zucman. 2016. "Wealth Inequality in the United States since 1913: Evidence from Capitalized Income Tax Data." Quarterly Journal of Economics 131 (2): 519-78. \ No newline at end of file diff --git a/models/We-Would-Like-In-Econ-ARK/Benhabib_et_al_2019/Benhabib_et_al_2019.pdf b/models/We-Would-Like-In-Econ-ARK/Benhabib_et_al_2019/Benhabib_et_al_2019.pdf new file mode 100644 index 00000000..f0a4dcb2 Binary files /dev/null and b/models/We-Would-Like-In-Econ-ARK/Benhabib_et_al_2019/Benhabib_et_al_2019.pdf differ diff --git a/models/We-Would-Like-In-Econ-ARK/Benhabib_et_al_2019/Benhabib_et_al_2019_intro.ipynb b/models/We-Would-Like-In-Econ-ARK/Benhabib_et_al_2019/Benhabib_et_al_2019_intro.ipynb index 2b0a6cb9..618b76d3 100644 --- a/models/We-Would-Like-In-Econ-ARK/Benhabib_et_al_2019/Benhabib_et_al_2019_intro.ipynb +++ b/models/We-Would-Like-In-Econ-ARK/Benhabib_et_al_2019/Benhabib_et_al_2019_intro.ipynb @@ -10,7 +10,15 @@ "\n", "**Original ballpark author:** Ashish Kumar (March 2024)\n", "\n", - "**Updated by:** llorracc \u2014 2026-01-27" + "**Updated by:** llorracc \u2014 2026-01-27\n", + "\n", + "**Pitch \u2014 why this paper is in the ballpark:**\n", + "\n", + "*What the paper uniquely does.* The paper is the first to **jointly** identify and estimate three channels for the thick right tail of the U.S. wealth distribution \u2014 skewed lifecycle earnings, differential saving driven by wealth-dependent bequest motives, and heterogeneous stochastic returns \u2014 and to **jointly** match the cross-sectional wealth distribution and the intergenerational mobility matrix.\n", + "\n", + "*Why Econ-ARK cares.* The paper's heterogeneous-return Markov chain is a natural fit for HARK's existing Markov-chain exogenous-state machinery, and the dynasty-level $(\\tau, r)$ structure extends buffer-stock theory into the intergenerational domain that underlies most modern inequality-measurement work.\n", + "\n", + "*What a REMARK of this paper would enable.* Counterfactual wealth-tax and policy experiments, and extensions incorporating the demographic, mortality, and medical-risk features that the paper's own \"Limitations\" section identifies as out of scope.\n" ] } ], @@ -27,4 +35,4 @@ }, "nbformat": 4, "nbformat_minor": 5 -} \ No newline at end of file +} diff --git a/models/We-Would-Like-In-Econ-ARK/Benhabib_et_al_2019/Benhabib_et_al_2019_prior-literature.ipynb b/models/We-Would-Like-In-Econ-ARK/Benhabib_et_al_2019/Benhabib_et_al_2019_prior-literature.ipynb index f1da9cb9..5a919c6d 100644 --- a/models/We-Would-Like-In-Econ-ARK/Benhabib_et_al_2019/Benhabib_et_al_2019_prior-literature.ipynb +++ b/models/We-Would-Like-In-Econ-ARK/Benhabib_et_al_2019/Benhabib_et_al_2019_prior-literature.ipynb @@ -15,7 +15,7 @@ "\n", "{cite:t}`benhabib2019` builds on a rich tradition of heterogeneous-agent macroeconomic models that seek to explain the observed distribution of wealth in the United States. The foundational framework originates with {cite:t}`bewley1983`, who introduced incomplete-markets models in which agents self-insure against idiosyncratic income shocks. {cite:t}`huggett1993` and {cite:t}`aiyagari1994` extended this framework into general equilibrium, establishing the workhorse \"Bewley-Huggett-Aiyagari\" class of models. While these models successfully generate wealth dispersion, they consistently underpredict the concentration of wealth at the very top of the distribution \u2014 the thick right tail observed empirically.\n", "\n", - "Several strands of subsequent research sought to close this gap. {cite:t}`quadrini2000` and {cite:t}`cagetti2006` introduced entrepreneurship and its associated return heterogeneity as a mechanism for generating extreme wealth. {cite:t}`castaneda2003` showed that calibrating to a highly skewed earnings process could improve the fit to the upper tail. {cite:t}`denardi2004` demonstrated that voluntary bequests \u2014 particularly luxury bequests that grow with wealth \u2014 are important for transmitting large estates across generations. In parallel, {cite:t}`benhabib2011` and {cite:t}`benhabib2015` developed analytical results showing that stochastic returns to capital, combined with finite lifetimes and bequests, can generate Pareto-tailed stationary wealth distributions." + "Several strands of subsequent research sought to close this gap. {cite:t}`quadrini2000` and {cite:t}`cagetti2006` introduced entrepreneurship and its associated return heterogeneity as a mechanism for generating extreme wealth. {cite:t}`castaneda2003` showed that calibrating to a highly skewed earnings process could improve the fit to the upper tail. {cite:t}`denardi2004` demonstrated that voluntary bequests \u2014 particularly luxury bequests that grow with wealth \u2014 are important for transmitting large estates across generations. In parallel, {cite:t}`benhabib2011` and {cite:t}`benhabib2015` developed analytical results showing that stochastic returns to capital, combined with finite lifetimes and bequests, can generate Pareto-tailed stationary wealth distributions. These theoretical predictions found their empirical counterpart in {cite:t}`fagereng2020`, who used Norwegian tax-record microdata to document substantial heterogeneity and persistence in individual returns to wealth \u2014 precisely the stochastic-$r$ process that {cite:t}`benhabib2019` identifies as a key driver of the upper tail of U.S. wealth." ] }, { @@ -32,7 +32,8 @@ "\n", "- {cite:t}`castaneda2003` \u2014 Showed that a carefully calibrated earnings process with very high realizations (\"superstar\" earnings) can help match the U.S. wealth distribution, highlighting the role of labor income heterogeneity.\n", "\n", - "- {cite:t}`krusell1998` \u2014 Introduced discount-factor heterogeneity as an alternative mechanism for generating wealth inequality in general-equilibrium models, demonstrating that even small differences in patience can produce large differences in wealth." + "- {cite:t}`krusell1998` \u2014 Introduced discount-factor heterogeneity as an alternative mechanism for generating wealth inequality in general-equilibrium models, demonstrating that even small differences in patience can produce large differences in wealth.\n", + "- {cite:t}`fagereng2020` \u2014 Used Norwegian tax-record microdata to document heterogeneity and persistence in individual returns to wealth, providing the empirical anchor for the stochastic-return channel that {cite:t}`benhabib2019` uses to explain the upper tail of the wealth distribution.\n" ] }, { @@ -60,4 +61,4 @@ }, "nbformat": 4, "nbformat_minor": 5 -} \ No newline at end of file +} diff --git a/models/We-Would-Like-In-Econ-ARK/Benhabib_et_al_2019/Benhabib_et_al_2019_summary.ipynb b/models/We-Would-Like-In-Econ-ARK/Benhabib_et_al_2019/Benhabib_et_al_2019_summary.ipynb index 8f543ee2..6d3d31e4 100644 --- a/models/We-Would-Like-In-Econ-ARK/Benhabib_et_al_2019/Benhabib_et_al_2019_summary.ipynb +++ b/models/We-Would-Like-In-Econ-ARK/Benhabib_et_al_2019/Benhabib_et_al_2019_summary.ipynb @@ -4,7 +4,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## Summary\n", + "# Summary\n", "\n", "This paper presents a comprehensive analysis of the factors influencing wealth dynamics and social mobility in the United States.\n", "\n", @@ -12,7 +12,9 @@ "\n", "- **Motivation:** Wealth is unequally distributed, with significant skewness and a thick right tail, where the top 1% holds a disproportionately large share of wealth.\n", "- The lifecycle model developed in the study identifies three main factors driving these outcomes: skewed earnings distribution, differential savings rates across wealth levels, and stochastic idiosyncratic returns to wealth. All three factors are crucial for matching the observed wealth distribution and mobility patterns.\n", - "- The model developed matches empirical data well, and counterfactuals provide insights into the relative importance of the above factors in driving wealth accumulation and distribution in the U.S." + "- The model developed matches empirical data well, and counterfactuals provide insights into the relative importance of the above factors in driving wealth accumulation and distribution in the U.S.\n", + "\n", + "For a detailed discussion of the foundational literature, see the [Prior Literature](Benhabib_et_al_2019_prior-literature.ipynb) notebook. For how later work addresses these issues, see the [Subsequent Literature](Benhabib_et_al_2019_subsequent-literature.ipynb) notebook." ] }, { @@ -35,60 +37,7 @@ { "cell_type": "markdown", "metadata": {}, - "source": [ - "## The Model\n", - "\n", - "A fairly simple microfounded model of lifecycle consumption and savings. Each agent's life span is finite and deterministic, T years.\n", - "\n", - "### Features of the model\n", - "\n", - "1. Every period agents choose how much to consume ($c_t$) and save ($a_t$) out of their market resources.\n", - "2. All agents are subjected to a no-borrowing constraint.\n", - "3. Agents leave bequests $a_{T}$ at the end of life T.\n", - "4. Wealth accumulates from savings and bequests.\n", - "5. Every agent is assigned an idiosyncratic rate of return r and lifetime labor earnings profile $\\left\\{w_{t} \\right\\}_{t=1}^{T}$ possibly correlated with those of the parent.\n", - "6. Rate of return and earnings are stochastic across generations but deterministic within generation.\n", - "\n", - "### Preferences\n", - "Preferences are composed of:\n", - "1. per period utility from consumption\n", - "2. warm-glow utility from bequests at T, $e(a_{T})$\n", - "$$\n", - "\\begin{aligned}\n", - "& u(c_t) = \\frac{c_{t}^{1 - \\sigma}}{1 - \\sigma}, \\quad \\quad e(a_t) = A\\frac{a_{T}^{1 - \\mu}}{1 - \\mu} \\\\\n", - "\\end{aligned}\n", - "$$\n", - "\n", - "### Recursive Formulation\n", - "Given initial wealth $a_0$, earnings profile and rate of return, each agent's optimization problem is:\n", - "$$\n", - "\\begin{aligned}\n", - "& V_{t}(a) = \\max_{c, a'} u(c) + \\beta V_{t+1}(a') \\\\\n", - "& \\text{s.t.} \\\\\n", - "& a' = (1+r)a - c + w \\\\\n", - "& 0 \\leq c \\leq a, \\quad t = 1,..., T-1\\\\\n", - "& V_{T}(a) = u(c) + e(a')\\\\\n", - "\\end{aligned}\n", - "$$\n", - "\n", - "The solution to the above problem is a stochastic difference equation for the initial wealth of dynasties, induced by the $\\left\\{r^n, w^n \\right\\}_{n}$, mapping $a^{n-1}$ into $\\left\\{a^{n} \\right\\}_{n}$, where superscripts correspond to the nth generation.\n", - "$$\n", - "\\begin{aligned}\n", - "& a^{n} = g(a^{n-1}; r^{n}, w^{n}) \\\\\n", - "\\end{aligned}\n", - "$$\n", - "\n", - "Under the given assumptions of the model, the following holds:\n", - "1. If $\\mu = \\sigma$ $\\implies$ the stochastic process $\\left\\{a^{n} \\right\\}_{n}$ has a stationary distribution\n", - "2. If $\\mu < \\sigma$ $\\implies$ savings rate increases with wealth (stationary distribution might not exist). If it does exist, then it displays a thick tail.\n", - "\n", - "### Quantitative Analysis\n", - "\n", - "The paper uses the method of simulated moments (MSM) to identify unknown parameters.\n", - "\n", - "1. Externally calibrate some parameters of the model\n", - "2. Estimate remaining parameters of the model by matching the targeted moments generated by the stationary distribution induced by the model and those in the data" - ] + "source": "## The Model\n\nA fairly simple microfounded model of lifecycle consumption and savings. Each agent's life span is finite and deterministic, T years.\n\n### Features of the model\n\n1. Every period, agents choose how much to consume ($c_t$); end-of-period savings (and so next-period beginning wealth $a_{t+1}$) follow from the budget identity.\n2. All agents are subjected to a no-borrowing constraint.\n3. Agents leave bequests $a_{T+1}$ at the end of life T.\n4. Wealth accumulates from savings and bequests.\n5. Each agent is assigned **at birth** (i) a lifetime earnings-profile type $\\tau \\in \\{1, \\ldots, 10\\}$ drawn from a 10-state intergenerational Markov chain (paper Table 1 gives the ten decile-specific age profiles; Chetty et al. 2014 gives the intergenerational transition), and (ii) a rate-of-return state drawn from a 5-state Markov chain (see \"Stochastic Structure\" below). **Both $\\tau$ and $r$ are constant within a life**, and each is stochastic across generations through its own intergenerational Markov chain, possibly correlated with that of the parent.\n\n### Preferences\nPreferences are composed of:\n1. per period utility from consumption\n2. warm-glow utility from bequests at T, $e(a_{T+1})$\n$$\n\\begin{aligned}\n& u(c_t) = \\frac{c_{t}^{1 - \\sigma}}{1 - \\sigma}, \\quad \\quad e(a_{T+1}) = A\\frac{a_{T+1}^{1 - \\mu}}{1 - \\mu} \\\\\n\\end{aligned}\n$$\n\n### Recursive Formulation\n\nGiven a type assignment $(\\tau, r)$ drawn at birth and initial wealth $a_1$, the agent's optimization problem for $t = 1, \\ldots, T-1$ is (following the paper's online Appendix A.1 — the authors' authoritative description of the numerical solution):\n\n$$\n\\begin{aligned}\n& V^{\\tau, r}_{t}(a_t) \\;=\\; \\max_{c_t} \\; u(c_t) + \\beta \\, V^{\\tau, r}_{t+1}(a_{t+1}) \\\\\n& \\text{s.t.} \\\\\n& a_{t+1} \\;=\\; (1+r)\\,(a_t - c_t) + w_t(\\tau) \\qquad \\text{(savings earn return; earnings arrive at end of period)} \\\\\n& 0 \\;\\le\\; c_t \\;\\le\\; a_t \\qquad \\text{(consume out of beginning-of-period wealth; no-borrowing)}\n\\end{aligned}\n$$\n\nwith terminal condition\n\n$$\nV^{\\tau, r}_{T}(a_T) \\;=\\; \\max_{c_T} \\; u(c_T) + e(a_{T+1}) \\quad \\text{subject to} \\quad a_{T+1} = (1+r)(a_T - c_T) + w_T(\\tau),\\; 0 \\le c_T \\le a_T.\n$$\n\n**Notation convention and source.** This formulation follows **online Appendix A.1**. The published paper §I writes the budget compactly as $a' = (1+r)a - c + w$ with constraint $0 \\le c \\le a$, which is internally inconsistent: the constraint $c \\le a$ is genuine under the appendix model, but the budget equation as printed in §I is missing a $(1+r)$ factor on $c$. The Formalized-tier artifacts in this directory ([`bellman-excerpt.md`](bellman-excerpt.md), [`dolo-plus-draft.yaml`](dolo-plus-draft.yaml), [`dynasty-excerpt.md`](dynasty-excerpt.md), [`dolo-plus-dynasty.yaml`](dolo-plus-dynasty.yaml)) build on the appendix model; see [`bellman-excerpt.md`](bellman-excerpt.md) Open Issue #10 for the full audit trail.\n\nFor the dolo-plus three-perch decomposition used in `bellman-excerpt.md`, the arrival-perch state is $a_t$ (beginning-of-period wealth), the decision-perch state $m_t$ is **identity** with $a_t$ ($m_t = a_t$ — just a perch label, no transformation), the control is $c_t \\in [0, a_t]$, and the continuation-perch state is $a_{t+1}$. Savings $(a_t - c_t)$ earn return $r$, then earnings $w_t(\\tau)$ arrive at the end of the period.\n\n**Family structure.** The household problem is a **parameterized family of Bellman problems** indexed by $(\\tau, r)$ — ten earnings-profile types and five rate-of-return states, so fifty separate fixed-point problems in the baseline calibration. This is structurally analogous to HAFiscal's $(\\beta_i, e)$ type-indexed family (Carroll, Crawley, Frankovic, Tretvoll). Across generations, $(\\tau^n, r^n)$ evolve according to the intergenerational Markov chains specified in \"Stochastic Structure\" below; **within a life, they are fixed parameters of the value function, not state variables.** A dolo-plus YAML must therefore either (a) encode the stage as a parameterized family with $(\\tau, r)$ as calibration overrides across stage instances, or (b) encode the dynasty-level structure explicitly with $(\\tau, r)$ as discrete states resolved only at birth — HAFiscal uses (a).\n\n### Stochastic Structure\n\nAcross generations, the paper specifies:\n\n1. **Rate of return $r^n$** is drawn from a **finite $K$-state Markov chain** with transition $P(r^n \\mid r^{n-1})$. In the paper's baseline $K = 5$, with off-diagonal probabilities restricted to decay geometrically away from the diagonal (except the last row, which uses constant off-diagonal probabilities); see paper §I and footnote 13. The full 5×5 matrix is in online Appendix C.1; transcribed in [`dolo-plus-draft.yaml`](dolo-plus-draft.yaml) under `calibration_family.population.Pi_r.matrix`.\n2. **Earnings-profile type $\\tau^n$** is drawn from a **10-state intergenerational Markov chain**, calibrated from Chetty et al. (2014). The ten profile shapes $\\{w_t(\\tau)\\}_{t=1}^T$ are reported in paper Table 1 (transcribed into [`dolo-plus-draft.yaml`](dolo-plus-draft.yaml) under `calibration_family.by_tau`). Online Appendix B.2 describes the procedure for collapsing Chetty et al.'s 100×100 matrix to 10×10 but does not tabulate the result; the matrix would need separate reconstruction from Chetty et al.'s data tables or from the BBL replication package.\n3. $r^n$ and $\\tau^n$ are **independent of each other**, but each is **serially correlated across generations**.\n4. **Extension (Section IIID):** the paper also considers an extension in which the Markov state space of $r^n$ is allowed to depend on the agent's initial wealth $a_1$, capturing the empirically supported tendency for higher rates of return among the wealthy.\n\nThe solution to the above problem is a stochastic difference equation for the initial wealth of dynasties, induced by the $\\left\\{r^n, \\tau^n \\right\\}_{n}$ processes, mapping $a^{n-1}$ into $\\left\\{a^{n} \\right\\}_{n}$, where superscripts correspond to the nth generation:\n$$\n\\begin{aligned}\n& a^{n} = g(a^{n-1}; r^{n}, \\tau^{n}) \\\\\n\\end{aligned}\n$$\n\nUnder the given assumptions of the model, the following holds:\n1. If $\\mu = \\sigma$ $\\implies$ the stochastic process $\\left\\{a^{n} \\right\\}_{n}$ has a stationary distribution with a Pareto right tail\n2. If $\\mu < \\sigma$ $\\implies$ savings rate increases with wealth, $g(\\cdot)$ is convex in initial wealth (the rich save proportionally more); a stationary distribution might not exist, but if it does the right tail is at least as thick as Pareto.\n\nThe dynasty-level composition — including the lifetime map $g(\\cdot)$, the independence of the $\\tau$- and $r$-chains, and the paper's stationary-distribution Proposition — is formalized in [`dynasty-excerpt.md`](dynasty-excerpt.md) and [`dolo-plus-dynasty.yaml`](dolo-plus-dynasty.yaml).\n\n### Quantitative Analysis\n\nThe paper uses the method of simulated moments (MSM) to identify unknown parameters.\n\n1. Externally calibrate some parameters of the model\n2. Estimate remaining parameters of the model by matching the targeted moments generated by the stationary distribution induced by the model and those in the data\n" }, { "cell_type": "markdown", @@ -113,9 +62,9 @@ "\n", "![Counterfactual wealth distributions: model vs. data under alternative assumptions](fig1.png)\n", "\n", - "Lastly, the paper describes transitional dynamics of the wealth distribution within the confines of the model. In particular, the paper conducted an analysis using the SCF 1962\u20131963 wealth distribution as a starting point, estimating model parameters to match with the 2007 SCF distribution and previously used transition matrices. The findings highlight a significant rise in wealth inequality during this period, with the top 1% share increasing from 24.2% to 33.6%. The updated estimates reveal that this surge in inequality can be traced through enhanced capital income risk and differential savings, resulting in a skewed wealth distribution that closely matches empirical data, especially at the higher end. However, this model overestimates social mobility across wealth brackets.\n", + "Lastly, the paper describes transitional dynamics of the wealth distribution within the confines of the model. In particular, the paper conducted an analysis using the SCF 1962–1963 wealth distribution as a starting point, estimating model parameters to match with the 2007 SCF distribution and previously used transition matrices. The findings highlight a significant rise in wealth inequality during this period, with the top 1% share increasing from 24.2% to 33.6%. The updated estimates reveal that this surge in inequality can be traced through enhanced capital income risk and differential savings, resulting in a skewed wealth distribution that closely matches empirical data, especially at the higher end. However, this model overestimates social mobility across wealth brackets.\n", "\n", - "![Transitional dynamics of the wealth distribution from SCF 1962\u20131963 to SCF 2007](fig2.png)" + "![Transitional dynamics of the wealth distribution from SCF 1962–1963 to SCF 2007](fig2.png)" ] }, { diff --git a/models/We-Would-Like-In-Econ-ARK/Benhabib_et_al_2019/bellman-excerpt.md b/models/We-Would-Like-In-Econ-ARK/Benhabib_et_al_2019/bellman-excerpt.md new file mode 100644 index 00000000..50fd509a --- /dev/null +++ b/models/We-Would-Like-In-Econ-ARK/Benhabib_et_al_2019/bellman-excerpt.md @@ -0,0 +1,324 @@ +# Bellman excerpt — Benhabib, Bisin, and Luo (2019) + +> **Paper:** Jess Benhabib, Alberto Bisin, and Mi Luo, "Wealth Distribution and Social Mobility in the US: A Quantitative Approach," *American Economic Review*, 109(5), 1623–1647, 2019. [DOI: 10.1257/aer.20151684](https://doi.org/10.1257/aer.20151684) + +## Purpose and scope + +This document is the modular-DDSL Bellman statement of the **within-lifetime** household problem in the paper's Section I, intended as input to a Matsya iteration that will produce a [`dolo-plus-draft.yaml`](dolo-plus-draft.yaml). It covers: + +- The **per-lifetime parameterized-family** problem: for each type assignment $(\tau, r)$, a finite-horizon lifecycle consumption-savings problem with terminal warm-glow bequest. +- **Two stage templates:** an **interior stage** used for ages $t = 1, \ldots, T-1$ and a **terminal stage** used at $t = T$. +- **Three perches per stage:** arrival $\prec$, decision $\circ$, continuation $\succ$. + +It **does not** cover: + +- The **dynasty-level stochastic process** over generations ($(\tau^n, r^n)$ Markov chains connecting lifetime maps $a^{n} = g(a^{n-1}; \tau^n, r^n)$). That is the inter-life composition layer; see [`_summary.ipynb` → "The Model" → "Stochastic Structure"](Benhabib_et_al_2019_summary.ipynb) for its description. A dolo-plus formalization of the within-lifetime problem does not need to encode dynasty dynamics; these are handled at an outer simulation layer. +- The Section IIID extension in which $r$ depends on wealth. Flagged in "Open issues" below. + +--- + +## Symbol table + +Every symbol appearing anywhere in this document is listed. Domains are stated explicitly; parameter values where the paper's baseline calibration fixes them. + +| Symbol | Role | Space / domain | Description | +|---|---|---|---| +| $t$ | index | $\{1, 2, \ldots, T\}$ | Age (period within a lifetime) | +| $T$ | parameter | positive integer; paper: $T = 36$ | Deterministic lifespan | +| $n$ | index | $\{0, 1, 2, \ldots\}$ | Generation index (dynasty-level; out-of-scope for the YAML) | +| $\tau$ | type | $\{1, 2, \ldots, 10\}$ | Earnings-profile decile; drawn at birth, fixed-within-life. Source: PSID via Heathcote-Perri-Violante (2010) | +| $r$ | type / parameter of lifetime | 5-state space $\{r_1, \ldots, r_5\}$ drawn at birth; paper Table 4 estimates: $\{0.0011, 0.0094, 0.0258, 0.0560, 0.0841\}$, mean $E(r) = 3.06\%$ | Within-life rate of return; fixed-within-life, Markov across generations | +| $a_t$ | **state (arrival perch)** | $a_t \in \mathbb{R}_{\ge 0}$ | Beginning-of-period wealth (before interest accrues and before current-period earnings arrive) | +| $w_t(\tau)$ | exogenous | $w_t(\tau) \ge 0$ | Deterministic earnings at age $t$ for type $\tau$; **bracket-piecewise-constant**: 6 age brackets of 6 years each (paper Table 1, ten rows × six columns); period $t$ maps to calendar age $24 + t$ (working life 25–60); within a bracket, $w_t(\tau)$ equals the bracket-average earnings of decile $\tau$ | +| $m_t$ | **state (decision perch)** | $m_t \in \mathbb{R}_{\ge 0}$ | Decision-perch state; under the online-Appendix-A.1 model adopted here (see Open Issue #10), $m_t = a_t$ — a perch label only, the arrival-to-decision transition is identity | +| $c_t$ | **control (decision perch)** | $c_t \in [0, m_t]$ | Consumption; under the appendix model, $c_t \le m_t = a_t$ — the upper bound is **beginning-of-period wealth**, not cash-on-hand | +| $a_{t+1}$ | **state (continuation perch)** | $a_{t+1} \in \mathbb{R}_{\ge 0}$ | End-of-period wealth, $a_{t+1} = (1+r)(a_t - c_t) + w_t(\tau)$; also arrival state of period $t+1$ | +| $a_{T+1}$ | **terminal quantity (bequest)** | $a_{T+1} \in \mathbb{R}_{\ge 0}$ | Bequest at end of life; enters warm-glow payoff $e$ | +| $\sigma$ | parameter (preference) | $\sigma > 0$, $\sigma \ne 1$; paper: $\sigma = 2$ (fixed) | CRRA coefficient of consumption utility | +| $\mu$ | parameter (preference) | $\mu > 0$, $\mu \ne 1$; paper Table 4: $\mu = 0.5993$ (s.e. 0.0061) | Curvature of warm-glow bequest kernel | +| $A$ | parameter (preference) | $A > 0$; paper Table 4: $A = 0.0006$ (s.e. 0.0004) | Weight on warm-glow bequest | +| $\beta$ | parameter (preference) | $\beta \in (0, 1)$; paper: $\beta = 0.97$ (fixed, annual) | Time-discount factor | +| $u(c_t)$ | payoff (decision perch, interior) | $\mathbb{R}$ | Per-period CRRA utility; $u(c_t) = c_t^{1-\sigma}/(1-\sigma)$ | +| $e(a_{T+1})$ | payoff (decision perch, terminal) | $\mathbb{R}$ | Warm-glow bequest utility; $e(a_{T+1}) = A\, a_{T+1}^{1-\mu}/(1-\mu)$ | +| $V^{\tau,r}_{t}(a_t)$ | value function | $\mathbb{R}$ | Lifetime value at arrival perch of period $t$, for type $(\tau, r)$ | +| $V^{\tau,r}_{t}{}'(m_t)$ | marginal value | $\mathbb{R}_{>0}$ | $\partial V^{\tau,r}_t / \partial m_t$; needed for EGM | +| $\mathbb{B}_t$ | mover | backward (continuation $\succ$ → decision $\circ$) | Bellman optimization: $\max_{c_t}\{u(c_t) + \beta V^{\tau,r}_{t+1}(a_{t+1})\}$ | +| $\mathbb{I}_t$ | mover | forward (decision $\circ$ → arrival $\prec$ of $t+1$) | Identity; there are no within-life shocks to integrate over | +| $\mathbb{T}_t$ | stage operator | $\mathbb{T}_t = \mathbb{I}_t \circ \mathbb{B}_t$ | Full stage transformation of value-function backward pass | +| $g(\cdot)$ | lifetime map | $\mathbb{R}_{\ge 0} \to \mathbb{R}_{\ge 0}$ | $a_{T+1} = g(a_1; \tau, r)$: maps initial wealth to bequest given type (derived from solving the parameterized family) | + +**Notation on perch tags (when used).** We write $x_\prec$, $x_\circ$, $x_\succ$ to denote the value of a quantity $x$ at the arrival, decision, or continuation perch of a stage, respectively. In this model the decomposition is deliberately written so that each quantity has one unambiguous perch (see "Perch decomposition" below), so perch tags are usually not needed in the equations. + +--- + +## Timing convention (within one period $t$) + +Adopting the **online-Appendix-A.1 timing** (= the authors' actual numerical solution; see Open Issue #10 for the paper-§I-vs-appendix budget-equation discrepancy): + +1. **Arrival ($\prec$) at period $t$.** Beginning-of-period wealth $a_t$ is carried in (from period $t-1$'s continuation, or, at $t=1$, from the newborn's initial draw). No within-life shocks resolve at this point — the type $(\tau, r)$ is already known from birth. +2. **Arrival → Decision transition $\mathrm{g}_{\prec\circ}$.** Identity: $m_t = a_t$. The agent observes the same wealth at the decision perch as at the arrival perch. +3. **Decision ($\circ$).** The agent chooses $c_t \in [0, m_t] = [0, a_t]$. The constraint is "consume no more than beginning-of-period wealth" — this is genuine (not a typo for $a_{t+1} \ge 0$); see Open Issue #8. +4. **Decision → Continuation transition $\mathrm{g}_{\circ\succ}$.** Savings $(m_t - c_t)$ earn return $r$, then earnings $w_t(\tau)$ arrive: $a_{t+1} = (1+r)(m_t - c_t) + w_t(\tau)$. +5. **Continuation ($\succ$).** $a_{t+1}$ becomes the arrival state of period $t+1$ (or, at $t = T$, the bequest $a_{T+1}$ entering the warm-glow payoff). + +There are no "expectation" or "shock realization" steps within a period (no within-life shocks), and the arrival-to-decision step is a literal identity (no chain-rule factor on the value-function pass-back). + +--- + +## Preferences (explicit forms) + +Per-period consumption utility is CRRA: + +$$ +u(c_t) \;=\; \frac{c_t^{1-\sigma}}{1-\sigma}, \qquad \sigma > 0,\; \sigma \ne 1. +$$ + +Terminal warm-glow bequest utility is CRRA-like in the bequest $a_{T+1}$: + +$$ +e(a_{T+1}) \;=\; A\,\frac{a_{T+1}^{1-\mu}}{1-\mu}, \qquad \mu > 0,\; \mu \ne 1,\; A > 0. +$$ + +The paper's baseline calibration fixes $\sigma = 2$ and estimates $\mu$ and $A$ via the method of simulated moments. The relation $\mu < \sigma$ drives the paper's **differential savings rates** result (rich save proportionally more) and a **thick right tail** in the stationary wealth distribution; see paper §I, characterization of the lifetime map $g(\cdot)$. + +--- + +## Problem structure: periods, stages, perches + +For a **given type assignment $(\tau, r)$** (a point in $\{1,\ldots,10\} \times \{r_1,\ldots,r_5\}$): + +- The problem is a **finite-horizon, discrete-time** lifecycle problem over $t = 1, \ldots, T$ with $T = 36$ periods. +- Per matsya evaluation (`topics2026-benhabib-demo` Turn 3), the problem uses **one stage template** applied at every age, with a **terminal boundary wiring** at $t = T$ supplying $V_{[\succ]} = e(a_{[\succ]})$ and $dV_{[\succ]} = e'(a_{[\succ]})$ in place of the iterated downstream value. A separate `terminal_stage` block is **not** used. +- The stage has **three perches**: arrival $\prec$, decision $\circ$, continuation $\succ$. +- Because there are no within-life shocks **and** the arrival-to-decision map $m_t = a_t$ is identity (under the appendix model, see Open Issue #10), the **forward mover** $\mathbb{I}_t$ (decision → arrival, same stage, in the value-back-propagation sense) is a **literal pass-through**: both $V_{[\prec]} = V$ and $dV_{[\prec]} = dV$, with no chain-rule factor. Matsya Turn 1's original `dV[<] = dV` advice applies. + +The full within-lifetime problem is therefore the sequential composition + +$$ +V^{\tau,r}_1 \;=\; (\mathbb{T}_1 \circ \mathbb{T}_2 \circ \cdots \circ \mathbb{T}_{T-1} \circ \mathbb{T}_T)[\,e(\cdot)\,] +$$ + +where each $\mathbb{T}_t$ uses the same stage template with $w_t(\tau)$ as an age-varying parameter. At the terminal age $t = T$, the boundary wiring replaces the iterated continuation input. + +--- + +## Interior stage (used for $t = 1, \ldots, T-1$) + +### Perch decomposition + +| Perch | Objects (states / controls) | Key transition or Bellman step | +|:---|:---|:---| +| **Arrival** ($\prec$) | state $a_t \in \mathbb{R}_{\ge 0}$ (beginning-of-period wealth); value $V^{\tau,r}_t(a_t)$ | $\mathrm{g}_{\prec\circ}$: $m_t = a_t$ — identity (under the appendix model) | +| **Decision** ($\circ$) | state $m_t \in \mathbb{R}_{\ge 0}$ (= $a_t$); control $c_t \in [0, m_t]$; value $V^{\tau,r}_t(m_t)$ (equal to the arrival value since $m_t = a_t$) | $\mathbb{B}_t$: $V^{\tau,r}_t(m_t) = \max_{c_t \in [0, m_t]}\bigl\{u(c_t) + \beta\,V^{\tau,r}_{t+1}(a_{t+1})\bigr\}$ — interior-period Bellman | +| **Continuation** ($\succ$) | state $a_{t+1} \in \mathbb{R}_{\ge 0}$; value $V^{\tau,r}_{t+1}(a_{t+1})$ (the next period's arrival value) | $\mathrm{g}_{\circ\succ}$: $a_{t+1} = (1+r)(m_t - c_t) + w_t(\tau)$ — savings earn return, then earnings arrive; inter-period connector is identity ($a_{\prec, t+1} = a_{\succ, t}$) | + +### Transitions (within-stage) + +- **Arrival → Decision** ($\mathrm{g}_{\prec\circ}$): $m_t = a_t$ (identity). +- **Decision → Continuation** ($\mathrm{g}_{\circ\succ}$): $a_{t+1} = (1+r)(m_t - c_t) + w_t(\tau)$. + +### Movers + +- **Backward mover $\mathbb{B}_t$** (continuation → decision; the optimization): + +$$ +V^{\tau,r}_t(m_t) \;=\; \max_{c_t \in [0, m_t]} \Bigl\{\; u(c_t) \;+\; \beta\, V^{\tau,r}_{t+1}(a_{t+1}) \;\Bigr\}, +\qquad a_{t+1} = (1+r)(m_t - c_t) + w_t(\tau). +$$ + +- **Forward mover $\mathbb{I}_t$** (decision → arrival, same stage; **literal pass-through** because $m_t = a_t$ is identity AND there are no within-life shocks): + +$$ +V^{\tau,r}_{t,\prec}(a_t) \;=\; V^{\tau,r}_t\bigl(m_t(a_t)\bigr) \;=\; V^{\tau,r}_t(a_t), +\qquad +\frac{\partial V^{\tau,r}_{t,\prec}}{\partial a_t}(a_t) \;=\; \frac{\partial V^{\tau,r}_t}{\partial m_t}(a_t). +$$ + +Both relations are pass-throughs because $\partial m_t / \partial a_t = 1$. There is no chain-rule factor. + +The **inter-period connector** is a separate object: it is the identity on the poststate–prestate wiring $a_{\succ, t} \mapsto a_{\prec, t+1}$. + +**Canonical dolo-plus idiom** (per matsya evaluation, `topics2026-benhabib-demo` Turn 1; re-confirmed correct after appendix review — see Open Issues #1 and #10): + +```yaml +dcsn_to_arvl_mover: + Bellman: | + V[<] = V + ShadowBellman: | + dV[<] = dV +``` + +This is the matsya Turn-1 "identity twister" pattern, valid here because the arrival-to-decision map IS literally identity under the appendix model. The `exogenous` block is omitted (not declared-but-empty). Status **CANONICAL-structure** per matsya Turn 6: the structural pattern matches `consumption_savings_iid.md`'s `dV[<] = R * E_{θ}(dV)` specialized to the no-shock + identity-transition case; the no-shock degenerate case is not explicitly documented, but the math is unambiguous. + +### Stage operator + +$$ +\mathbb{T}_t \;=\; \mathbb{I}_t \circ \mathbb{B}_t. +$$ + +Because $\mathbb{I}_t$ is literal identity (level *and* marginal pass-through under the appendix model), $\mathbb{T}_t \equiv \mathbb{B}_t$ — but we keep the composition explicit to preserve the modular-DDSL structure the YAML encodes. + +### EGM channel + +Because $u(c) = c^{1-\sigma}/(1-\sigma)$ has invertible marginal utility, the **endogenous grid method** applies directly. Under the appendix budget $a_{t+1} = (1+r)(m_t - c_t) + w_t(\tau)$: + +- **First-order condition** (decision perch): $u'(c_t) = \beta\,(1+r)\, V^{\tau,r}_{t+1}{}'(a_{t+1})$ — the $(1+r)$ enters the FOC because $\partial a_{t+1}/\partial c_t = -(1+r)$. +- **Envelope condition** (at the decision perch, after substituting the FOC): $V^{\tau,r}_t{}'(m_t) = u'(c_t) = c_t^{-\sigma}$. Note: no $(1+r)$ factor in the envelope under the appendix model, because $\partial m_t / \partial a_t = 1$. +- **Inverse Euler** (continuation-measurable $c_t$ recovered from $V^{\tau,r}_{t+1}{}'$): +$$ +c_t \;=\; \Bigl(\beta\,(1+r)\, V^{\tau,r}_{t+1}{}'(a_{t+1})\Bigr)^{-1/\sigma}. +$$ +- **Reverse transition** (endogenous $m_t$ grid from $a_{t+1}$ grid; invert $a_{t+1} = (1+r)(m_t - c_t) + w_t$): +$$ +m_{t,[\succ]} \;=\; c_t \;+\; \frac{a_{t+1} - w_t(\tau)}{1+r}. +$$ + +The standard EGM iteration: choose a grid over $a_{t+1}$, apply inverse Euler pointwise to get $c_t(a_{t+1})$, form $m_{t,[\succ]} = c_t + (a_{t+1} - w_t)/(1+r)$, and interpolate $c_t(m_t)$ on the endogenous $m_t$ grid. + +Standard consumption Euler $u'(c_t) = \beta(1+r)\, u'(c_{t+1})$ holds under either timing convention; the difference between paper §I literal and the appendix model is in **where** the $(1+r)$ factor lives (envelope under paper §I, FOC under appendix), not in the Euler equation itself. + +--- + +## Terminal stage (used at $t = T$) + +Per matsya evaluation (`topics2026-benhabib-demo` Turn 3; status **PROVISIONAL** — recommended pattern has no canonical example in the retrieved corpus): the terminal stage is **the same stage template as the interior stage, with a terminal boundary wiring** that supplies $V_{[\succ]}$ and $dV_{[\succ]}$ as closed-form functions of the poststate rather than as outputs of a downstream Bellman solve. A separate `terminal_stage` block is **not recommended** — it violates compositionality. + +### Boundary wiring at $t = T$ + +At the continuation perch of period $T$ (the poststate $a_{T+1}$ carries the bequest), the value and marginal-value inputs to the backward mover are closed-form. The paper's terminal recursion is $V_T(a) = u(c) + e(a')$ with **no $\beta$** on the bequest, but the standard Bellman wiring used in the interior template, $V = \max_c \{u(c) + \beta V_{[\succ]}\}$, automatically discounts $V_{[\succ]}$ by $\beta$. To recover the paper's $V_T$ exactly we absorb the missing factor into the boundary weight (see Open Issue #9, option (i)): define the effective bequest weight $\tilde A \equiv A / \beta$, so that + +$$ +V_{[\succ]}(a_{T+1}) \;=\; \tilde A\,\frac{a_{T+1}^{1-\mu}}{1-\mu} \;=\; \frac{e(a_{T+1})}{\beta}, +$$ + +$$ +dV_{[\succ]}(a_{T+1}) \;=\; \tilde A\, a_{T+1}^{-\mu} \;=\; \frac{e'(a_{T+1})}{\beta}. +$$ + +Then $\beta V_{[\succ]}(a_{T+1}) = e(a_{T+1})$ and $\beta\, dV_{[\succ]}(a_{T+1}) = e'(a_{T+1})$ exactly, matching the paper. The $\tilde A$ absorption is used **only at the terminal boundary**; the interior template is unchanged. With the paper's calibrated $A \approx 0.0006$ and $\beta = 0.97$, $\tilde A \approx 0.000619$. + +These replace the iterated $V^{\tau,r}_{T+1}$ and $dV^{\tau,r}_{T+1}$ that would be produced by a downstream stage in the interior case. + +### EGM channel at the terminal boundary + +Applying the appendix-model Inverse Euler with the boundary $dV_{[\succ]} = \tilde A\, a_{T+1}^{-\mu}$: + +$$ +c_{T,[\succ]} \;=\; \Bigl(\beta\,(1+r)\, dV_{[\succ]}(a_{T+1})\Bigr)^{-1/\sigma} \;=\; \bigl(\beta\,(1+r)\,\tilde A\, a_{T+1}^{-\mu}\bigr)^{-1/\sigma} \;=\; \bigl((1+r)\,A\, a_{T+1}^{-\mu}\bigr)^{-1/\sigma} \;=\; \bigl((1+r)\,A\bigr)^{-1/\sigma}\, a_{T+1}^{\mu/\sigma}, +$$ + +where the $\beta$ factor cancels with $1/\beta$ in $\tilde A$, recovering the paper's terminal Inverse-Euler exactly: $u'(c) = (1+r)\,e'(a')$ from the FOC of $V_T(a) = \max_c\{u(c) + e(a')\}$ subject to $a' = (1+r)(a-c) + w$. + +Reverse transition (invert the appendix budget): $m_{T,[\succ]} = c_{T,[\succ]} + (a_{T+1} - w_T)/(1+r)$. This produces the endogenous $m_T$ grid at period $T$ directly — no numerical root-find is required despite $\mu \ne \sigma$, because the Inverse Euler step inverts $u'(c) = c^{-\sigma}$ (always closed-form for CRRA) regardless of the functional form of $dV_{[\succ]}$. + +### Differential-savings result (analytical) + +Combining the Inverse-Euler solution $c_T = ((1+r)A)^{-1/\sigma} a_{T+1}^{\mu/\sigma}$ with the appendix budget $a_{T+1} = (1+r)(m_T - c_T) + w_T$ (equivalently $m_T = c_T + (a_{T+1} - w_T)/(1+r)$): + +$$ +m_T \;=\; \bigl((1+r)\,A\bigr)^{-1/\sigma}\, a_{T+1}^{\mu/\sigma} \;+\; \frac{a_{T+1} - w_T}{1+r}. +$$ + +As $m_T \to \infty$, $a_{T+1} \to \infty$, and since $\mu/\sigma < 1$ (in the paper's estimated $\mu < \sigma$ regime), the linear-in-$a_{T+1}$ term dominates the sub-linear $a_{T+1}^{\mu/\sigma}$ term. The within-period **savings rate** $s_T/m_T \equiv (m_T - c_T)/m_T \to 1$ as $m_T \to \infty$ (since $c_T/m_T \to 0$). This is the analytical root of the paper's **differential savings** result (rich save proportionally more); the effect propagates backward through the recursion to earlier ages, ultimately driving the convexity of the lifetime map $g(\cdot)$ that the paper's Proposition characterizes for the $\mu < \sigma$ regime. + +--- + +## Composition across periods (the lifecycle nest) + +The within-lifetime problem is solved by **backward induction** from the terminal stage: + +$$ +V^{\tau,r}_T \;=\; \mathbb{T}^{\mathrm{term}}_T[\,e(\cdot)\,] \quad\longrightarrow\quad V^{\tau,r}_{T-1} \;=\; \mathbb{T}_{T-1}[\,V^{\tau,r}_T\,] \quad\longrightarrow\quad \cdots \quad\longrightarrow\quad V^{\tau,r}_1 \;=\; \mathbb{T}_1[\,V^{\tau,r}_2\,]. +$$ + +The interior stage template is **repeated** for $t = 1, \ldots, T-1$, with age-varying parameter $w_t(\tau)$ overriding the earnings value at each period. The terminal stage template is applied **once** at $t = T$. + +**Parameters that vary by age $t$ within a lifetime:** only $w_t(\tau)$. All other parameters ($r$, $\tau$, $\beta$, $\sigma$, $\mu$, $A$) are constant within a lifetime. + +**Inter-period connector:** identity. Period $t$'s continuation perch state $a_{\succ, t} = a_{t+1}$ is wired directly to period $t+1$'s arrival perch state $a_{\prec, t+1}$, with value $V^{\tau,r}_{\succ, t} = V^{\tau,r}_{\prec, t+1}$. + +--- + +## Parameterized family structure (the $(\tau, r)$ dimension) + +The **full household problem** is a **parameterized family of Bellman problems** indexed by the type $(\tau, r) \in \{1,\ldots,10\} \times \{r_1,\ldots,r_5\}$ — 50 separate fixed-point problems in the baseline calibration. + +A dolo-plus YAML must handle this parameterization. Two encoding options: + +- **(A) Calibration-override family (the HAFiscal pattern):** encode a single interior-stage template, and instantiate 50 copies at different calibrations (one per $(\tau, r)$ pair). This is the clean choice when $\tau$ and $r$ are genuinely constant-within-life, as they are here. +- **(B) Discrete-state-resolved-at-birth:** encode $(\tau, r)$ as discrete state variables resolved only at the initial period $t = 1$ (effectively, a MC transition with mass 1 on the identity self-loop thereafter). + +**Recommended: option (A)** — per matsya evaluation (`topics2026-benhabib-demo` Turn 2; status **UNRESOLVED**): "structurally sound" given the spec's separation of calibration from stage structure, but *"the mechanism for instantiating a family (calibration overrides, model-level type indexing) is not documented"* in matsya's retrieved corpus. Option (B) is explicitly rejected — matsya's verdict: *"Not recommended — violates measurability spirit"* (types would masquerade as dynamic states). + +The YAML should follow pattern (A) and include a `# workaround: family-instantiation mechanism is UNRESOLVED — canonical dolo-plus spec on calibration-override families not located as of topics2026-benhabib-demo session` comment pending location of a HAFiscal or type-heterogeneity canonical example. + +--- + +## Deliverable for the YAML + +The minimum adequate `dolo-plus-draft.yaml` formalization consists of: + +1. One `stage` declaration for the **single stage template** (matsya recommendation; not two separate interior/terminal blocks). Contains perches, within-stage transitions, the backward mover $\mathbb{B}$ (Bellman), a deterministic forward mover $\mathbb{I}$ with chain-rule factor (`V[<] = V; dV[<] = (1+r) * dV` — see Open issue #1 for derivation), the EGM mover block, and a symbols-conventions block matching the Symbol table above. +2. **Terminal boundary wiring** for $t = T$: supplies $V_{[\succ]}(a_{[\succ]}) = \tilde A\,a_{[\succ]}^{1-\mu}/(1-\mu)$ and $dV_{[\succ]}(a_{[\succ]}) = \tilde A\,a_{[\succ]}^{-\mu}$ — with $\tilde A \equiv A/\beta$ to neutralize the standard Bellman's $\beta$ factor (see Open issue #9) — in place of the iterated $V^{\tau,r}_{T+1}, dV^{\tau,r}_{T+1}$ that would otherwise flow from the next age. +3. A `calibration` block that parameterizes the **family** — ten age-profiles $w_t(\tau)$ for $\tau \in \{1, \ldots, 10\}$ (paper Table 1), five values for $r$, and the preference parameters $(\sigma, \mu, A, \beta)$. +4. An outer composition specifying the **lifecycle nest** (apply the stage template at $t = 1, \ldots, T$ with age-varying $w_t(\tau)$; at $t = T$ use the terminal boundary wiring). +5. An **instantiation mechanism** for the $(\tau, r)$ family, following option (A) calibration-override — pending resolution of the UNRESOLVED canonical-idiom gap, with an inline `# workaround:` comment. + +--- + +## Open issues / flagged gaps — status after matsya evaluation (session `topics2026-benhabib-demo`) + +The items below were drafted as open questions for the first matsya round; their post-evaluation status is recorded here. + +### Resolved / addressed + +1. **Forward mover $\mathbb{I}_t$: identity pass-through.** *Resolved* by matsya (Turn 1) as `V[<] = V; dV[<] = dV`; oscillated through two re-resolutions before settling. **Final state (after Open Issue #10 resolution):** matsya Turn 1 was right. Under the appendix model adopted via Issue #10, the arrival-to-decision map is literally identity ($m_t = a_t$), so both the level *and* the marginal pass through with no chain-rule factor. The "identity twister" dev-spec pattern matsya cited applies cleanly here. Status **CANONICAL-structure** per matsya Turn 6 — the pattern matches `consumption_savings_iid.md`'s `dV[<] = R * E_{θ}(dV)` specialized to the no-shock + identity-transition case. The `exogenous` block is omitted (not declared-but-empty). *Audit trail:* Turn 1 said `dV[<] = dV` ✓; 2026-04-27 morning paper-§I-literal review changed it to `dV[<] = (1+r) * dV` ✗ (based on misreading paper §I as authoritative); 2026-04-27 evening appendix review reverted to `dV[<] = dV` ✓ (appendix-model has $m = a$ identity, so no chain-rule). + +2. **Parameterized-family dimension $(\tau, r)$.** *Addressed* by matsya (Turn 2); definitively re-confirmed 2026-04-27. Option (A) calibration-override family is recommended over option (B) discrete-state-at-birth. **Data resolved:** the YAML's `calibration_family` block now carries paper-faithful values — `shared` parameters from Table 4, `by_r_type.r` from the 5-state estimate (Table 4 "State space" row), `by_tau.w` from Table 1 (10×6 earnings matrix). **Syntax UNRESOLVED definitively** — the `calibration_family` keyword and its sub-keys (`shared`, `by_r_type`, `by_tau`, `cardinality`) have no canonical analogue in the indexed dolo-plus corpus (matsya 2026-04-27 review: no HAFiscal, AgentType-style, or family-block syntax has been indexed). The structure is SPECULATIVE; sub-key names may need to be renamed once a canonical idiom appears. + +3. **Warm-glow terminal closure.** *Resolved* by matsya (Turn 3). Recommended: the interior template with terminal boundary wiring $V_{[\succ]} \propto a_{[\succ]}^{1-\mu}/(1-\mu)$, $dV_{[\succ]} \propto a_{[\succ]}^{-\mu}$. A separate `terminal_stage` block is explicitly **not** recommended (violates compositionality). Status **PROVISIONAL**. **Discount-factor refinement (Open issue #9, option (i)):** matsya's Turn 3 wrote the boundary as $V_{[\succ]} = e(a)$, but the standard Bellman wiring $V = \max_c\{u(c) + \beta V_{[\succ]}\}$ would then introduce a $\beta$ factor that the paper's terminal recursion does not have. To match the paper, the boundary uses an effective bequest weight $\tilde A \equiv A/\beta$ in place of $A$; the resulting $\beta V_{[\succ]} = e(a)$ then matches paper exactly. + +4. **Terminal FOC invertibility (previously flagged as a concern).** *Corrected* by matsya (Turn 3). The $\mu \ne \sigma$ case does **not** require a numerical root-find: the Inverse Euler step inverts $u'(c) = c^{-\sigma}$ regardless of the functional form of $dV_{[\succ]}$. The terminal boundary's $dV_{[\succ]}$ plugs into the same Inverse Euler the interior stage uses. This previously-flagged concern was based on thinking about fixed-grid root-finding; under EGM it is not an issue. + +8. **Consumption upper-bound: paper writes $0 \le c \le a$.** *Final state (after Open Issue #10 resolution):* the constraint $c_t \le a_t$ is **genuine** under the appendix model. The morning's "treat as typo for $a' \ge 0$" reading was based on paper §I literal interpretation; the appendix's budget $a' = (1+r)(a-c) + w$ with $c \le a$ is internally consistent (savings $a - c \ge 0$, then $a' \ge w \ge 0$). Under the appendix model adopted via #10, $m_t = a_t$ (identity transition), so $c_t \le m_t$ in the YAML is equivalent to $c_t \le a_t$ — the constraint is implemented correctly. The actual typo in paper §I is **in the budget equation** (missing $(1+r)$ on the $c$ term, which would make $a' = (1+r)(a-c) + w$ consistent with $c \le a$); the constraint itself is correct. *Audit trail:* Initially flagged as "likely typo for $a' \ge 0$" → re-resolved 2026-04-27 evening: typo is in the budget equation, not the constraint. + +9. **Discount-factor convention on the terminal bequest.** Paper §I, last line of the recursion, writes $V_T(a) = u(c) + e(a')$ — bequest realized in the same period as terminal consumption, with **no $\beta$**. The excerpt's terminal-boundary wiring (single-template + $V_{[\succ]} = e(a_{[\succ]})$ flowing through the standard backward mover, whose Bellman is $V = \max_c \{u(c) + \beta V_{[\succ]}\}$) would otherwise effectively give $V_T = u(c) + \beta\, e(a')$. **Resolved with option (i): absorb $\beta$ into the boundary weight.** Define $\tilde A \equiv A / \beta$ at the terminal boundary only; the boundary becomes $V_{[\succ]} = \tilde A\, a^{1-\mu}/(1-\mu) = e(a)/\beta$ and $dV_{[\succ]} = \tilde A\, a^{-\mu} = e'(a)/\beta$, so $\beta V_{[\succ]} = e(a)$ exactly, matching the paper's $V_T$. Single-template structure is preserved; the interior template is unchanged. The paper's calibrated $A \approx 0.0006$ corresponds to $\tilde A \approx 0.000619$ at the boundary. Under the appendix model adopted via Open Issue #10, the resulting terminal-period Inverse Euler is $c_T = ((1+r)A)^{-1/\sigma} a_{T+1}^{\mu/\sigma}$. + +10. **Budget-equation discrepancy: paper §I vs. online appendix A.1.** *Discovered 2026-04-27 evening while transcribing the online appendix matrices.* The published paper §I writes the budget as $a' = (1+r)a - c + w$ with $c \le a$; the online appendix A.1 (the authoritative description of the numerical solution) writes it as $a' = (1+r)(a-c) + w$ with $c \le a$. These are **different models**, not a notational difference: the appendix multiplies $(1+r)$ on consumption as well as on savings. + + Economic interpretation: + - Paper §I literal: cash-on-hand $m = (1+r)a + w$ is formed first (returns and earnings accrue); consumption is paid out of $m$; the $c \le a$ constraint is unusual (more restrictive than $c \le m$). + - Online appendix: agent arrives with $a$; consumes $c \le a$ from beginning-of-period wealth; savings $(a-c)$ earn return; earnings $w$ arrive at end of period. + + **Resolution: match the online appendix** (= the authors' actual numerical solution; the appendix's purpose is to describe the collocation method that produces the published results). Paper §I's compact statement appears to have a typo: the $(1+r)$ factor on $c$ is missing, making the budget equation internally inconsistent with the $c \le a$ constraint (which is correct under the appendix). As of 2026-04-27 evening the YAML and excerpt encode the appendix model: + - $\mathrm{g}_{\prec\circ}$: $m_t = a_t$ (identity) + - $\mathrm{g}_{\circ\succ}$: $a_{t+1} = (1+r)(m_t - c_t) + w_t(\tau)$ + - Bellman: $V_t(m_t) = \max_{c_t \in [0, m_t]} \{u(c_t) + \beta V_{t+1}(a_{t+1})\}$ + - EGM Inverse Euler: $c_t = (\beta(1+r)\,V'_{t+1}(a_{t+1}))^{-1/\sigma}$ — the $(1+r)$ now lives in the FOC + - EGM reverse: $m_t = c_t + (a_{t+1} - w_t)/(1+r)$ + - Forward mover: $V[<] = V$, $dV[<] = dV$ — both pass-throughs (no chain rule, since $m = a$ identity) + + **Implications for prior open issues.** This re-resolves Issues #1 and #8 (see their final-state entries above for full audit trails). Open Issue #9's $\tilde A = A/\beta$ absorption is unaffected — it's about the discount-factor convention, independent of the budget timing. The "Refined post-paper-review" section of `verification.md` and the corresponding sections of this excerpt have been re-derived under the appendix model. + +### Still open + +5. **Lifecycle nest with age-varying $w_t(\tau)$.** *Data resolved; syntax UNRESOLVED definitively.* + - **Data:** Paper Table 1 (10 deciles × 6 age brackets, in $thousands per year) has been transcribed into `dolo-plus-draft.yaml` as `calibration_family.by_tau..w` (six-element list per decile). The schedule is **bracket-piecewise-constant** (not linearly interpolated as earlier drafts of this excerpt assumed): paper §IIB states agents stay in the same decile for life, and each cell of Table 1 is the bracket-average earnings of that decile. Each bracket spans 6 calendar years (T = 36 = 6 × 6); period $t$ maps to calendar age $24 + t$, so working life is ages 25–60. The age-bracket → period map is in `calibration_family.age_bracket_to_period`. + - **Syntax:** Canonical dolo-plus mechanism for picking up the right $w_t(\tau)$ value at each $(t, \tau)$ pair on a repeated stage **does not exist in the indexed corpus** — definitively confirmed by matsya 2026-04-27 review (no `lifecycle:` block, no age-indexed calibration override, no period-template mechanism for repeating one stage with varying parameters). The data is in the YAML; the dolo-plus spec needs to add the addressing mechanism before the YAML can be runnable. **Status:** data complete; syntax UNRESOLVED at the spec level (not a search failure). + +6. **Section IIID wealth-dependent $r$ extension — out of scope for baseline YAML.** The baseline formalization treats $r$ as fixed-within-life. The extension $r = r_0 + b \cdot p(a)$ (where $p(a)$ is a wealth-percentile index) is a **substantive change to the `exogenous` block** (state-contingent $r$ rather than fixed-at-birth $r$) and belongs in a **second, separate YAML** for the extension — not the baseline. + +7. **Non-negativity of $a_{t+1}$ from the no-borrowing constraint.** Under the standard interpretation $0 \le c_t \le m_t$, $a_{t+1} = m_t - c_t \ge 0$ holds automatically. The YAML should not declare a redundant poststate constraint; the control-bound constraint is sufficient. No matsya input needed for this. + +--- + +## Out-of-scope, for reference only + +The **dynasty-level** composition — where $(\tau^n, r^n)$ evolves across generations via independent intergenerational Markov chains, and newborn wealth $a^n_1 = g(a^{n-1}_1; \tau^n, r^n)$ is determined by the parent's terminal wealth through the lifetime map — is **not** part of *this* excerpt's YAML formalization. It is now formalized in the sibling pair [`dynasty-excerpt.md`](dynasty-excerpt.md) + [`dolo-plus-dynasty.yaml`](dolo-plus-dynasty.yaml), which composes the 50 pre-solved within-life value functions across generations. See also [`_summary.ipynb` → "The Model" → "Stochastic Structure"](Benhabib_et_al_2019_summary.ipynb) and the original paper §I for the underlying stochastic structure, including the paper's Proposition relating $\mu$ vs. $\sigma$ to stationarity and Pareto-tail existence. + +**Numerical dynasty-layer matrices (out-of-scope but cataloged in `dolo-plus-draft.yaml`):** the YAML's `calibration_family.population` block records what is known and where the rest lives. + +- $\Pi_r$ (5 × 5): **full matrix transcribed** (downloaded from online Appendix C.1, 2026-04-27, via `https://www.aeaweb.org/articles/materials/10698`). Each row sums to 1.0 (row-stochastic). Diagonal matches paper Table 4 ✓. The off-diagonal decay structure of paper footnote 13 is visible: rows 1–4 are symmetric around the diagonal; row 5 has constant off-diagonals 0.2448. Full matrix in `calibration_family.population.Pi_r.matrix`. +- $\Pi_\tau$ (10 × 10): from Chetty et al. (2014) reduced to a 10-state chain (paper §IIB). Online Appendix B.2 describes the construction procedure but **does not tabulate the resulting matrix**. Reconstruction would require either (a) the underlying `online_data_tables.xls` from `equality-of-opportunity.org` (Chetty et al.'s 100×100 matrix, then collapse to 10×10) or (b) the BBL replication package at `https://doi.org/10.3886/E113112V1`. The YAML flags this as `# unresolved: full matrix entries (not in online Appendix B.2)`. + +These matrices are needed only at the dynasty-simulation layer, not for the within-lifetime Bellman, so the remaining $\Pi_\tau$ gap does not block formalization of the stage problem. diff --git a/models/We-Would-Like-In-Econ-ARK/Benhabib_et_al_2019/dolo-plus-draft.yaml b/models/We-Would-Like-In-Econ-ARK/Benhabib_et_al_2019/dolo-plus-draft.yaml new file mode 100644 index 00000000..6c0e6259 --- /dev/null +++ b/models/We-Would-Like-In-Econ-ARK/Benhabib_et_al_2019/dolo-plus-draft.yaml @@ -0,0 +1,280 @@ +name: bbl_consumption_savings + +# ───────────────────────────────────────────────────────────────────── +# Benhabib-Bisin-Luo (2019) household consumption-savings stage. +# +# Model: per online Appendix A.1 (= the authors' actual numerical +# solution; see Open Issue #10 in bellman-excerpt.md for the +# paper-§I-vs-appendix budget-equation discrepancy). +# +# V_t(a) = max_c { u(c) + beta * V_{t+1}(a') } +# s.t. a' = (1 + r) * (a - c) + w +# 0 <= c <= a +# +# Timing: agent arrives with wealth a; consumes c <= a out of +# beginning-of-period wealth; savings (a - c) earn return r; +# earnings w arrive at end of period; next-period wealth is a'. +# +# Three-perch decomposition: +# arrival (state a) → decision (state m = a, identity transition) +# decision (state m) → continuation (state a' = (1+r)(m-c) + w) +# Within-life there are no shocks, and the arrival-to-decision +# transition is identity, so the forward mover is a literal pass- +# through (V[<] = V, dV[<] = dV — no chain-rule factor). +# +# Types (tau, r) are drawn at birth and fixed within life. +# They enter only through calibration overrides (beta, r, w, sigma). +# +# Terminal period: V[>] and dV[>] are replaced by warm-glow bequest +# e(a) = A * a^(1-mu)/(1-mu) via boundary wiring (see terminal block). +# ───────────────────────────────────────────────────────────────────── + +symbols: + spaces: + Xa: '@def R+' # raw wealth / end-of-period wealth + Xm: '@def R+' # cash-on-hand + + prestate: + a: '@in Xa' # arrival: raw wealth (before return + earnings) + + states: + m: '@in Xm' # decision: cash-on-hand + + poststates: + a_next: '@in Xa' # continuation: end-of-period wealth + + controls: + c: '@in R+' # consumption + + # NOTE: No exogenous block. Types (tau, r) are fixed at birth and + # enter only via calibration parameters. No within-period shocks. + + values: + V[<]: '@in R' # arrival-perch value + V: '@in R' # decision-perch value + V[>]: '@in R' # continuation-perch value + values_marginal: + dV[<]: '@in R' # arrival-perch marginal value + dV: '@in R' # decision-perch marginal value + dV[>]: '@in R' # continuation-perch marginal value + + parameters: + beta: '@in (0,1)' # discount factor; paper: globally fixed at 0.97 + r: '@in R+' # rate of return; varies by r_type ∈ {1..5}, fixed within life + # NOTE on w: declared here as a scalar parameter, but the paper has a + # bracket-piecewise-constant age-varying earnings schedule w_t(tau). + # Paper §IIB: 10 deciles × 6 age brackets (Table 1); agents stay in the + # same decile for their whole lifetime. Each bracket spans 6 years; T=36 + # = 6 brackets × 6 years; period t ↔ calendar age (24 + t), so working + # life is ages 25–60. Within a bracket, w is constant (the bracket + # average from PSID, Heathcote-Perri-Violante 2010). + # The actual schedule lives in `calibration_family.by_tau` below; the + # mechanism for picking up the right schedule entry at each (t, tau) + # pair on a repeated stage is Open Issue #5 (UNRESOLVED for syntax in + # the dolo-plus spec; matsya confirmed in 2026-04-27 review). + w: '@in R+' # earnings; paper: bracket-piecewise w_t(tau), see below + sigma: '@in R+' # CRRA; paper: globally fixed at 2 + +equations: + # ── Arrival → Decision ────────────────────────────────────────── + # Identity (under appendix model): m and a denote the same state at + # decision time; m is just a perch label. The (1+r) factor moves to + # the dcsn_to_cntn transition where it actually applies (to savings). + arvl_to_dcsn_transition: | + m = a + + # ── Decision → Continuation ───────────────────────────────────── + # Appendix-A.1 budget: savings (m - c) earn return r; earnings w + # arrive at end of period. + dcsn_to_cntn_transition: | + a_next = (1 + r) * (m - c) + w + + # ── Backward mover: continuation → decision ──────────────────── + # Standard EGM block under the appendix model. At t = T, V[>] and + # dV[>] are supplied by the terminal boundary specification (below). + # + # Under the appendix budget a' = (1+r)(m-c) + w: + # FOC: u'(c) = beta * (1+r) * V'(a') ← (1+r) here + # Inv.: c = (beta * (1+r) * dV[>])^(-1/sigma) + # Rev.: m = c + (a_next - w) / (1+r) ← inverse of the budget + # Env.: V'(m) = u'(c) = c^(-sigma) ← no (1+r) factor here + cntn_to_dcsn_mover: + Bellman: | + V = max_{c}{c^(1-sigma)/(1-sigma) + beta * V[>]} + InvEuler: | + c[>] = (beta * (1 + r) * dV[>])^(-1/sigma) + cntn_to_dcsn_transition: | + m[>] = c[>] + (a_next - w) / (1 + r) + MarginalBellman: | + dV = c^(-sigma) + + # ── Forward mover: decision → arrival ────────────────────────── + # Under the appendix model, m = a is identity, so the forward mover + # is a literal pass-through. No expectation (no within-life shocks), + # no chain-rule factor (identity transition has unit Jacobian). + # Matches matsya Turn 1's original `dV[<] = dV` advice. + dcsn_to_arvl_mover: + Bellman: | + V[<] = V + ShadowBellman: | + dV[<] = dV + +# ═══════════════════════════════════════════════════════════════════ +# TERMINAL BOUNDARY SPECIFICATION +# ═══════════════════════════════════════════════════════════════════ +# At t = T, the continuation value V[>] is not supplied by a +# successor stage but by the warm-glow bequest function: +# e(a) = A * a^(1-mu) / (1-mu), e'(a) = A * a^(-mu) +# +# Discount-factor convention: the paper's terminal recursion (BBL §I) +# is V_T(a) = u(c) + e(a') with NO beta on the bequest. The standard +# Bellman wiring V = max_c {u(c) + beta * V[>]} introduces a beta +# factor; we cancel it by absorbing 1/beta into the boundary weight. +# Effective bequest weight at the boundary: A_tilde = A / beta. Then +# beta * V[>] = e(a) exactly, matching the paper's V_T. Per +# bellman-excerpt.md Open Issue #9, option (i): single-template +# structure preserved, paper-faithful numerics. The paper's +# calibrated A ≈ 0.0006 corresponds to A_tilde ≈ 0.000619. The +# A_tilde absorption is used only at the terminal boundary; the +# interior template is unchanged. +# +# Terminal Inverse-Euler then recovers the paper's c_T exactly +# (beta cancels: beta * (A/beta) = A): +# c_T[>] = (beta * dV[>])^(-1/sigma) +# = A^(-1/sigma) * a_next^(mu/sigma) +# +# When mu = sigma, this simplifies; when mu ≠ sigma, EGM still +# works because InvEuler inverts u'(c) = c^(-sigma) regardless +# of the curvature of e(a). +# ═══════════════════════════════════════════════════════════════════ + +# unresolved: terminal-boundary block — Matsya's Turn 3 recommendation (use +# the interior stage template with terminal boundary wiring V[>] and dV[>]) +# is structurally correct, but no canonical dolo-plus syntax for `terminal:` +# blocks was located in the matsya `topics2026-benhabib-demo` session. The +# block below expresses the intent; the keyword `terminal:` and its sub-keys +# may need to be renamed once a canonical idiom is located. With the A/beta +# absorption above, the economics is paper-faithful. +terminal: + parameters: + A: '@in R+' # bequest weight (paper: A ~ 0.0006) + mu: '@in R+' # bequest curvature (paper: mu ~ 0.60) + V[>]: | + (A / beta) * a_next^(1-mu) / (1-mu) + dV[>]: | + (A / beta) * a_next^(-mu) + +# ═══════════════════════════════════════════════════════════════════ +# CALIBRATION-OVERRIDE PARAMETERIZED FAMILY (paper-calibrated) +# ═══════════════════════════════════════════════════════════════════ +# BBL (2019) has 10 × 5 = 50 types drawn at birth from independent +# intergenerational Markov chains over (tau, r). Within a life, both +# are fixed. The 50 stage instances share (beta, sigma, mu, A, T) and +# override only (r, w-schedule). +# +# Numerical values transcribed from the paper as follows: +# shared.beta, shared.sigma, shared.T : paper Table 4 ("[..]" = fixed) +# shared.mu, shared.A : paper Table 4 (estimated) +# by_r_type.r : paper Table 4 "State space" row +# by_tau.w : paper Table 1 +# age_bracket_to_period : paper §IIB ("six age brackets") +# population.Pi_r.matrix : online Appendix C.1 (full 5×5 matrix; downloaded 2026-04-27) +# population.Pi_tau : online Appendix B.2 (procedure only; matrix NOT tabulated) +# +# The compact form below replaces the verbose `instances: [...]` array +# of 50 entries (49 of which would carry only redundant copies of the +# shared parameters). The cartesian product is over `by_tau` × `by_r_type`. +# +# unresolved: the `calibration_family:` keyword and its sub-keys remain +# SPECULATIVE per matsya review of 2026-04-27 — no canonical dolo-plus +# syntax for type-indexed calibration families exists in the indexed +# corpus. The structure below expresses the intent; sub-key names may +# need to be renamed once a canonical idiom appears (likely a HAFiscal +# AgentType-style mechanism). +# ═══════════════════════════════════════════════════════════════════ + +calibration_family: + description: | + BBL 50-instance family: tau ∈ {1..10} (earnings decile, paper Table 1) + × r_type ∈ {1..5} (rate-of-return state, paper Table 4). Each instance + is one finite-horizon Bellman problem; the shared parameters and the + bracket-piecewise w_t(tau) schedule are below. + index: [tau, r_type] + cardinality: {tau: 10, r_type: 5} + + shared: # all 50 instances use these + beta: 0.97 # paper Table 4 "[0.97]" = fixed + sigma: 2.0 # paper Table 4 "[2]" = fixed + mu: 0.5993 # paper Table 4 estimated (s.e. 0.0061) + A: 0.0006 # paper Table 4 estimated (s.e. 0.0004) + T: 36 # paper Table 4 "[36]" = fixed + + by_r_type: # paper Table 4 "State space" (top row) + 1: {r: 0.0011} # s.e. 0.0069 + 2: {r: 0.0094} # s.e. 0.0118 + 3: {r: 0.0258} # s.e. 0.0004 + 4: {r: 0.0560} # s.e. 0.0059 + 5: {r: 0.0841} # s.e. 0.0043 + # implied moments (paper Table 4): E(r) = 3.06%, sigma(r) = 2.69%, rho(r) = 0.103 + + by_tau: # paper Table 1, $thousands per year + description: | + w_t(tau) is bracket-piecewise-constant over t ∈ {1..36}: each w[k] + below applies to all periods in age-bracket k (1-indexed; see + `age_bracket_to_period` below). Source: PSID via Heathcote-Perri- + Violante (2010); detrended by year dummies (paper online Appx B.1). + 1: {w: [9.760, 11.55, 12.06, 12.81, 11.74, 8.222]} # decile 0-10 + 2: {w: [19.95, 24.01, 25.20, 26.42, 24.66, 19.08 ]} # decile 10-20 + 3: {w: [26.85, 32.58, 34.96, 36.46, 33.56, 26.78 ]} # decile 20-30 + 4: {w: [33.05, 40.33, 43.95, 45.55, 42.23, 34.39 ]} # decile 30-40 + 5: {w: [39.02, 47.70, 52.42, 54.37, 51.18, 42.96 ]} # decile 40-50 + 6: {w: [45.05, 54.84, 60.70, 63.09, 60.34, 51.91 ]} # decile 50-60 + 7: {w: [51.40, 65.10, 69.42, 72.89, 70.63, 61.65 ]} # decile 60-70 + 8: {w: [59.16, 73.06, 80.37, 85.09, 82.78, 74.35 ]} # decile 70-80 + 9: {w: [70.33, 87.21, 97.51, 103.5, 101.4, 93.42 ]} # decile 80-90 + 10: {w: [100.3, 138.1, 169.5, 182.4, 183.4, 180.4 ]} # decile 90-100 + + age_bracket_to_period: + description: | + Six age brackets, six years each, T = 36. Period index t maps to + calendar age (24 + t); working life is ages 25–60 inclusive. + brackets: + 1: {ages: "25-30", periods: [1, 6]} + 2: {ages: "31-36", periods: [7, 12]} + 3: {ages: "37-42", periods: [13, 18]} + 4: {ages: "43-48", periods: [19, 24]} + 5: {ages: "49-54", periods: [25, 30]} + 6: {ages: "55-60", periods: [31, 36]} + + population: + description: | + Intergenerational Markov chains. Population-level / dynasty-layer + objects, NOT part of the within-lifetime Bellman. Handled at the + outer simulation layer that composes 50 pre-solved value functions. + Pi_r: + description: | + 5 × 5 transition matrix for r. Full matrix from online Appendix C.1 + (downloaded 2026-04-27 from https://www.aeaweb.org/articles/materials/10698). + Row-stochastic; row j is the transition probabilities P(r_i | r_j) + for i = 1..5. Diagonal matches paper Table 4 "Transition diagonal". + Off-diagonals: rows 1–4 are symmetric around the diagonal (decay + per paper footnote 13); row 5 has constant off-diagonals 0.2448. + matrix: + - [0.0338, 0.5013, 0.2600, 0.1349, 0.0700] + - [0.2876, 0.2676, 0.2876, 0.1129, 0.0443] + - [0.1158, 0.3163, 0.1360, 0.3163, 0.1158] + - [0.0446, 0.1136, 0.2894, 0.2630, 0.2894] + - [0.2448, 0.2448, 0.2448, 0.2448, 0.0208] + # standard errors on the diagonal (paper Table 4): [0.6162, 0.5570, 0.0699, 1.3659, 0.2678] + Pi_tau: + description: | + 10 × 10 transition matrix for tau (earnings decile across + generations), from Chetty et al. (2014) reduced to a 10-state + chain (paper §IIB). Online Appendix B.2 describes the construction + procedure (collapse Chetty et al.'s 100×100 matrix into 10×10) but + does NOT tabulate the resulting matrix. The matrix would have to be + either (a) reconstructed from Chetty et al.'s Online Table 1 at + http://equality-of-opportunity.org/images/online_data_tables.xls, + or (b) extracted from the BBL replication package at + https://doi.org/10.3886/E113112V1. + # unresolved: full matrix entries (not in online Appendix B.2). diff --git a/models/We-Would-Like-In-Econ-ARK/Benhabib_et_al_2019/dolo-plus-dynasty.yaml b/models/We-Would-Like-In-Econ-ARK/Benhabib_et_al_2019/dolo-plus-dynasty.yaml new file mode 100644 index 00000000..a83011c9 --- /dev/null +++ b/models/We-Would-Like-In-Econ-ARK/Benhabib_et_al_2019/dolo-plus-dynasty.yaml @@ -0,0 +1,215 @@ +name: bbl_dynasty + +# ───────────────────────────────────────────────────────────────────── +# Benhabib-Bisin-Luo (2019) dynasty-level / cross-generational layer. +# +# Composes the 50 within-lifetime value/policy functions (one per +# (tau, r_type) pair, defined in dolo-plus-draft.yaml) across +# generations via independent intergenerational Markov chains +# Pi_tau (10x10) and Pi_r (5x5). The lifetime map g(.; tau, r) is +# treated as a black-box reference to the within-life solver. +# +# See dynasty-excerpt.md for the formal Bellman/algebra description. +# ───────────────────────────────────────────────────────────────────── + +# unresolved (SPECULATIVE block-level): dolo-plus has no canonical +# syntax for cross-generational composition. Matsya 2026-04-27 review +# confirmed UNRESOLVED at the dolo-plus spec level for several related +# items (calibration-override families, terminal-boundary blocks, per- +# age overrides, period templates with state-dependent parameters); +# cross-generational composition is one level above any of those, and +# also has no canonical idiom in matsya's indexed corpus. The structure +# below is therefore SPECULATIVE throughout — keyword names and sub-key +# nesting may need renaming once a canonical idiom appears. + +# ═══════════════════════════════════════════════════════════════════ +# WITHIN-LIFE REFERENCE +# ═══════════════════════════════════════════════════════════════════ +# The dynasty layer treats the solution of the within-lifetime +# problem as a black box: given (tau, r_type) and initial wealth a, +# it returns terminal wealth a_T = g(a; tau, r_type). The within- +# life problem itself is fully specified in the sibling YAML. + +within_life: + source: dolo-plus-draft.yaml + family: bbl_consumption_savings + description: | + The within-life YAML defines a finite-horizon Bellman problem + parameterized by (tau, r_type). Solving it produces: + - optimal policy c*_t(a_t; tau, r_type) for t = 1..T + - terminal-wealth function g(a_1; tau, r_type) = a_{T+1} + where the second is the lifetime map this YAML composes + across generations. + instance_index: [tau, r_type] + cardinality: {tau: 10, r_type: 5} # 50 instances total + +# ═══════════════════════════════════════════════════════════════════ +# DYNASTY-LEVEL STATE AND DYNAMICS +# ═══════════════════════════════════════════════════════════════════ + +generations: + index: n # generation index n = 0, 1, 2, ... + + # ── Cross-generational state ──────────────────────────────────── + # State at the start of generation n: initial wealth + types. + # Both type variables are fixed within a life and resolve only + # at birth (between generations), so they are dynasty-layer states + # rather than within-life states. + states: + a: + domain: '@in R+' + description: | + a^n = a^n_0 = newborn wealth of generation n. + Equals terminal wealth of generation n-1 via the lifetime map: + a^n = g(a^{n-1}; tau^{n-1}, r_type^{n-1}). + tau: + domain: '@in {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}' + description: Earnings-decile type for generation n (paper Table 1). + r_type: + domain: '@in {1, 2, 3, 4, 5}' + description: Rate-of-return-type index for generation n (paper Table 4). + + # ── Cross-generational stochastic process ─────────────────────── + # Independence (paper §I): Pi[(tau,r) | (tau',r')] = Pi_tau[tau|tau'] * Pi_r[r|r']. + # Both chains are 'drawn at the boundary between generations' — no + # within-life resolution. + exogenous: + tau_chain: '@dist Markov(Pi_tau)' # 10-state intergenerational chain + r_chain: '@dist Markov(Pi_r)' # 5-state intergenerational chain + # unresolved: how dolo-plus expresses "two independent Markov chains" + # in a single exogenous block — one per declaration is the natural + # reading, but matsya did not surface a canonical example. + + # ── Transition: generation n → generation n+1 ─────────────────── + # The lifetime map carries terminal wealth forward; the type chains + # advance independently. + transition: + a[+1]: '= g(a; tau, r_type)' # lifetime map; symbolic reference + # to within-life solver output + tau[+1]: '~ Pi_tau[tau, :]' # next-gen earnings type + r_type[+1]: '~ Pi_r[r_type, :]' # next-gen rate type + # unresolved: dolo-plus syntax for "function-of-state" transitions + # that invoke an external solver (g) is not documented. The notation + # `= g(...)` is symbolic; an implementation would need to wire the + # within-life policy function into this transition explicitly. + + # ── Lifetime map (symbolic; not computed in this YAML) ────────── + lifetime_map: + name: g + signature: '(a_0: R+, tau: int, r_type: int) -> R+' + description: | + g(a_0; tau, r_type) is the terminal wealth of a household born + with initial wealth a_0 and types (tau, r_type), obtained by + forward-simulating the optimal within-life policy: + a_{t+1} = (1 + r) * (a_t - c*_t(a_t; tau, r_type)) + w_t(tau) + for t = 1, ..., T, with a_1 = a_0; + return a_T. + Where r is the value indexed by r_type (see by_r_type in + dolo-plus-draft.yaml::calibration_family). + Symbolic only at this layer; computation lives in a downstream + solver that ingests dolo-plus-draft.yaml. + properties: # paper §I Proposition + mu_eq_sigma: + description: | + When mu = sigma, g is affine in a_0: + g(a_0; tau, r) = alpha(tau, r) * a_0 + beta_g(tau, r). + Savings rate alpha(tau, r) is independent of a_0. + mu_lt_sigma: + description: | + When mu < sigma (paper's empirical case: mu=0.5993 < sigma=2), + g is strictly convex in a_0: d^2 g / da_0^2 > 0. + Savings rate is increasing in wealth; the rich save + proportionally more. + +# ═══════════════════════════════════════════════════════════════════ +# INTERGENERATIONAL MARKOV CHAINS +# ═══════════════════════════════════════════════════════════════════ +# Reproduced here for self-containment of the dynasty layer; the +# authoritative source is dolo-plus-draft.yaml::calibration_family +# .population. + +Pi_tau: + description: | + 10 x 10 transition matrix for tau (earnings decile across + generations), from Chetty et al. (2014) reduced to a 10-state + chain (paper §IIB). Online Appendix B.2 documents the + construction procedure but does not tabulate the matrix. + Reconstruction requires either Chetty et al.'s + online_data_tables.xls or the BBL replication package + (https://doi.org/10.3886/E113112V1). + source_reference: dolo-plus-draft.yaml::calibration_family.population.Pi_tau + # unresolved: full matrix entries (not in online Appendix B.2). + +Pi_r: + description: | + 5 x 5 transition matrix for r. Paper Table 4 (diagonal) plus + online Appendix C.1 (full matrix; downloaded 2026-04-27). + Row-stochastic; rows 1-4 are symmetric around the diagonal + (decay per paper footnote 13); row 5 has constant off-diagonals + 0.2448. Full matrix transcribed in the within-life YAML. + source_reference: dolo-plus-draft.yaml::calibration_family.population.Pi_r + matrix: + - [0.0338, 0.5013, 0.2600, 0.1349, 0.0700] + - [0.2876, 0.2676, 0.2876, 0.1129, 0.0443] + - [0.1158, 0.3163, 0.1360, 0.3163, 0.1158] + - [0.0446, 0.1136, 0.2894, 0.2630, 0.2894] + - [0.2448, 0.2448, 0.2448, 0.2448, 0.0208] + +# ═══════════════════════════════════════════════════════════════════ +# STATIONARY DISTRIBUTION (annotation only, not computed here) +# ═══════════════════════════════════════════════════════════════════ +# Paper §I Proposition characterizes the stationary distribution of +# {a^n}_n. This block records the result for downstream solvers +# without computing anything. See dynasty-excerpt.md → "Stationary +# distribution and Pareto tail" for the full statement. + +stationary_distribution: + regime: + mu_eq_sigma: + description: | + Linear stochastic recurrence equation a^{n+1} = alpha * a^n + beta_g. + Stationary distribution exists under standard conditions on the + joint distribution of (alpha, beta_g) (paper footnote 9; see + Grey 1994 / Hay-Rastegar-Roitershtein 2011 / Benhabib-Bisin-Zhu 2011). + tail: 'Pr(a > a_underbar) ~ Q * a_underbar^(-gamma) asymptotically' + tail_index_implicit_eq: | + gamma solves: lim_{N->inf} E[ prod_{n=0}^{N-1} alpha(tau^{-n}, r^{-n})^gamma ]^(1/N) = 1 + independence_of_earnings: + description: | + The constant term beta_g does NOT affect the asymptotic + Pareto exponent gamma — only the multiplicative term + alpha does. This is the paper's mechanism for generating + a thick wealth tail despite a relatively thin earnings + distribution. + mu_lt_sigma: + description: | + Convex map; stationary distribution may not exist. When it + does, the tail is at least as thick as Pareto: + Pr(a > a_underbar) >= Q * a_underbar^(-gamma). + Paper's quantitative analysis (Table 5) confirms existence + at estimated parameters and matches empirical wealth shares. + + computational_status: + description: | + Determining gamma numerically requires simulating the dynasty + process at calibrated parameters and fitting the empirical + stationary tail. Out of scope for this formalization layer + (per AGENTS.md: this repo describes models, does not solve them). + +# ═══════════════════════════════════════════════════════════════════ +# OUT OF SCOPE FOR THIS BASELINE DYNASTY YAML +# ═══════════════════════════════════════════════════════════════════ +# - Section IIID wealth-dependent r extension. In that variant, +# r^n becomes a function of a^n via a wealth-percentile indexing, +# so r_chain becomes a state-conditioned Markov chain. Belongs in +# a separate dynasty variant YAML pair. See dynasty-excerpt.md +# → "Out-of-scope" and bellman-excerpt.md → Open Issue #6. +# - Section V transitional-dynamics exercise (non-stationary initial +# distribution starting from SCF 1962-63). Same dynasty operator +# as the baseline; would specify a different initial distribution. +# Out of scope here, in scope for any future replication exercise. +# - Numerical computation of the lifetime map g and of the +# stationary distribution. Out of scope per AGENTS.md "Common +# next tasks" — this repo produces formal specifications, not +# solvers. The dynasty YAML pair describes the model; downstream +# tooling (econ-ARK or otherwise) would compute it. diff --git a/models/We-Would-Like-In-Econ-ARK/Benhabib_et_al_2019/dynasty-excerpt.md b/models/We-Would-Like-In-Econ-ARK/Benhabib_et_al_2019/dynasty-excerpt.md new file mode 100644 index 00000000..068b06b4 --- /dev/null +++ b/models/We-Would-Like-In-Econ-ARK/Benhabib_et_al_2019/dynasty-excerpt.md @@ -0,0 +1,202 @@ +# Dynasty-layer excerpt — Benhabib, Bisin, and Luo (2019) + +> **Paper:** Jess Benhabib, Alberto Bisin, and Mi Luo, "Wealth Distribution and Social Mobility in the US: A Quantitative Approach," *American Economic Review*, 109(5), 1623–1647, 2019. [DOI: 10.1257/aer.20151684](https://doi.org/10.1257/aer.20151684) + +## Purpose and scope + +This document is the modular-DDSL statement of the **dynasty-level / cross-generational** composition layer in the paper, intended as input to a Matsya iteration that will produce a [`dolo-plus-dynasty.yaml`](dolo-plus-dynasty.yaml). It is the sibling of [`bellman-excerpt.md`](bellman-excerpt.md), which formalizes the within-lifetime stage problem. + +It covers: + +- The **lifetime map** $g(\cdot;\tau,r)$: a black-box reference to the solution of the within-lifetime problem, $a^n_T = g(a^n_0;\tau^n,r^n)$. +- The **stochastic difference equation** for dynasty wealth: $a^{n+1}_0 = a^n_T = g(a^n_0;\tau^n,r^n)$. +- The **independent intergenerational Markov chains**: $\tau^n \mid \tau^{n-1} \sim \Pi_\tau$ and $r^n \mid r^{n-1} \sim \Pi_r$, with the two chains independent (paper §I). +- The **stationary-distribution / Pareto-tail Proposition** (paper §I): linearity of $g$ when $\mu = \sigma$, convexity when $\mu < \sigma$, and the resulting tail behavior of $\{a^n\}_n$. + +It **does not** cover: + +- The **within-lifetime stage problem** itself — see [`bellman-excerpt.md`](bellman-excerpt.md) and [`dolo-plus-draft.yaml`](dolo-plus-draft.yaml). The dynasty layer treats the 50 within-life value/policy functions as black-box outputs. +- The **Section IIID wealth-dependent $r$ extension** — flagged in "Out-of-scope" below; would belong in a separate dynasty variant document. +- **Numerical solution / replication.** Out of scope for this repo per `AGENTS.md`; the formalization layer describes the model rather than computing it. + +--- + +## Symbol table (dynasty-layer additions) + +Symbols inherited from the within-life excerpt (`bellman-excerpt.md`) — $\tau$, $r$, $a$, $T$, $\sigma$, $\mu$, $A$, $\beta$, $w_t(\tau)$, $V^{\tau,r}_t$, $\mathbb{B}_t$, $\mathbb{I}_t$, $\mathbb{T}_t$ — keep their meanings. New or extended symbols at the dynasty layer: + +| Symbol | Role | Space / domain | Description | +|---|---|---|---| +| $n$ | index | $\{0, 1, 2, \ldots\}$ | Generation index along a dynasty | +| $\tau^n$ | type (decorated) | $\{1, \ldots, 10\}$ | Earnings-decile type for generation $n$ | +| $r^n$ | type (decorated) | $\{r_1, \ldots, r_5\}$ | Rate-of-return type for generation $n$ | +| $a^n_t$ | state (decorated) | $\mathbb{R}_{\ge 0}$ | Wealth at age $t$ within generation $n$'s lifetime | +| $a^n_0$ (= $a^n_1$) | initial wealth of $n$ | $\mathbb{R}_{\ge 0}$ | Newborn wealth; equals terminal wealth $a^{n-1}_T$ of parent | +| $a^n_T$ | terminal wealth of $n$ | $\mathbb{R}_{\ge 0}$ | Bequest of generation $n$ | +| $g(\cdot;\tau,r)$ | lifetime map | $\mathbb{R}_{\ge 0} \to \mathbb{R}_{\ge 0}$ | $a_T = g(a_0;\tau,r)$: terminal wealth as a function of initial wealth, given fixed-within-life types $(\tau,r)$ | +| $\Pi_\tau$ | transition matrix | $10 \times 10$, row-stochastic | Intergenerational transition for $\tau$, from Chetty et al. (2014) reduced (paper §IIB; full matrix in online Appendix B.2 — not tabulated there) | +| $\Pi_r$ | transition matrix | $5 \times 5$, row-stochastic | Intergenerational transition for $r$ (paper Table 4 + online Appendix C.1) | +| $\alpha(\tau,r)$ | savings rate | $\mathbb{R}_{>0}$ | Slope of $g$ in the linear regime $\mu = \sigma$: $g(a_0;\tau,r) = \alpha(\tau,r) a_0 + \beta_g(\tau,r)$ | +| $\beta_g(\tau,r)$ | shift constant | $\mathbb{R}$ | Intercept of $g$ in the linear regime; subscripted to disambiguate from the discount factor $\beta$ | +| $\gamma$ | tail index | $\mathbb{R}_{>0}$ | Pareto tail exponent of the stationary distribution: $\Pr(a > \underline a) \sim Q\,\underline a^{-\gamma}$ | +| $Q$ | tail constant | $\ge 1$ | Pareto-tail prefactor | + +**Notation convention.** Superscripted $n$ denotes generation index; subscripted $t$ denotes age within a generation. Where unambiguous, we write $a^n$ for $a^n_0$ (the initial wealth of generation $n$, which is also the terminal wealth of generation $n-1$). + +--- + +## Timing convention (across generations) + +The within-period timing is documented in [`bellman-excerpt.md`](bellman-excerpt.md) (under the appendix-A.1 model, Open Issue #10 there). The cross-generational timing is: + +1. **Generation $n$ is born** with initial wealth $a^n_0 = a^{n-1}_T$ (= terminal wealth of the parent). +2. **Type draws happen at birth.** $\tau^n \mid \tau^{n-1} \sim \Pi_\tau[\tau^{n-1},\,\cdot]$ and $r^n \mid r^{n-1} \sim \Pi_r[r^{n-1},\,\cdot]$, with the two chains **independent** (paper §I). +3. **Generation $n$ lives one lifetime**: $T = 36$ ages, types $(\tau^n, r^n)$ fixed throughout, no within-life shocks. The within-lifetime stage problem (`bellman-excerpt.md`) is solved once per type pair, producing $a^n_T = g(a^n_0;\tau^n,r^n)$. +4. **Generation $n+1$ is born** with $a^{n+1}_0 = a^n_T$, and the cycle repeats. + +The dynasty layer treats step 3 as a black box; the **lifetime map** $g$ is the only piece of within-life output that crosses the boundary into the dynasty layer. + +--- + +## Stochastic structure: $(\tau^n, r^n)$ as independent Markov chains + +The intergenerational stochastic process $\{(\tau^n, r^n)\}_n$ is a finite irreducible Markov chain on $\{1, \ldots, 10\} \times \{r_1, \ldots, r_5\}$. Paper §I assumes **independence** of the two type dimensions: + +$$ +\Pi\bigl[(\tau^n, r^n) \mid (\tau^{n-1}, r^{n-1})\bigr] \;=\; \Pi_\tau[\tau^n \mid \tau^{n-1}] \cdot \Pi_r[r^n \mid r^{n-1}]. +$$ + +Each component chain has its own state structure: + +- **$\Pi_\tau$** (10 × 10): from Chetty et al. (2014) reduced to a 10-state chain (paper §IIB). Full matrix not tabulated in online Appendix B.2; would need reconstruction from Chetty et al.'s `online_data_tables.xls` or the BBL replication package at `https://doi.org/10.3886/E113112V1`. Status: matrix entries **UNRESOLVED** in the YAML pending separate fetch (mirroring the same flag in `dolo-plus-draft.yaml`). +- **$\Pi_r$** (5 × 5): paper Table 4 reports the diagonal; full matrix in online Appendix C.1. **Transcribed** in `dolo-plus-draft.yaml::calibration_family.population.Pi_r.matrix` (and reproduced for self-containment in `dolo-plus-dynasty.yaml`). + +The initial distribution $\pi_0$ over $(\tau^0, r^0, a^0)$ is left unspecified at the formalization layer; the paper analyzes the stationary distribution under the chain's irreducibility (see "Stationary distribution" below). + +--- + +## The lifetime map $g(\cdot;\tau,r)$ + +The lifetime map is **defined** as the composition of the within-life backward induction (which yields the optimal policy $c^*_t(\cdot;\tau,r)$ at each age) with the deterministic forward simulation under that policy: + +$$ +g(a_0;\tau,r) \;\equiv\; a_T \quad\text{where}\quad a_{t+1} \;=\; (1+r)\bigl(a_t - c^*_t(a_t;\tau,r)\bigr) + w_t(\tau), \quad t = 1, \ldots, T, +$$ + +with $a_1 = a_0$ and $c^*_t$ obtained from the Bellman equation in [`bellman-excerpt.md`](bellman-excerpt.md) (under the online-appendix-A.1 model, with $m_t = a_t$ identity). + +The map is well-defined for every $(a_0, \tau, r)$ in the domain (because the within-life problem has a unique solution under the paper's assumptions) and is the **single object the dynasty layer composes**. + +### Properties (paper Proposition, §I) + +The paper characterizes $g$'s curvature in $a_0$ as follows: + +- **If $\mu = \sigma$:** $g$ is **affine in $a_0$**: +$$ +g(a_0;\tau,r) \;=\; \alpha(\tau,r)\,a_0 \;+\; \beta_g(\tau,r), +$$ +where the **savings rate** $\alpha(\tau,r)$ is independent of $a_0$. There is no differential savings. + +- **If $\mu < \sigma$:** $g$ is **strictly convex in $a_0$**: +$$ +\frac{\partial^2 g}{\partial a_0^2}(a_0;\tau,r) \;>\; 0 \qquad\text{for all }(\tau,r) \text{ and all } a_0 > 0. +$$ +Savings out of wealth are increasing in wealth — the **rich save proportionally more**. This is the analytical foundation of the paper's differential-savings story (paper Table 6, §IIIC). + +The paper estimates $\mu = 0.5993 < \sigma = 2$ (Table 4); the empirically relevant regime is the convex one. + +The within-life excerpt ([`bellman-excerpt.md`](bellman-excerpt.md), "Differential-savings result") gives an analytical sketch at the terminal age $T$; the full curvature claim follows by backward induction over the lifetime. + +--- + +## Dynasty composition: the stochastic difference equation + +The dynasty wealth process is the composition + +$$ +a^{n+1} \;=\; g\bigl(a^n;\,\tau^{n+1},\, r^{n+1}\bigr), +$$ + +(using $a^n$ as shorthand for $a^n_0 = a^{n-1}_T$). Combined with the type chains $\Pi_\tau$ and $\Pi_r$, this defines a Markov process on the joint state space + +$$ +\mathbb{R}_{\ge 0} \;\times\; \{1, \ldots, 10\} \;\times\; \{r_1, \ldots, r_5\}. +$$ + +The dynasty operator (in modular-DDSL terms) takes the within-life stage operators $\{\mathbb{T}^{(\tau,r)}\}$ — one per type pair — and composes them into a single intergenerational kernel via $g$ and $\Pi_\tau \otimes \Pi_r$. + +--- + +## Stationary distribution and Pareto tail + +Paper §I, characterization of the stationary distribution of $\{a^n\}_n$: + +### Linear regime ($\mu = \sigma$) + +The wealth process is a **linear stochastic recurrence equation**. Under standard conditions on the joint distribution of $(\alpha,\beta_g)$ (paper footnote 9; see Grey 1994, Hay-Rastegar-Roitershtein 2011, Benhabib-Bisin-Zhu 2011), the stationary distribution exists and has a **Pareto right tail**: + +$$ +\Pr(a > \underline a) \;\sim\; Q\,\underline a^{-\gamma}, \qquad Q \ge 1, +$$ + +with the tail index $\gamma$ defined implicitly by + +$$ +\lim_{N \to \infty}\;\mathbb{E}\!\left[\,\prod_{n=0}^{N-1} \alpha\bigl(\tau^{-n}, r^{-n}\bigr)^{\gamma}\,\right]^{1/N} \;=\; 1. +$$ + +**Independence of the earnings tail:** the constant term $\beta_g$ does not affect the asymptotic Pareto exponent $\gamma$ — only the multiplicative term $\alpha$ does. This is the paper's mechanism for generating a thick wealth tail despite the relatively thin earnings distribution. + +### Convex regime ($\mu < \sigma$, the empirical case) + +A stationary distribution may or may not exist (depends on the joint parameter values); when it exists, the right tail is **at least as thick as Pareto**: + +$$ +\Pr(a > \underline a) \;\ge\; Q\,\underline a^{-\gamma}. +$$ + +The paper's quantitative analysis (paper §III, Table 5) confirms the existence of a stationary distribution at the estimated parameter values and matches it to the empirical wealth shares. + +--- + +## Deliverable for the YAML + +The minimum adequate `dolo-plus-dynasty.yaml` formalization consists of: + +1. A **reference to the within-life YAML** (`dolo-plus-draft.yaml`), naming the 50-instance family $\{(\tau, r_\mathrm{type})\}$ that parameterizes $g$. +2. A **dynasty-state block** declaring the cross-generational state $(a^n, \tau^n, r^n)$ and its inter-generational dynamics. +3. **The two intergenerational Markov chains** $\Pi_\tau$ and $\Pi_r$, with the independence assumption explicit. ($\Pi_r$ is also in the within-life YAML; reproduced here for self-containment.) +4. The **transition equation** $a^{n+1} = g(a^n;\tau^{n+1},r^{n+1})$ — symbolic reference to the lifetime map (the dynasty YAML does not compute $g$). +5. A **stationary-distribution annotation** noting the Pareto-tail Proposition and the linear-vs-convex dichotomy. + +The paper provides all the formal structure needed; the gap is at the **dolo-plus syntax layer** (no canonical idiom for cross-generational composition), not the paper. + +--- + +## Open issues / flagged gaps + +### Resolved / addressed + +(none yet — first iteration of this excerpt) + +### Still open + +1. **Cross-generational composition syntax.** Dolo-plus has no canonical keyword for composing solved within-life value functions across an outer Markov chain. The closest documented concepts (period templates, `stages:` block per matsya Turn 6) only address within-period composition. The dynasty YAML's outer block is SPECULATIVE; status UNRESOLVED at the dolo-plus spec level. (Inheriting matsya Turn 6's verdict on related items: terminal blocks, calibration-override families, per-age overrides — all UNRESOLVED in the indexed corpus.) + +2. **Lifetime-map invocation syntax.** How does dolo-plus reference "the policy function from solving stage X with parameter overrides Y"? Not documented in matsya's corpus. The dynasty YAML treats $g(\cdot;\tau,r)$ as a symbolic reference; an actual solver would need to wire the within-life solution to the dynasty composition explicitly. + +3. **Independence-of-chains specification.** Encoding "$\Pi$ is the product $\Pi_\tau \otimes \Pi_r$" cleanly in the YAML's exogenous block — likely via two separate `Markov(...)` declarations in the `exogenous:` block — is straightforward in principle but uses speculative syntax for the multi-chain case. + +4. **$\Pi_\tau$ matrix not yet inlined.** Same flag as in the within-life YAML's `calibration_family.population.Pi_tau`: online Appendix B.2 only documents the construction procedure (collapse Chetty et al.'s 100 × 100 matrix into 10 × 10) and does not tabulate the result. Reconstruction would require Chetty et al.'s data tables or the BBL replication package. + +5. **Initial-distribution choice.** Paper analyzes the stationary distribution; a runnable simulation would require an initial $a^0$ distribution (the paper uses a degenerate point at zero wealth in some exercises and the SCF 1962–63 distribution in the transitional-dynamics exercise of paper §V). Not part of the formalization, but relevant for downstream simulation. + +--- + +## Out-of-scope, for reference only + +- **Section IIID wealth-dependent $r$ extension.** In this paper extension, the Markov state of $r^n$ becomes wealth-conditioned ($r^n \mid r^{n-1}, a^n$), changing the dynasty layer's stochastic structure: the `r_chain` exogenous would become state-conditioned on $a$. The within-life stage structure is unchanged (the budget transition uses whatever $r$ value is drawn, which is now $a$-dependent). A formalization of this variant would belong in a separate dynasty excerpt + YAML pair. + +- **Section V transitional-dynamics exercise.** The paper §V analyzes nonstationary dynamics starting from the SCF 1962–63 distribution. Same dynasty operator as the baseline but with a non-stationary initial distribution. Out of scope for this excerpt (which describes the operator), in scope for any future replication exercise (which would specify the initial distribution and iterate). + +- **Numerical computation of the lifetime map $g$.** Out of scope per `AGENTS.md` "Common next tasks" — this repo describes models, does not solve them. The map $g(\cdot;\tau,r)$ is defined here but not computed; computation would happen in a downstream solver (econ-ARK or otherwise) that ingests this YAML pair. diff --git a/models/We-Would-Like-In-Econ-ARK/Benhabib_et_al_2019/index.md b/models/We-Would-Like-In-Econ-ARK/Benhabib_et_al_2019/index.md index 7a426fb9..ce64e83d 100644 --- a/models/We-Would-Like-In-Econ-ARK/Benhabib_et_al_2019/index.md +++ b/models/We-Would-Like-In-Econ-ARK/Benhabib_et_al_2019/index.md @@ -1,5 +1,32 @@ --- title: "Wealth Distribution and Social Mobility in the U.S. — Ballpark Entry" +schema_type: ScholarlyArticle +about: + doi: 10.1257/aer.20151684 + authors: [Benhabib, Bisin, Luo] + year: 2019 + journal: American Economic Review + volume: 109 + issue: 5 + pages: 1623-1647 +keywords: [heterogeneous-returns, wealth-inequality, lifecycle, warm-glow-bequest, social-mobility] +econ_ark_topic: + - lifecycle + - wealth-distribution +jel: [D31, E21, J62] +difficulty: stretch +tier: formalized # within-life pair (bellman-excerpt + dolo-plus-draft) + dynasty pair (dynasty-excerpt + dolo-plus-dynasty) + verification + matsya-session +has_formalization_layer: true +requires: [CRRA, EGM, bequest-utility] +ballpark_contributor: + name: "Ashish Kumar" + date: 2024-03-26 +updated_by: + - name: "llorracc" + date: 2026-01-27 + - name: "llorracc" + date: 2026-04-27 + note: "post-paper-and-appendix-review: adopt online-Appendix-A.1 model; transcribe Tables 1, 4 and Π_r; add dynasty pair" --- ```{include} Benhabib_et_al_2019_intro.ipynb diff --git a/models/We-Would-Like-In-Econ-ARK/Benhabib_et_al_2019/matsya-session.txt b/models/We-Would-Like-In-Econ-ARK/Benhabib_et_al_2019/matsya-session.txt new file mode 100644 index 00000000..3024b09e --- /dev/null +++ b/models/We-Would-Like-In-Econ-ARK/Benhabib_et_al_2019/matsya-session.txt @@ -0,0 +1,33 @@ +topics2026-benhabib-demo + +# 6 turns as of 2026-04-27. Full transcript via: +# matsya sessions --show topics2026-benhabib-demo +# +# Turn 1 (2026-04-19): Identity forward mover idiom for the no-shock case. +# Initial recommendation V[<] = V; dV[<] = dV. Later corrected to +# dV[<] = (1+r)*dV after paper review (Open Issue #1). +# +# Turn 2 (2026-04-19): Parameterized family for type-indexed (tau, r) +# calibrations. Recommended Option (A) calibration-override family; +# instantiation mechanism flagged UNRESOLVED. +# +# Turn 3 (2026-04-19): Terminal warm-glow bequest closure. Recommended +# single-template + boundary wiring V[>] = e(a). Later refined post- +# paper-review with A/beta absorption to match paper's no-β-on-bequest +# convention (Open Issue #9, option (i)). +# +# Turn 4 (2026-04-19): Full Benhabib-Bisin-Luo household-stage YAML draft. +# First-pass dolo-plus-draft.yaml committed. +# +# Turn 5 (2026-04-27): Self-assessment of paper-side gaps in Turn-4 draft, +# with bellman-excerpt.md inlined as input. Produced 10-item checklist; +# 3 unblockers flagged, including the (1+r) chain-rule factor on dV[<] +# (the most important — a propagating correctness bug). +# +# Turn 6 (2026-04-27): Definitive syntax-status review of residual UNRESOLVED +# items, with corrected dolo-plus-draft.yaml inlined. Confirmed 4 of 4 +# spec-level items as definitively UNRESOLVED in the dolo-plus corpus +# (terminal block, β-aware boundary, calibration_family, per-age overrides). +# New finding: sub-equation naming conflict (ShadowBellman vs MarginalBellman) +# between the system prompt and the canonical example in +# `consumption_savings_iid.md` / `solving-conjugates.md`. diff --git a/models/We-Would-Like-In-Econ-ARK/Benhabib_et_al_2019/verification.md b/models/We-Would-Like-In-Econ-ARK/Benhabib_et_al_2019/verification.md new file mode 100644 index 00000000..df920093 --- /dev/null +++ b/models/We-Would-Like-In-Econ-ARK/Benhabib_et_al_2019/verification.md @@ -0,0 +1,89 @@ +# Verification of `dolo-plus-draft.yaml` against Benhabib, Bisin, and Luo (2019) + +**Matsya session:** `topics2026-benhabib-demo` (6 turns; latest 2026-04-27). +- Turns 1–3 (2026-04-19): forward-mover idiom, parameterized-family analysis, terminal-closure recommendation. +- Turn 4 (2026-04-19): full first-pass YAML draft. +- Turn 5 (2026-04-27): self-assessment of paper-side gaps in the Turn-4 draft. +- Turn 6 (2026-04-27): definitive syntax-status review of residual UNRESOLVED items. + +**Source compared:** published paper (`Benhabib_et_al_2019.mmd` / `.pdf`), §I (theoretical framework), §IIB (data sources), Table 1 (earnings), Table 4 (estimated parameters), and footnote 13 ($r$-chain off-diagonal structure). + +## Accepted from matsya's YAML + +- **Stage structure** — single-stage template with perches (arrival `a`, decision `m`, continuation `a_next`), within-stage transitions (`m = a` identity, `a_next = (1+r)*(m - c) + w` per online appendix A.1), backward mover (Bellman + EGM block), and forward mover as literal pass-through (`V[<] = V`, `dV[<] = dV` — both level and marginal pass through because $m = a$ identity). Matches the paper's appendix-A.1 model. +- **CRRA utility** `u(c) = c^(1-sigma)/(1-sigma)` matches paper §I exactly. +- **Warm-glow bequest kernel** `e(a) = A*a^(1-mu)/(1-mu)` matches paper §I exactly. +- **EGM sub-equations** under appendix model: InvEuler `c[>] = (beta * (1+r) * dV[>])^(-1/sigma)` (the $(1+r)$ enters the FOC because $\partial a'/\partial c = -(1+r)$ in the appendix budget); reverse transition `m[>] = c[>] + (a_next - w)/(1+r)`; MarginalBellman envelope `dV = c^(-sigma)` (no $(1+r)$ in the envelope under appendix model since $\partial m/\partial a = 1$). +- **Omission of `exogenous` block** is correct — paper §I states "$r$ and $w$ are stochastic over generations only: agents face no uncertainty within their life span." +- **Canonical structural reference for the forward mover** (matsya Turn 6): `consumption_savings_iid.md`'s `dV[<] = r * E_{y}(dV)`. Under the appendix model with $m = a$ identity, the YAML's `dV[<] = dV` is the no-shock + identity-transition specialization (drop the expectation AND drop the chain-rule factor). Status **CANONICAL-structure**; no canonical example explicitly labels this fully-degenerate case. + +## Refined post-paper-and-appendix-review (2026-04-27) + +Three model-side corrections after direct paper + appendix audit (see Open Issues #1, #8, #9, #10 in `bellman-excerpt.md` for full audit trails): + +1. **Budget-equation discrepancy: paper §I vs. online appendix A.1** (Open Issue #10). Paper §I writes $a' = (1+r)a - c + w$; the online appendix (= the authors' actual numerical solution) writes $a' = (1+r)(a-c) + w$. These are different models. **Resolution: match the online appendix** since it describes the collocation method that produces the published results. Paper §I's compact statement appears to have a typo (missing $(1+r)$ on the $c$ term, which would make it consistent with the $c \le a$ constraint). YAML and excerpt now encode the appendix model: + - $\mathrm{g}_{\prec\circ}$: $m_t = a_t$ (identity) + - $\mathrm{g}_{\circ\succ}$: $a_{t+1} = (1+r)(m_t - c_t) + w_t(\tau)$ + - EGM Inverse Euler: $c_t = (\beta(1+r)\,V'_{t+1}(a_{t+1}))^{-1/\sigma}$ + - EGM reverse: $m_t = c_t + (a_{t+1} - w_t)/(1+r)$ + - Forward mover: `V[<] = V; dV[<] = dV` (literal pass-through; no chain-rule factor since $m = a$ identity) + +2. **Re-resolution of Open Issue #1 (chain-rule factor).** Under the appendix model adopted in #10, $m = a$ is identity, so the arrival-to-decision Jacobian is 1 — there is **no chain-rule factor**. Matsya Turn 1's original `dV[<] = dV` advice is correct after all. The earlier "correction" to `(1+r) * dV` was based on paper §I literal reading; reverted. + +3. **Re-resolution of Open Issue #8 (consumption upper bound).** Under the appendix model, paper's `c ≤ a` is **genuine, not a typo**. The actual typo in paper §I is in the budget equation (missing $(1+r)$ on $c$), which would then make `c ≤ a` consistent. Since the YAML uses $m_t = a_t$ identity, the constraint `c ∈ [0, m]` is equivalent to `c ∈ [0, a]` — implementation correct. + +4. **β on terminal bequest** (Open Issue #9, option (i)). Unchanged from morning's resolution: absorb $1/\beta$ into the boundary weight, $\tilde A \equiv A/\beta$, so $\beta V_{[\succ]} = e(a)$ matches paper's no-β-on-bequest terminal recursion. Under the appendix model, the resulting terminal Inverse Euler is $c_T = ((1+r)A)^{-1/\sigma} a_{T+1}^{\mu/\sigma}$. + +Plus one structural simplification: replaced the verbose `instances: [...]` array (50 entries, 49 of them carrying redundant copies of the shared parameters) with an axis-product representation (`shared` + `by_r_type` + `by_tau` + `age_bracket_to_period`). + +## Paper-calibrated values (2026-04-27) + +YAML now carries paper-faithful numerical values where the paper provides them: + +- **Shared parameters** (Table 4): $\beta = 0.97$, $\sigma = 2$, $\mu = 0.5993$ (s.e. 0.0061), $A = 0.0006$ (s.e. 0.0004), $T = 36$. +- **Rate-of-return state space** (Table 4 "State space"): $r \in \{0.0011, 0.0094, 0.0258, 0.0560, 0.0841\}$. +- **Earnings schedule** (Table 1): full 10×6 matrix in $thousands/year inlined as `calibration_family.by_tau`. **Bracket-piecewise-constant** per paper §IIB ("agents stay in the same decile for their whole lifetime"); 6 brackets of 6 years each. Period $t$ ↔ calendar age $24 + t$ (working life ages 25–60). +- **$\Pi_r$ full 5×5 matrix** (online Appendix C.1, downloaded 2026-04-27): each row is row-stochastic; diagonal $\{0.0338, 0.2676, 0.1360, 0.2630, 0.0208\}$ matches Table 4. Off-diagonals show the decay structure of paper footnote 13 (rows 1–4 symmetric around diagonal; row 5 constant 0.2448). + +YAML parses cleanly via `yaml.safe_load` (verified). Paper values spot-checked at decile-1/bracket-1, decile-5/bracket-6, and decile-10/bracket-4 — all match paper Table 1 exactly. $\Pi_r$ row sums verified at 1.0 (one row 1.0002 within rounding). + +## Edited (relative to the paper's own notation) + +- **Decision-perch state `m` introduced as a perch label** with $m_t = a_t$ identity transition (under appendix model). Distinguishes the dolo-plus three-perch slots while remaining mathematically a single-state model. +- **Budget equation taken from online appendix A.1**, not paper §I literal — the appendix is authoritative for the numerical solution. Paper §I's $a' = (1+r)a - c + w$ is treated as a typo for the appendix's $a' = (1+r)(a-c) + w$. See Open Issue #10. +- **Poststate named `a_next`** rather than the paper's `a'`; equivalent but avoids YAML quote-mark ambiguity. +- **Parameterized-family structure made explicit** via `calibration_family` block with paper values for all 50 instances. The paper itself solves these 50 problems in baseline estimation without naming them a family. +- **Terminal bequest weight $\tilde A = A/\beta$** at the boundary only, per Open Issue #9 option (i) — preserves single-template structure while matching paper's no-β-on-bequest convention. + +## Rejected + +Nothing from matsya's output was rejected outright. The corrections in "Refined post-paper-review" above (Open Issues #1 and #9) are refinements of matsya's structural framework, not rejections. + +## Flagged as `# unresolved:` (dolo-plus spec gaps, not paper gaps) + +Per matsya Turn 6 (2026-04-27), the items below are **definitively UNRESOLVED in the dolo-plus spec corpus** — not search failures. + +1. **`terminal:` block keyword.** Matsya Turn 6: no `terminal:` or `boundary:` top-level key, no terminal-boundary recipe in `07-appendix-a-recipes.md`. Our placeholder block with sub-keys `parameters:`, `V[>]:`, `dV[>]:` is SPECULATIVE. + +2. **β-aware boundary mechanism.** No mechanism for the boundary to know it is being plugged into a $\beta$-weighted backward mover. The $A/\beta$ absorption (Open Issue #9, option (i)) is an economically correct workaround. + +3. **`calibration_family:` block keyword.** Paper values inlined; keyword and sub-keys (`shared`, `by_r_type`, `by_tau`, `cardinality`, `age_bracket_to_period`, `population`) remain SPECULATIVE per matsya's definitive 2026-04-27 confirmation that no canonical example has been indexed. + +4. **Per-age parameter overrides on a repeated stage.** Paper Table 1 fully transcribed in `calibration_family.by_tau`; what's missing is the dolo-plus mechanism for addressing the right entry at each $(t, \tau)$ pair. No `lifecycle:` block, no age-indexed override, no repeating-stage period template surfaced. + +5. **Sub-equation naming: `ShadowBellman` vs `MarginalBellman`** (matsya Turn 6 new finding). The system prompt says `ShadowBellman:` belongs in `dcsn_to_arvl_mover` while `MarginalBellman:` belongs in `cntn_to_dcsn_mover`. The canonical example (`solving-conjugates.md`) uses `MarginalBellman:` in the same structural position as our `ShadowBellman:`. Conflict noted; YAML retains `ShadowBellman:` per system prompt. + +## Open items not yet in the YAML + +- **Section IIID wealth-dependent $r$ extension.** Explicitly out of scope for this baseline YAML. Would require a separate YAML with state-contingent (rather than fixed-at-birth) $r$. +- **$\Pi_\tau$ full 10×10 matrix.** Online Appendix B.2 describes the construction procedure (collapse Chetty et al. 2014's 100×100 matrix to 10×10) but does not tabulate the result. Reconstruction would require either Chetty et al.'s `online_data_tables.xls` or the BBL replication package at `https://doi.org/10.3886/E113112V1`. Dynasty-layer; not blocking the within-lifetime stage formalization. ($\Pi_r$ has been transcribed from Appendix C.1 as of 2026-04-27.) + +## Verdict + +**The within-lifetime stage problem is mathematically and numerically paper-faithful as of 2026-04-27.** The within-stage equations, the EGM channel, the terminal boundary (with the $A/\beta$ refinement), and the calibration values match the paper exactly. + +Remaining gaps: +- **Five dolo-plus spec-level syntactic gaps** (above) — definitively UNRESOLVED per matsya 2026-04-27 review. Closing them requires either dolo-plus spec extension (canonical syntax for terminal-boundary blocks, type-indexed families, per-age overrides, sub-equation naming) or maintainer discussion, not further model work. +- **Two dynasty-layer matrices** in online appendices, not yet downloaded. Outside the within-Bellman scope. + +Per `CONTRIBUTING.md` Formalized-tier definition: this YAML parses (`yaml.safe_load` confirmed), encodes what is canonically encodable, carries paper-faithful numerical values where the paper provides them, and flags spec-level gaps with inline `# unresolved:` comments rather than silently fabricating non-canonical syntax.