Skip to main content

ABCE: A Python Library for Economic Agent-Based Modeling

  • Conference paper
  • First Online:
Social Informatics (SocInfo 2017)

Abstract

The rise of computational power makes agent-based modelling a viable option for models capturing the complex nature of an economy. However, the coding implementation can be tedious. Because of this, we introduce ABCE, the Agent-Based Computational Economics library. ABCE is an agent-based modeling library for Python that is specifically tailored for economic phenomena. With ABCE the modeler specifies the decision logic of the agents, the order of actions, the goods and their physical transformation (the production and the consumption functions). Then, ABCE automatically handles the actions, such as production and consumption, trade and agent interaction. The result is a program where the source code consists of only economically meaningful commands (e.g. decisions, buy, sell, produce, consume, contract, etc.). ABCE scales on multi-core computers, without the intervention of the modeler. The model can be packaged into a nice web application or run in a Jupyter notebook.

D. Taghawi-Nejad—This author gratefully acknowledge the financial support from MS AMLIN plc, London.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    Meaning that goods and money are not created “out of thin air”. ABCE is stock flow consistent, if the stock-flow consistency is not explicitly broken.

  2. 2.

    https://abce.readthedocs.io.

  3. 3.

    https://economicsl.github.io.

References

  1. Allan, R.: Survey of agent based modelling and simulation tools. Technical report, October 2010. http://purl.org/net/epubs/work/50398

  2. Caiani, A., Godin, A., Caverzasi, E., Gallegati, M., Kinsella, S., Stiglitz, J.E.: Agent based-stock flow consistent macroeconomics: towards a benchmark model. J. Econ. Dyn. Control 69, 375–408 (2016). http://dx.doi.org/10.1016/j.jedc.2016.06.001

  3. Collier, N.: RePast: an extensible framework for agent simulation (2003)

    Google Scholar 

  4. Farmer, J.D., Foley, D.: The economy needs agent-based modelling. Nature 460(7256), 685–686 (2009). https://www.nature.com/nature/journal/v460/n7256/full/460685a.html

  5. Jones, E., Oliphant, T., Peterson, P., et al.: SciPy: open source scientific tools for Python (2001). http://www.scipy.org/. Accessed 10 June 2017

  6. Luke, S., Cioffi-Revilla, C., Panait, L., Sullivan, K., Balan, G.: Mason: a multiagent simulation environment. Simulation 81(7), 517–527 (2015). http://dx.doi.org/10.1177/0037549705058073

  7. Nikolai, C., Madey, G.: Tools of the trade: a survey of various agent based modeling platforms. J. Artif. Soc. Soc. 12(2), 2 (2009). http://jasss.soc.surrey.ac.uk/12/2/2.html

  8. North, M., Howe, T., Collier, N., Vos, J.: The repast simphony runtime system. In: Proceedings of Agent 2005 Conference on Generative Social Processes, Models, and Mechanisms, p. 151 (2005)

    Google Scholar 

  9. Phelps, S.: Applying dependency injection to agent-based modeling: the JABM toolkit. Technical report WP056-12, Centre for Computational Finance and Economic Agents (CCFEA) (2012). http://www.bracil.net/ccfea/WorkingPapers/2012/CCFEA-Wpp.056-12-r2.pdf

  10. Railsback, S.F., Lytinen, S.L., Jackson, S.K.: Agent-based simulation platforms: review and development recommendations. Simulation 82(9), 609–623 (2006). http://dx.doi.org/10.1177/0037549706073695

  11. Rossum, G.V.: Glue it all together with Python. In: Position Paper for OMG-DARPA-MCC Workshop on Compositional Software Architecture (1998). https://www.python.org/doc/essays/omg-darpa-mcc-position/

  12. Serenko, A., Detlor, B.: Agent toolkits: a general overview of the market and an assessment of instructor satisfaction with utilizing toolkits in the classroom (2002). http://hdl.handle.net/11375/5601

  13. Taghawi-Nejad, D.: Modelling the economy as an agent-based process: ABCE, a modelling platform and formal language for ACE. J. Artif. Soc. Soc. Simul. (2013). http://jasss.soc.surrey.ac.uk/16/3/1.html

  14. Tobias, R., Hofmann, C.: Evaluation of free Java-libraries for social-scientific agent based simulation. J. Artif. Soc. Soc. Simul. 7(1) (2004). http://jasss.soc.surrey.ac.uk/7/1/6.html

  15. Walt, S.V.D., Colbert, S.C., Varoquaux, G.: The NumPy array: a structure for efficient numerical computation. Comput. Sci. Eng. 13(2), 22–30 (2011)

    Article  Google Scholar 

  16. Wikipedia: Comparison of agent-based modeling software – Wikipedia, the free encyclopedia (2017). https://en.wikipedia.org/w/index.php?title=Comparison_of_agent-based_modeling_software&oldid=783176104. Accessed 14 June 2017

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Davoud Taghawi-Nejad .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2017 Springer International Publishing AG

About this paper

Cite this paper

Taghawi-Nejad, D. et al. (2017). ABCE: A Python Library for Economic Agent-Based Modeling. In: Ciampaglia, G., Mashhadi, A., Yasseri, T. (eds) Social Informatics. SocInfo 2017. Lecture Notes in Computer Science(), vol 10539. Springer, Cham. https://doi.org/10.1007/978-3-319-67217-5_2

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-67217-5_2

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-67216-8

  • Online ISBN: 978-3-319-67217-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics