sfctools is an ABM-SFC modeling suite. Unlike more generic frameworks like mesa or AgentPy, it concentrates on agents in economics. It further is a toolbox which helps you to construct agents, helps you to ensure stock-flow consistency and facilitates basic economic data structures (such as the balance sheet).
The framework sfctools will accompany your modeling work along the whole model design process. Typically modelers will start with constructing their agents, i.e. the transactions between agents and their behavioral parameters. Sfctools supports modelers with a basic Agent class. All agents which inherit from this class will automatically be equipped with datastructures, the most important being the balance sheet. A flow matrix sheet traces all financial flows between agents, as well as changes in stocks. Structural model parameters can be read from a simple yaml file to avoid hard-coding. Finally, sfctools will take care about timing your simulation periods and executing batch simulation runs.
One of the most challenging tasks in macroeconomic models is to describe the macro-level effects from the collective behavior of meso- or micro-level actors. Wheras in 1759, Adam Smith was still making use of the concept of an ‘invisible hand’ ensuring market stability and economic welfare, a more and more popular approach is to make the ‘invisible’ visible and to accurately model each actor individually by defining its behavioral rules and myopic knowledge domain. In agent-based computational economics (ACE), economic actors correspond to dynamically interacting entities (also called agents) who live inside a computer program. For many research topics, it is useful to combine ABM with the stock-flow consistent (SFC) paradigm. SFC-ABM models, however, are often intransparent and rely on very peculiar, custom-built data structures. A tedious task is to generate, maintain and distribute code for agent-based models (ABMs), as well as to check for the inner consistency and logic of such models.
Agent-based computational economics is a modeling approach where independent myopic units, called agents, interact. The outcome of this interaction (called emergence) can be a self-organized pattern much more complicated than the individual agents’ behavioral rules [Gatti et al., 2008, Gaffeo et al., 2008]. In Agent-Based Computational Economics, the agents are the types economic actors, such as individual firms or plant operators, performing certain operations such as investment or bidding at markets. There is, however, a large plurality of different agent-based economic models. Agent-based macroeconomic models are typically constructed of households, firms, banks, the government and a central bank, who are either aggregate entities or interact in a bottom-up fashion [Turrell, 2016]. A more detailed elaboration on agent-based comutational eonomics can be found, for example, in the two books: [Tesfatsion and Judd, 2006, Gallegati et al., 2017].