Skip to content

Releases: kganitis/bam-engine

bam-engine 0.3.0

11 Feb 19:43

Choose a tag to compare

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/BufferStock role and events
  • examples/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 activation
  • sim.use_config(config) — extension defaults with "don't overwrite" semantics
  • sim.use_role(cls, n_agents=N) — non-firm role attachment

Breaking changes:

  • Hook system refactored: global _EVENT_HOOKS dict removed, hooks now stored as class attributes and applied explicitly via sim.use_events()
  • Dict-form collect default aggregate changed from "mean" to None (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

09 Feb 06:03

Choose a tag to compare

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

21 Jan 08:07

Choose a tag to compare

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

20 Jan 21:09

Choose a tag to compare

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+ scenarios
  • calibration/ - 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_wagemin_wage_ratio, net_worth_initnet_worth_ratio
  • Results API: results.economyresults.economy_data, requires collect=True
  • Defaults changed: 100→300 firms, 500→3000 households, delta 0.4→0.1
  • Event renamed: FirmsCalcCreditMetricsFirmsCalcFinancialFragility

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

05 Dec 17:25

Choose a tag to compare

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

14 Nov 14:30

Choose a tag to compare

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.

v0.1.0 - Initial Release

13 Nov 21:05

Choose a tag to compare

First stable release of BAM Engine - a high-performance Python implementation of the BAM (Bottom-Up Adaptive Macroeconomics) model.

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.