Here you can find some notes that will help you if you are a social scientist with an interest in agent computing and other related methods. I will be continuously posting notes that will take you through the process of developing agent computing models that are relevant to social problems. The main tool that I will use is the Python programming language. In contrast with other agent computing repositories, I am interesting in moving beyond toy models and addressing topics that have policy relevance. Because of this, my models lack of fancy visualizations, but will provide you with powerful tools to generate your own synthetic data, which you can later analyze with statistical methods. If you like or dislike my notes, please send me your comments and suggestions, I will be growing this section in order to build a library of models that can be employed for empirical analysis.
A Python Tourist Guide
There are many good tutorials that will help you to become a proficient python programmer. The problem really is: where to look? Too much information can become noise and time wasted. To avoid this, I have put together a short document that provides you with some tips and advises on where to start looking and what to learn first. I provide my advisees with these tips, and in a couple of weeks they become proficient programmers (of course, they are quite committed). You can think of this document as a tourist guide so look at it, go through the tutorials, and welcome to agent computing social science.
Notes on Labor Markets
From all economic institutions, labor markets are, perhaps, the best suited to be studied from an agent-computing perspective. They are formed by large amounts of heterogeneous individuals and organizations that interact in a decentralized fashion. Labor market dynamics give rise to empirical regularities that economists study as stylized facts, for example, the labor supply, reservation wages, and the unemployment rate. Although these regularities seem quite stable in the aggregate, they are simplifications that do not capture the rich dynamics that take place in the labor market, for example, high turnover rates, persistent firm-to-firm labor flows, and extremely heterogeneous growth rates across firms, to name a few. It is important to account for these processes because economic policy is always implemented at the level of individuals and organizations. Furthermore, we need a technology that allows us to operationalize the large demographic, behavioral, and institutional heterogeneity in a more natural way; moving away from the simplistic representation of a super rational representative agent who optimizes in world that is in equilibrium.
Through these notes, we will develop the foundations of labor dynamics through the lens of agent computing. We will do so in a systematic way, by agentizing the dominant paradigm in labor economics: the search and matching model. By carefully developing an agent computing model that reproduces the mathematical predictions of the neoclassical framework, we will learn about the potential of the former and the limits of the latter. Then, we will depart from the neoclassical framework in order to take advantage of the agent computing technology and address problems that would be hard to analyze with other technologies without resorting to oversimplifications.
I developed these notes from my own experience, so they do not speak for the entire community of agent-based modelers. Specifically, they are built from my experience in assisting Rob Axtell's course in agent-based economics at George Mason University, from my own research on labor market dynamics, and from my recent mentorship of students at the University of Oxford. These notes are aimed to anyone interested in agent-computing economics, so it is assumed that the reader possesses some basic knowledge about economics. Nevertheless, enthusiastic non-economists should be able to get the main insights and learn how to develop agent computing models in a careful and systematic way that addresses social questions in the least-possible arbitrary fashion (something for which agent-based modelers are usually blamed). The theories that I cover in these notes were selected because they are particularly well suited for this exercise.
So far, I have covered the agentization of the neoclassical search and matching model. I am currently working on notes that will look at heterogeneity and a more realistic behavioral models in order to depart from the aggregate matching function.