model 05 — US heterogeneous-agent NK model · us-hank · US · hosted

See who responds to a US shock, not just how much.

Run stylized monetary, fiscal-spending, and productivity shocks through a two-asset heterogeneous-agent New Keynesian model — aggregate impulse responses plus first-order distributional output: MPCs by wealth quartile and the hand-to-mouth share.

how far to trust it

A replication gate, not a forecast-accuracy claim.

The ground truth is the published paper, not data. The parameters the model solves for internally reproduce Auclert et al. (2021) Table B.III to the last published digit on six of seven: β 0.9762739 against 0.976, χ1 6.4164196 against 6.416 — solved numerically from a 6.5 starting guess, the strongest single check — and Z, α, μp and τ analytically. The seventh is unresolved: this implementation returns vphi (the wage Phillips curve disutility scale) of 1.7135 where Table B.III publishes 2.073, −17.3%, left unasserted in the test suite rather than laundered.

Signs and timing of the shock responses are gated too. Magnitudes are not — the paper publishes no impulse response to match them against.

us-hank: internally solved parameters vs Auclert et al. (2021) Table B.III Table-style chart of the parameters the us-hank two-asset model solves for internally, against the values Auclert, Bardóczy, Rognlie and Straub (2021) print in Table B.III. These are not imposed: two are solved numerically and four analytically from the calibration inputs, so they had somewhere to miss. beta (discount factor): published 0.976, ours 0.9762739, solved numerically; chi1 (portfolio adjustment cost scale): published 6.416, ours 6.41642, solved numerically; Z (TFP): published 0.468, ours 0.4677898, solved analytically; alpha (capital share): published 0.33, ours 0.3299492, solved analytically; mu_p (price markup): published 1.015, ours 1.015228, solved analytically; tau (labour tax rate): published 0.356, ours 0.3560606, solved analytically. All six agree to the last digit the paper prints. The seventh, vphi (wage Phillips curve disutility scale), does not: the paper publishes 2.073 and this implementation returns 1.713476, a gap of -17.3 per cent, left unasserted in the upstream test suite rather than laundered. Separately, the 5 rows Output Y, Capital K, Real rate r (quarterly), Government spending G, Government debt Bg are calibration inputs held fixed through the solve, so their zero deviations are identities and carry no information, and Total wealth A+B and Liquid assets B are reached by the solver, so their residuals of 2.7e-13 and 9.5e-14 are tolerances rather than accuracies. Market clearing: goods 3.3e-08, which is untargeted and holds only by Walras' law, and assets 3.1e-13, which is the root-finder's own convergence target. Solved by the model, compared against the published table solved published ours |diff| beta (discount factor) numerically 0.976 0.9762739 2.7e-04 chi1 (portfolio adjustment cost scale) numerically 6.416 6.41642 4.2e-04 Z (TFP) analytically 0.468 0.4677898 2.1e-04 alpha (capital share) analytically 0.33 0.3299492 5.1e-05 mu_p (price markup) analytically 1.015 1.015228 2.3e-04 tau (labour tax rate) analytically 0.356 0.3560606 6.1e-05 vphi (wage Phillips curve disutility scale) unresolved 2.073 1.713476 3.6e-01 Six of seven agree to the last published digit; vphi misses by -17.3%. Calibration inputs — held fixed through the solve, so their deviations are identities Constants equalling themselves: Output Y 1, Capital K 10, Real rate r 0.0125, Government spending G 0.2, Government debt Bg 2.8. Solver targets: Total wealth A+B 14 hit to 2.7e-13, Liquid assets B 1.04 hit to 9.5e-14 — tolerances, not accuracies. Market clearing: goods 3.3e-08 untargeted (Walras’ law), assets 3.1e-13 is the solver’s own target.
Calibration, not replication. Y, K, r, G, Bg and the wealth rows are imposed and held fixed through the solve, so their deviations are identities or solver tolerances rather than accuracies; The rows the model solves for are the replication: six reproduce Table B.III to the last published digit and vphi misses by 17.3%. Same for the residuals: asset-market clearing at 3.1e−13 is the solver's own target, while goods-market clearing at 3.3e−08 is untargeted — it holds only by Walras' law, which makes it the honest measure. Solved 2026-07-29 at production grids (nB=50, nA=70, nK=50), re-solved independently 2026-08-13. Source: papers/us-hank/figures/replication.json.

An independent replication of a published academic model, built on the authors' own sequence-jacobian toolkit — not produced or endorsed by them. Results are model counterfactuals, not official estimates or forecasts.

where this sits among other open HANK implementations: the landscape report.

limits

Known limitations.

Known limits of the us-hank implementation
limitdetail
Not a forecaster No data, no estimation, no forecast origin: every result is an impulse response around the paper's calibrated steady state. Nothing in this suite forecasts the US.
Stylized instruments only Monetary, fiscal-spending and productivity shocks; the labor tax is endogenous. No transfer or tax-rate instrument, so score_reform refuses model="hank".
First-order responses IRFs are linear in shock size: no state dependence, no zero lower bound, no asymmetry. Parameter uncertainty is not quantified — the calibration is a single point.
Approximate distributional output By-quartile consumption splits the aggregate response in proportion to steady-state MPCs — the MPC-heterogeneity channel, not household-level dynamics along the transition.
Calibration, not vintage The parameterisation is the paper's; there is no data vintage to refresh. Changing it would be a model change.