Skip to content
This repository has been archived by the owner on Jan 23, 2024. It is now read-only.
/ abce Public archive

Agent-based computational Economics, the Python library that makes AB modelling easier

Notifications You must be signed in to change notification settings

AB-CE/abce

Repository files navigation

abcEconomics: the Agent-Based Computational Economy platform that makes modeling easier

abcEconomics is a Python based modeling platform for economic simulations. abcEconomics comes with standard functions to simulations of trade, production and consumption. The modeler can concentrate on implementing the logic and decisions of an agents; abcEconomics takes care of all exchange of goods and production and consumption.

Build CI Pypi version readthedocs
https://raw.githubusercontent.com/AB-CE/abce/master/docs/cheesegrater.png

In abcEconomics, goods have the physical properties of goods in reality in the sense that if agent A gives a good to agent B, then - unlike information - agent B receives the good and agent B does not have the good anymore. The ownership and transformations (production or consumption) of goods are automatically handled by the platform.

abcEconomics models are programmed in standard Python, stock functions of agents can be inherited from archetype classes (Firm or Household). The only not-so-standard Python is that agents are executed in parallel by the Simulation class (in start.py).

abcEconomics allows the modeler to program agents as ordinary Python class-objects, but run the simulation on a multi-core/processor computer. It takes no effort or intervention from the modeler to run the simulation on a multi-core system. The speed advantages of using abcEconomics with multi-processes enabled. abcEconomics are typically only observed for 10000 agents and more. Below, it might be slower than pure python implementation. abcEconomics supports pypy3, which is approximately 10 times faster than CPython.

abcEconomics is a scheduler and a set of agent classes. According to the schedule the simulation class calls - each sub-round - agents to execute some actions. Each agent executes these actions using some of the build-in functions, such as trade, production and consumption of abcEconomics. The agents can use the full set of commands of the Python general purpose language.

The audience of abcEconomics are economists that want to model agent-based models of trade and production.

abcEconomics does support an accounting framework for financial simulations: abcFinance (https://github.com/ab-ce/abcFinance).

abcEconomics runs on macOS, Windows, and Linux. abcEconomics runs 10x faster on pypy!

Install with:

pip3 install abcEconomics

The documentation is here:

http://abce.readthedocs.io/

A code example is here:

Jupyter Tutorial

More code examples are here:

https://github.com/AB-CE/examples