Releases: kganitis/bam-engine
bam-engine 0.3.0
This release adds the Consumption & Buffer-stock extension (Chapter 3.9.4 of Delli Gatti et al., 2011) and introduces a composable extension API that replaces the global hook registry.
New extension: Consumption & Buffer-stock
extensions/buffer_stock/—BufferStockrole and eventsexamples/extensions/example_buffer_stock.py— buffer-stock consumption example
New built-in role: Shareholder
- Tracks per-period dividends for accurate buffer-stock MPC metrics
Composable extension API:
sim.use_events(*event_classes)— explicit pipeline hook activationsim.use_config(config)— extension defaults with "don't overwrite" semanticssim.use_role(cls, n_agents=N)— non-firm role attachment
Breaking changes:
- Hook system refactored: global
_EVENT_HOOKSdict removed, hooks now stored as class attributes and applied explicitly viasim.use_events() - Dict-form
collectdefault aggregate changed from"mean"toNone(full per-agent arrays); add"aggregate": "mean"for previous behavior
See CHANGELOG for complete details of what's included in this version.
If you want to get started with using BAM Engine, see the README.
bam-engine 0.2.2
This release completes the Growth+ scenario (Section 3.9.2 of Delli Gatti et al., 2011), bringing its
validation metrics, financial dynamics analysis, and visualizations in line with the book, and re-calibrates
model defaults accordingly.
See CHANGELOG for complete details of what's included in this version.
If you want to get started with using BAM Engine, see the README.
bam-engine 0.2.1
This release simplifies baseline and growth+ scenario examples to be self-contained, and reorganizes the validation package into subpackages metrics/, scenarios/ and targets/.
See CHANGELOG for complete details of what's included in this version.
If you want to get started with using BAM Engine, see the README.
bam-engine 0.2.0
Major release introducing validation and calibration frameworks for model verification, pipeline hooks for cleaner model extensions (@event(after="..."), before, replace), and 50-80% performance improvements through optimized logging and vectorized market operations.
New packages:
validation/- Acceptance testing with baseline and growth+ scenarioscalibration/- Parameter optimization via sensitivity analysis and grid search
Highlights:
- Data collection enhancements: Timed results capture via
capture_after="event_name" - Price event re-ordering: Breakeven price calculation → price adjustment (now uses projected output) → production → average market price update
- Labor market fixes: Worker wages now update with minimum wage adjustments, sequential firms-workers matching
- Goods market fixes: Corrected loyalty/preferential attachment behavior
Breaking changes:
- Config renamed:
min_wage→min_wage_ratio,net_worth_init→net_worth_ratio - Results API:
results.economy→results.economy_data, requirescollect=True - Defaults changed: 100→300 firms, 500→3000 households, delta 0.4→0.1
- Event renamed:
FirmsCalcCreditMetrics→FirmsCalcFinancialFragility
See CHANGELOG for complete details of what's included in this version.
If you want to get started with using BAM Engine, see the README.
bam-engine 0.1.2
This release adds comprehensive documentation on Read the Docs with API reference and examples, introduces ASV benchmarking with GitHub Pages deployment, and adopts Scientific Python standards with sp-repo-review compliance.
See CHANGELOG for complete details of what's included in this version.
If you want to get started with using BAM Engine, see the README.
bam-engine 0.1.1
This release drops support for Python 3.10, introduces CI/CD using GitHub Actions workflows for automated testing and PyPI publishing and fixes a Windows compatibility issue in test suite.
See CHANGELOG for complete details of what's included in this version.
If you want to get started with using BAM Engine, see the README.