New ABM White Paper on SEC Market Structure Website

An application of agent-based modeling to market structure policy: the case of the U.S. Tick Size Pilot Program and market maker profitability


I demonstrate the feasibility of applying a heterogeneous agent-based model of a modern limit order market to inform U.S. equity market structure policy. The model specifically addresses matters related to the U.S. Tick Size Pilot Program as an example to demonstrate the utility of agent-based models in general. In this case, the model provides quantitative results on changes in market maker participation and profitability as well as quoted spreads when the minimum pricing increment is raised from one tick to five ticks. Perhaps more importantly, the very act of applying the agent-based model and analyzing the results generates additional insights into the nuances of the impact of tick size on small cap equity market quality. Agent-based modeling should be included in the regulatory toolbox because it can not only provide answers to specific policy-related questions but can also help policy-makers ask better questions before implementing the policy.

Why would anyone write about agent-based modeling?

Agent-based modeling offers an opportunity to experiment with and learn about how markets work without interfering with real markets. To this very day, experimenting with our financial markets means altering the actual market structure, typically via some mixture of policy and incentives designed to influence or curtail the activities of market participants. These experiments impose real costs on a variety of participants, sometimes for years. Why not try agent-based modeling before experimenting with actual markets? A variety of excuses are proffered by the people who stand to gain the most: regulators and market participants. These folks regularly claim that agent-based models are untested, difficult to implement, and too unrealistic. They are wrong about the models being untested, wrong about implementation, and wrong about the necessity for complete realism in any model. The truth is agent-based modeling is not well understood. We fear what we do not understand. And we distrust what we fear. is devoted to increasing awareness of the utility of applying agent-based modeling to financial markets. To increase awareness, skilled agent-based modelers must engage market practitioners, academics, and regulators in an open discussion of the pros and cons of agent-based models. Not only do we need to build better models, target important policy issues and publicize our results more extensively, we need to learn how to communicate effectively with each member of the tripartite audience. I say “we” because I want to invite other agent-based modelers to contribute to this site in the spirit of an open-source community of concerned practitioners. More details below. But first, let’s get some obligatory preliminaries out of the way.

Who am I?

My name is Charles Collver and I am a financial economist at the US Securities and Exchange Commission where I have spent the last five years working with financial market big data. My LinkedIn profile provides more historical details and a way to contact me (for now). While I have been noodling around with agent-based models and genetic algorithms since my grad school days, I have only recently begun focusing on applying the models to financial market policy.

What will I write about?

In the blogs to follow, I will write about:
1. Agent-based modeling for financial markets
2. Simulation
3. Python/Cython for building an API (aka a “test bed”)
4. Genetic algorithms
5. Packaging, Conda, GitHub
6. Large scale and distributed computing
7. I will write about what works as if it took a few hours that morning. I will also write about some of the things I tried and didn’t work (and took a lot more than a few hours).

What will I not write about?

I will not write about the US Securities and Exchange Commission or opine on any policy-related issues. However, if a policy issue becomes a matter of public discussion, then I might write about how to think about designing models to address the issue.

Why I write (and why you should, too)?

Or, what’s in it for me? I want to establish expertise and super-credibility, to become a better modeler and have other like-minded modelers notice. Of course, as an ex-academic, I believe you haven’t really fully understood a topic/subject/skill/dirty trick until you have taught it to others. More importantly, I want to engage with a like-minded community and build a network for myself, my colleagues and for you. We can learn from each other – which means I will get better, you will get better, and, most importantly, the models will get better.


I have a day job! At first, I will shoot for weekly posts, maybe more frequently and occasionally less. When others begin contributing, publication frequency will necessarily increase.