PolicyEngine / PolicyEngine/us-hank-model

Add the 2025 annual-review fiscal HANK as a second variant

Open
#1 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
0
Forks
0
PR merge metrics
No merged PRs in 30d

Description

The current package ships the validated Auclert–Bardóczy–Rognlie–Straub (Econometrica 2021) two-asset model, whose exogenous instruments are rstar, G (tax-financed) and Z — deliberately no transfer or deficit instrument.

The authors' 2025 companion repo (https://github.com/shade-econ/annual-review — Auclert, Rognlie & Straub, "Fiscal and Monetary Policy with Heterogeneous Agents") adds exactly those: deficit-financed transfers and debt-path experiments, on the same sequence-jacobian stack (so the runtime profile stays: cached ss + jacobian, instant IRFs).

Plan, same stage-gated pipeline as v0.1.0:

  1. Prototype in a scratch venv: reproduce the 2025 paper's headline figures from the repo's notebooks.
  2. Validation gate: freeze reproduced numbers as tests. No pass, no ship.
  3. Add as a fiscal_2025 variant behind the same shock() interface, exposing transfer/deficit-financing shock kinds.
  4. Bump into policyengine-macro's hank_shock catalogue.

Caveat driving the gate: annual-review is research-notebook code, unversioned and without a test suite — pin a commit and vendor what's needed.

🤖 Generated with Claude Code

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the 2025 companion repository's notebooks in a scratch Python virtual environment and reproduce its headline figures. Freeze the reproduced numbers as validation tests before adding the fiscal_2025 variant with transfer and deficit-financing shock kinds behind the existing shock() interface. Pin an annual-review commit, vendor the required code, and update policyengine-macro's hank_shock catalogue when the validation gate passes.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.