BAM Engine is part of ongoing MSc thesis research at the University of Piraeus. Code contributions will be welcome after thesis submission. In the meantime, there are several ways to participate:
Source code: github.com/kganitis/bam-engine | Citing BAM Engine: How to cite BAM Engine in your research
The BAM (Bottom-Up Adaptive Macroeconomics) model from Delli Gatti et al. (2011) has inspired several implementations and extensions within the CATS (Complex Adaptive Trivial Systems) lineage.
A NetLogo implementation of the BAM model, and the first publicly documented implementation available. Developed by Platas-López et al. using the ODD (Overview, Design concepts, and Details) protocol for standardized model description. The model reproduces the three core agent types (households, firms, banks) interacting in three markets (labor, credit, goods) and validates against stylized facts including unemployment around 10%, inflation in the 1–6% range, and positively skewed wealth distributions. The authors also explore shock sensitivity and the effect of varying market sizes on emergent dynamics.
A Julia implementation of the CC-MABM (Macroeconomic Agent-Based Model with Capital and Credit), developed at the Banca d’Italia (Bank of Italy). CC-MABM extends the BAM model with a two-sector supply chain: upstream K-firms produce capital goods that downstream C-firms use for production. This adds investment decisions, capital depreciation, and explicit financial frictions to the original BAM framework. A key finding is that both capital accumulation and credit mechanisms are necessary for endogenous crisis emergence; neither alone is sufficient. The two-way feedback between the capital-goods and consumption-goods sectors generates realistic business cycle dynamics.
A multi-agent reinforcement-learning extension of ABCredit, written in
Python with Julia interoperability via juliacall. R-MABM replaces the
heuristic decision rules of C-firms with tabular Q-learning agents that
operate over discrete state and action spaces. The RL agents discover
three emergent strategies depending on the level of market competition:
market power exploitation, dumping (aggressive price-cutting), and perfect
competition. Agents with independent policies spontaneously segregate into
distinct strategic groups. A notable macro-level result is that only the
perfect-competition strategy stabilizes the economy as a whole.