Agent-Based Financial Economics


Agent-based financial economics is an interdisciplinary master-level course for economists and computer scientists offered by the department of Banking & Finance of University of Zurich. It is worth 3.0 ECTS credits and counts as BF4, ECON2, or more generally as OEC/WWF course for University of Zurich students, and as elective course for computer scientists from ETH.

Agent-based financial economics is a controversial but also promising modeling methodology that thrives best when combining economics knowledge with sound software engineering. The course starts with an introduction to the principles of agent-based modeling, including its strength and weaknesses. Then, step by step, we create a large-scale economic simulation by introducing new and increasingly sophisticated agents (households, firms, funds, etc.), comparing the simulated outcomes with the equilibria known from classic economic theory. These agents are implemented by interdisciplinary teams of two students each, one from economics or finance and one from computer science. The fitness of these economic agents is tested in a competitive setting. Due to the complexity of the simulation, agents will likely have to resort to behavioral heuristics. The interesting question is: will the invisible hand succeed in guiding them towards the efficient outcome anyway?

As a computer science student, you will get to learn the basic mechanisms of our economy and the financial markets, while applying your software engineering skills. As a economics or finance student, you will get a new, constructive perspective on economics and learn how to structure large-scale simulations in object-oriented programming.

Lesson 1: The Hermit

Here are the slides of the first lesson. Please follow these instruction on how to install the required software on you computer in order to solve the first exercise.


Your agents will compete in an economic simulation that is updated in real-time as your submit new versions of your agents to Github. You can run the simulation on your computer locally, but also view it online to see how your agents interact with the others. Find out what heuristics can help your agent achieve the highest utility of all. Here is a live demo of a small simulation (warning: desktop only, under construction).

Recurring Themes

Emergence: how do the micro-properties of a system shape its macro-characteristics? When is the whole more than the sum of its parts? Evolutionary finance: what strategies do survive in the long run and how do evolutionary dynamics impact the macro outcome? Heuristics: Are there simple heuristics based on local information that allow agents to perform similarly well as agents with rational expectations and perfect information? Chaos: even simple system can exhibit chaotic behavior. Complexity: how can software engineering help in managing the complexity?


Farmer and Foley published a nice motivational article on why we need agent-based modeling in the well-known journal Nature. A list with some classics from the literature on agent-based economics can be found on Leigh Testfatsion's site. Another early and notable economic model is MOSES by Gunnar Eliassion, which served as a basis for various Swedisch economic policy decisions. The biggest effort so far to build a large-scale agent-based economic models is the European Crisis Economics project. Generally, literature will be provided during the course as needed. We will stick closer to classic general equilibrium models than other contemporary agent-based models, similar to like I previously did in this publication. Some fundamental thoughts on the role of computational complexity in social sciences can be found in the excellent article Why Philosophers Should Care About Computational Complexity by Scott Aaronson. A more hands-on article by myself is The Code is the Model, in which I apply the insights of agile software development to agent-based modeling.


There is no exam. Grades are based on exercises as well as a short presentation in the end. Computer scientists present the economic aspects of their findings, whereas economists will present the software engineering view.


If you want to attend this course, please fill in this form before September 21st. Seats are assigned on a first-come-first-serve basis and limited to 30 students. Do not forget to also register in the UZH module booking system before October 13th, whereas ETH students first need to register here before September 15th, choosing "Wirtschaftswissenschaftl. Fakult├Ąt" and "MA UZH Wirtschaftswissenschaften". For ETH students, credits will automatically be transferred to the ETH booking system once the semester is over.

Teams of two will be formed during the first lecture on September 22nd. The course takes place on Fridays from 14:00 to 16:00 at KOL-F-123, in the main building of University of Zurich. In case you have questions, feel free to get in touch with me by writing to .

Register Now

“What I cannot create, I do not understand.”
Richard Feynman