BAM Engine 0.8.0 extends the calibration toolkit with four new composable tools, recalibrates all validation targets from extracted book figure data, and redesigns buffer-stock validation around aggregate improvement over Growth+.
Calibration Tools#
Calibrating BAM Engine parameters across multiple scenarios used to require stitching together ad-hoc scripts. This release adds four composable CLI tools that formalize the workflow we developed over four calibration campaigns (~80K total simulation runs):
- rescreen: re-run Morris screening after locking optimized parameters, revealing sensitivities that were previously masked by dominant parameters.
- cost: estimate the computational budget for a calibration run, classifying configurations as FREE/CHEAP/MODERATE/EXPENSIVE.
- cross-eval: evaluate parameter configurations across multiple scenarios simultaneously, with harmonic, geometric, and min-score ranking strategies.
- sweep: run structured multi-stage parameter sweeps where winners from each stage carry forward to the next.
A new calibration recipe page distills practical lessons from past campaigns into a recommended workflow.
Validation Targets Recalibrated#
All three validation scenarios (baseline, Growth+, buffer-stock) have been recalibrated against precise values extracted from the book’s figures (Figures 3.2–3.7) using pixel-level data extraction. This replaces the previous hand-tuned targets with reproducible, data-driven bounds. The full methodology is documented in the validation targets page.
Buffer-Stock Validation Redesign#
The buffer-stock scenario previously duplicated all 30 Growth+ metrics plus its own unique metrics, making it hard to distinguish extension-specific failures from inherited baseline noise. Version 0.8.0 replaces this with a focused two-layer approach:
- Per-seed validation uses only the 8 metrics unique to the buffer-stock extension (wealth distribution fits, Gini, skewness, MPC, dissaving).
- Aggregate improvement over Growth+ is assessed after stability testing, catching systematic degradation while ignoring per-seed noise.
The result is clearer diagnostics and a validation dashboard that reflects the extension’s actual contribution.
Bug Fixes#
- Division-by-zero in
score_outlier_penaltywhenmax_outlier_pct=0. - Collapsed buffer-stock result incorrectly reporting
passed=True.
Upgrading#
pip install --upgrade bamengine