Adit Mehta अदित मेहता

help me learn

Algorithmic Collusion in Financial Markets

Published

I came across this topic while working on a project for my Mathematics of Market Microstructure course, and thought I’d share it in a way that helped me learn it. Most of what follows draws on a recent working paper by Dou et al., and on the older ideas it builds on.


Picture two trading algorithms, A and B. Every morning they receive the same piece of research: a share is worth £1.20 more than the market currently thinks. Both want to buy before the price catches up. The catch is that buying pushes the price up. The dealer they buy from raises the price by a penny for every block of shares the two of them buy, so the more they buy between them, the less each block earns.

Neither algorithm knows the other exists. Each one tries things, keeps score of what made money and does more of what worked. After a few months a pattern settles in: each buys 30 blocks a day. If each simply looked after itself, it would buy 40. By buying less, they keep the price lower, and each makes £18.00 a day instead of £16.00.

Then one morning A misfires and buys 40 blocks. The price jumps further than usual. The next morning B buys hard as well, and for a day they both earn less. Then both drift back to 30.

Now move the same two algorithms to a market where other traders, buying and selling for their own reasons, push the price up or down by about 20p on a typical day. Again the algorithms settle at 30 blocks. But this time, when A misfires, B does nothing; an extra 10p jump is lost in the everyday noise. So why doesn’t A just buy 40 every day? Because it has never really tried. On the few early days it bought big, the noise happened to push the price against it, it did badly, and it has steered clear of buying big ever since.

The market is a toy, but both behaviours are what Dou, Goldstein and Ji (2025) found when they let learning algorithms trade against each other in simulated markets. Two algorithms that never exchange a message end up trading as if they had agreed not to compete. Is that collusion? If it is, what kind, and how can it happen when nobody meant it to?

It helps to split this into three questions. Does holding back pay? Can a cheat be seen? And what stops each algorithm from cheating? The rest of the note takes them one at a time, starting with the arithmetic of the toy market.

Why holding back pays

Everything starts with one simple fact about trading. When the two algorithms buy QQ blocks between them, the price rises by QQ pence, so each block earns the 120p gap minus QQ pence. An algorithm that buys qq blocks earns q×(120−Q)q \times (120 - Q) pence. That’s price impact: buying moves the price against the buyer. And here’s the sting. The damage is shared, because each algorithm’s buying also moves the price against its rival.

Two stacked bars of price impact. Holding back, each algorithm buys 30 blocks and the price closes halfway to the true value, leaving 60p per block, so each earns £18.00. Trading hard, each buys 40 blocks and the price closes two-thirds of the way up, leaving 40p per block, so each earns £16.00. image/svg+xml Matplotlib v3.10.8, https://matplotlib.org/ 0 30 60 90 120 price, pence above the opening price A buys 30 B buys 30 60p left for every block price closes halfway up Both hold back 30 blocks each each earns 30 × 60p = £18.00 A buys 40 B buys 40 40p left for every block price closes two-thirds of the way up Both trade hard 40 blocks each each earns 40 × 40p = £16.00 true value
One day in the toy market, with no other traders. Each block the pair buys pushes the price up a penny, and each block earns whatever gap is left between the true value and the closing price. Holding back, the price closes halfway up and each algorithm earns £18.00; trading hard, it closes two-thirds of the way up and each earns £16.00.

To see what that does, give each algorithm two choices: hold back and buy 30 blocks, or trade hard and buy 40. There are four possible days.

B holds back (30 blocks)B trades hard (40 blocks)
A holds back (30 blocks)£18.00 eachA £15.00, B £20.00
A trades hard (40 blocks)A £20.00, B £15.00£16.00 each

Read the table as if you were A. If B holds back, you earn more by trading hard: £20.00 rather than £18.00. If B trades hard, you still earn more by trading hard: £16.00 rather than £15.00. Whatever B does, trading hard pays you better, and B is in the same position.

So two algorithms that each look out only for themselves end up in the bottom-right corner at £16.00 each, even though both would rather be in the top-left corner at £18.00 each. This is the prisoner’s dilemma, and the bottom-right corner is what economists call the Nash equilibrium: the outcome where each side’s choice is its best response to the other’s.

Primer Best responses and Nash equilibrium

A best response is simply the best you can do given what the other side is doing. In the toy market, if B buys q′q' blocks, A earns q×(120−q−q′)q \times (120 - q - q') pence, which is largest when q=(120−q′)/2q = (120 - q')/2. In words: buy half of whatever gap B’s buying leaves. A Nash equilibrium is a pair of choices where each is a best response to the other, so neither wants to change on its own. Here that happens when both buy 40 blocks, because (120−40)/2=40(120 - 40)/2 = 40.

Holding back at 30 each is what maximises the pair’s combined profit, Q×(120−Q)Q \times (120 - Q), which peaks at Q=60Q = 60. But it isn’t a Nash equilibrium. Against a partner buying 30, the best response is 45 blocks, which earns £20.25 and leaves the partner with £13.50.

Collusion, in this market, means getting to the top-left corner and staying there; a group of competitors that manages it is a cartel. An auction makes the problem easy to picture. Imagine two collectors who both know that the painting on the block is a masterpiece. Every bid either of them makes raises the price for both. If they bid against each other, the seller walks away with the bargain; if they hold back, they keep it. And yet each is tempted to slip in one more bid. Restraint is good for the pair, and each of them would still rather the other one did the restraining.

The pair’s extra profit has to come from somewhere, and it comes from whoever is on the other side of their trades, selling to them too cheaply. In a financial market there’s a second cost too. A price is useful because it carries information: it tells everyone else roughly what the share is worth. When the two algorithms compete, they push the price two-thirds of the way from where it started towards the true value. When they hold back, they push it only halfway, and the price becomes a worse signal.

Primer What it means for a price to carry information

A price carries information when it moves with the thing it’s meant to reflect. When informed traders trade on what they know, they push prices towards true values, and that passes their information on to everyone else, from investors deciding what to buy to firms deciding whether to raise money. One way economists measure how informative a price is: how much uncertainty about the value is left once you’ve seen it. A price that moves only halfway towards the truth leaves more of that uncertainty in place.

The theory The same arithmetic with any number of traders

Write each algorithm’s order as χ\chi times the gap, where χ\chi is its trading intensity, and let λ\lambda be the price impact (1p per block in the toy). With II algorithms sharing the same signal,

χN=1(I+1) λ,χM=12I λ.\chi^{N} = \frac{1}{(I+1)\,\lambda}, \qquad\qquad \chi^{M} = \frac{1}{2I\,\lambda}.

χN\chi^N is each algorithm’s intensity in the Nash equilibrium and χM\chi^M its share of the cartel’s. In the toy, I=2I = 2 and λ\lambda is 1p per block, which gives 40 and 30 blocks on a 120p gap. The denominators carry the economics: a competitor counts only the damage its extra block does to its own order, while a cartel counts the damage to every member’s.

Three things follow. A cartel of any size trades exactly like a single monopolist, because its members split one monopolist’s order between them. More competitors compete more of the prize away, so the reward for colluding grows with their number: each cartel member earns (I+1)2/(4I)(I+1)^2/(4I) times its competitive profit, which is 1.125 with two traders, 1.8 with five and about 3 with ten. And under competition the price always moves the fraction I/(I+1)I/(I+1) of the way to the truth, against one-half in a cartel. The catch, as George Stigler (1964) argued, is that a bigger group is harder to police.

How people hold back: explicit and tacit collusion

Staying in that top-left corner needs something that stops each side from cheating. People have found two ways of doing it.

Explicit collusion: an agreement. The simplest way is to talk. Competitors agree on what each will do and check up on each other. A vivid example from finance is the foreign-exchange case of 2015, when four large banks agreed to plead guilty and pay more than 2.5 billion dollars in US criminal fines. Their traders, who called themselves “The Cartel” in a private chat room, had been coordinating their trading in euros and dollars (US Department of Justice 2015). Talking is what makes collusion explicit, and it’s also what makes it prosecutable, because the messages are the evidence.

Algorithms can be part of this kind of scheme too, either as tools that carry out an agreement people have made or as a shared hub. In the RealPage litigation over rental housing, the US Justice Department alleged that landlords fed confidential data into a common pricing algorithm. RealPage settled without admitting wrongdoing, and in 2026 a federal judge approved a settlement that bars the software from using that kind of data to recommend rents.

Tacit collusion: an understanding. Competitors can also hold back without saying a word, as long as each expects cheating to be noticed and answered. Suppose A knows that if it trades hard today, B will see it and trade hard for the next few days, wiping out more profit than A gained. Then A holds back, and B does the same for the same reason. Nobody has agreed anything; each understands how the other would respond. For that understanding to hold, three things must be true:

  • cheating has to be visible;
  • the response has to be credible;
  • the future has to matter enough that tomorrow’s losses outweigh today’s gain.

A plan of holding back until you see a cheat, then trading hard for a while, is called a trigger strategy.

Primer Repeated games and why the future matters

A repeated game is the same interaction played again and again by the same players, like the toy market’s daily trading. Repetition changes the incentives, because what you do today can change how you’re treated tomorrow. How much tomorrow matters is captured by a discount factor, a number between 0 and 1 that says what a pound of profit tomorrow is worth today. At 0.95, the value used in the simulations this note draws on, tomorrow’s profit counts for 95 per cent of today’s.

The toy market shows how a trigger strategy works when cheating is always seen. A cheat gains at most £2.25 today (£20.25 instead of £18.00). Each day on which both trade hard costs each algorithm £2.00 compared with holding back (£16.00 instead of £18.00). Discounted at 0.95, one day of retaliation costs the cheater £1.90, which isn’t enough to put it off. Two days cost just over £3.70, which is. So a credible threat of two days of hard trading is enough to keep both algorithms in the top-left corner.

Tacit collusion is hard to prove, because it can look like careful competition. The classic suspected case is Nasdaq in the early 1990s. Share prices were still quoted in fractions of a dollar then (Nasdaq moved to decimals in 2001), and two finance professors, William Christie and Paul Schultz, noticed something odd. Dealers in many of the most active Nasdaq stocks almost never quoted odd eighths (prices ending in 1/8, 3/8, 5/8 or 7/8 of a dollar). That kept the bid–ask spread, the gap between the prices at which a dealer will buy and sell, at a quarter of a dollar or more. They called it implicit collusion (Christie and Schultz 1994). Within days of their findings reaching the press, dealers in several leading stocks started quoting odd eighths (Christie, Harris and Schultz 1994).

The evidence How thin the line between tacit and explicit can be

A class action against the Nasdaq dealers settled in 1997 for 1.027 billion dollars without any admission of wrongdoing, and the Justice Department’s investigation suggested that the dealers’ conduct had in fact been coordinated. So what looked tacit may have been partly explicit. The distinction rests on evidence of communication, and the same market outcome can come from either.

The theory The folk theorem

Fudenberg and Maskin (1986) showed that in repeated games with sufficiently patient players who can see each other’s actions, almost any outcome that gives each player more than it could guarantee itself can be held in place by threats like the trigger strategy above. Collusion is one such outcome, but so are many others. The theorem explains how collusion can be stable; it doesn’t predict that collusion will happen.

The law treats these two kinds very differently. Competition law (antitrust law, in the United States) prohibits agreements, and in the European Union also concerted practices, which involve some direct or indirect contact between competitors. It doesn’t stop firms from adapting intelligently to what their rivals do, so tacit collusion on its own is generally not illegal. That gap existed long before algorithms came along.

Both of these human routes depend on minds. In explicit collusion people agree, and in tacit collusion each one reasons about what the other will do. Learning algorithms do neither, and yet in the opening story they reach the top-left corner anyway. To see how, we first need a closer look at one of tacit collusion’s three conditions, visibility, because that’s where financial markets differ most from ordinary ones.

Seeing a cheat through the price

In a lot of ordinary markets, spotting a cheat is easy. A petrol station can read its rival’s prices off the sign across the road, so a price cut is noticed the moment it happens. Dealers posting quotes on a screen, like those Nasdaq dealers, are in a similar position, because each can see the others’ quotes. Informed traders sending orders are not, because financial markets hide their cheating in two ways.

The first is anonymity. A can’t see what B traded, only the market price, which reflects everyone’s orders at once.

The second is noise. Plenty of people buy and sell for reasons that have nothing to do with the information A and B share: someone needs cash, say, or a pension fund rebalances. Their orders push the price around at random. Economists call them noise traders.

So the only window A has on B is a price that also moves for innocent reasons. Whether that window is clear or fogged comes down to one comparison: how far a cheat moves the price, against how far noise usually moves it.

In the toy market, an algorithm that buys 40 blocks instead of 30 moves the price by 10p. If noise moves the price by 1p on a typical day, the cheat stands out ten times over and is caught straight away. If noise moves it by 20p, the cheat is half the size of an ordinary day’s noise, and on any single day you can’t see it. That’s the whole difference between the two markets in the opening story.

Real financial markets add a twist that ordinary ones don’t have. In the toy, the dealer raises the price by a fixed penny per block. A real dealer, called a market maker, isn’t so passive. It knows that some of the orders it fills come from people who know more than it does, so it protects itself by working out how informative the order flow is and setting its price impact to match.

Primer What a market maker does

A market maker stands ready to buy from anyone who wants to sell and to sell to anyone who wants to buy, earning a small margin on each trade. Its danger is trading with someone who knows more. If heavy buying comes from an informed trader, the market maker sells at a price that later turns out to be too low. So it raises its price when buying is heavy, by an amount that depends on how likely heavy buying is to be informed. That amount per unit of net buying is the market’s price impact. The market maker learns it from experience: if past order flow has predicted the asset’s value strongly, it moves the price more.

The informed traders adapt in turn. When there’s more noise to hide behind, the market maker can afford a smaller price impact, and the informed trade more. Albert Kyle (1985), whose model of informed trading is the workhorse of the field, called this camouflage: noise trading hides informed orders from the market maker. In his model, doubling the noise doubles the informed trader’s orders and leaves prices exactly as they were.

Primer Kyle’s model in one paragraph

In Kyle’s (1985) model, an informed trader knows an asset’s value, noise traders submit random orders, and a market maker sees only their total and sets the price at its best estimate of the value given that total. The informed trader chooses how much to trade, knowing that its orders move the price. In equilibrium it trades in proportion to how far the value is from its average, scaled up by the amount of noise, and the market maker’s price impact shrinks as the noise grows. Only half of what the informed trader knows ends up in the price. Without noise there would be no cover, and no informed trading at all.

Camouflage has a consequence for collusion that’s easy to miss, and it’s the heart of why financial markets are different. The cover that hides informed traders from the market maker also hides them from each other. Because they scale their trading to the noise, the noise never gets small compared with their trades. In Kyle’s market with two informed traders, a cheat moves the price by about a fifth of a typical noise move, and it stays about a fifth however much or little noise there is. The window can never be cleared. Dou, Goldstein and Ji prove that in this setting, collusion enforced through the price can’t be sustained at any level of noise.

The market maker’s learning has a second effect. When informed traders hold back, each unit of their order flow becomes more revealing, so the market maker raises its price impact, and that eats into the gain from holding back. In Kyle’s market the prize for holding back shrinks to about 6 per cent, against 12.5 per cent in the toy market, where the impact is fixed (£18.00 against £16.00).

The theory Why the fog never clears

Measure the fog as the ratio of how far a typical noise order moves the price to how far the value typically moves:

ν=λ σuσv.\nu = \frac{\lambda\,\sigma_u}{\sigma_v}.

Here λ\lambda is the price impact, σu\sigma_u the typical size of noise orders and σv\sigma_v the typical size of the news, the gap between the value and its average. A cheat who switches from the cartel’s trading intensity χM\chi^M to the competitive one χN\chi^N moves the price, on a typical signal, by λ(χN−χM)σv\lambda(\chi^N - \chi^M)\sigma_v, a modest fraction of the news: between about 0.08 and 0.10 in the markets considered here. Its footprint in multiples of a typical noise move is that fraction divided by ν\nu, which is exactly (χN−χM)σv/σu(\chi^N - \chi^M)\sigma_v/\sigma_u.

In Kyle’s market the market maker’s price impact is proportional to σv/σu\sigma_v/\sigma_u, so ν\nu doesn’t depend on the amount of noise at all. With two informed traders it is about 0.47 under competition and 0.5 in a cartel, and the footprint is stuck at about 0.21. Dou, Goldstein and Ji’s Proposition 3.1 establishes that price-trigger collusion can’t be sustained in this limit, and their proof works with exactly this noise-scaled measure of trading intensity. The fog ratio is my way of organising the comparison, not the paper’s.

The theory Two markets, two temptations
Profit relative to competition against the agreed trading intensity. In both Kyle's market and a market with fixed price impact, cheating on a partner who holds back earns more than holding back, which earns more than competition. image/svg+xml Matplotlib v3.10.8, https://matplotlib.org/ 1.0 1.2 1.4 1.6 profit (1 = competition) cartel: 1.061 cheat on a partner who holds back: 1.193 competition both hold back Kyle's market 0.5 0.6 0.7 0.8 0.9 1.0 1.1 agreed trading intensity (1 = competitive intensity) 1.0 1.2 1.4 1.6 profit (1 = competition) cartel: 1.125 cheat on a partner who holds back: 1.266 competition both hold back Fixed price impact, as in the toy market
Profit per trader against the agreed trading intensity, both relative to competition (u=χ/χNu = \chi/\chi^N), for two informed traders. Brown, solid: both hold back. Blue, dashed: one cheats on a partner who holds back. Kyle’s market: 3u/(2u2+1)3u/(2u^2+1), peaking at 1.061 at u=1/2u = 1/\sqrt{2}, where cheating pays 3(u2+1)2/(4u(2u2+1))=1.1933(u^2+1)^2/\big(4u(2u^2+1)\big) = 1.193. Fixed price impact: 3u−2u23u - 2u^2, peaking at 1.125 at u=3/4u = 3/4, where cheating pays (3−u)2/4=1.266(3-u)^2/4 = 1.266.

In both markets, cheating on a partner who holds back beats holding back by more than holding back beats competing. In Kyle’s market the market maker prices for whatever intensity the pair settles on, but within a single day it can’t see a deviation, which is what makes the cheat pay.

So when can the window clear? Only when something pins the price impact down, so that informed traders can’t hide by trading more. Dou, Goldstein and Ji’s candidate is a group of investors who trade on price alone: they buy when the price looks low and sell when it looks high, without trying to read anything into it. The authors call them information-insensitive investors, and their examples are retail traders who follow technical rules and institutions that buy contracts close to expiry as hedges. I’ll call them price-only investors.

Because they absorb order flow at a steady rate, they fix the price impact, much as the toy market’s dealer does. The price then reflects the informed traders’ orders faithfully, and whether a cheat can be seen depends only on how much noise there is. With plenty of price-only investors and little noise, a cheat in the authors’ main setting moves the price by more than 400 times a typical noise move, and the price becomes something like a security camera. Turn the noise up, and the same cheat moves the price by less than half a typical noise move.

Two panels. In Kyle's market the price distributions with and without a cheat overlap almost completely. In a market with plenty of price-only investors and little noise, the two outcomes are thin lines 0.17 apart and easy to tell apart. image/svg+xml Matplotlib v3.10.8, https://matplotlib.org/ both hold back one cheats the cheat shifts the price by 0.21; noise spreads it by about ±1 Kyle's market, at any level of noise −2 −1 0 1 2 3 4 where the price lands after a typical signal (1 = the move the cartel causes) both hold back one cheats the cheat shifts the price by 0.17; noise of about ±0.0004 is too narrow to draw Plenty of price-only investors, little noise
Same cheat, different fog: where the price lands after a typical signal, with 1 the move the cartel causes. Brown: both traders hold back. Blue, dashed: one cheats. In Kyle’s market the two outcomes overlap almost entirely, at every level of noise. With plenty of price-only investors and little noise they are so sharp that they are drawn as lines, and the cheat is plain to see.
The model The market maker’s pricing rule

The market maker chooses the price to minimise the expected sum of an inventory cost and a weighted pricing error,

E[(y+z)2+θ (p−v)2 ∣ y],\mathbb{E}\big[(y+z)^2 + \theta\,(p-v)^2 \,\big|\, y\big],

where yy is the total order flow from informed and noise traders, z=−ξ(p−vˉ)z = -\xi(p - \bar v) is the price-only investors’ demand (a demand curve borrowed from Kyle and Xiong 2001), vˉ\bar v is the average value and θ\theta is the weight on pricing errors. With a linear best guess of the value, E[v∣y]=vˉ+γy\mathbb{E}[v \mid y] = \bar v + \gamma y, the solution is p=vˉ+λyp = \bar v + \lambda y with

λ=θγ+ξθ+ξ2.\lambda = \frac{\theta\gamma + \xi}{\theta + \xi^{2}}.

With no price-only investors (ξ=0\xi = 0) this collapses to λ=γ\lambda = \gamma: Kyle’s market, in which the price is the market maker’s best estimate of the value. As ξ\xi grows, λ\lambda approaches 1/ξ1/\xi, and the price moves just enough for the price-only investors to absorb the order flow, whatever the flow reveals.

The theory Policing through a fogged window

Green and Porter (1984) asked how a cartel can survive when its members see only a market price that also moves for random reasons. Their answer is a trigger: whenever the price crosses a threshold, everyone competes hard for a while, whatever the cause. Price wars then break out even when nobody has cheated, because bad luck sometimes trips the trigger, and those occasional wars are the cost of keeping everyone honest. Porter (1983) found prices in a nineteenth-century American railroad cartel switching between collusive and competitive regimes in a way consistent with this logic, although later work struggled to identify what set off each war (Ellison 1994). In the toy market’s noisy version, a trigger would have to spot a 10p cheat inside 20p of noise, so it would either fire constantly by mistake or almost never catch a real cheat.

Speed doesn’t obviously help. Sannikov and Skrzypacz (2007) show that when players can change their actions very frequently and the noise behaves like Brownian motion, collusion sustained by imperfect monitoring can break down altogether. A related result in the same paper, that a one-sided threshold test is the best way to deter one-period deviations, is why Dou, Goldstein and Ji can restrict attention to triggers of this kind.

How a trading algorithm learns

Now let’s swap the traders for algorithms. The algorithms in Dou, Goldstein and Ji’s experiments, like A and B in the opening story, use reinforcement learning, which means they learn by trial and error from rewards. They have no model of the market and no idea that a rival exists.

You can think of each algorithm as keeping a scorebook. Every page describes a situation it can find itself in, using what it can see: yesterday’s price, yesterday’s true value (which is revealed once yesterday’s trading has closed) and today’s signal. On each page there’s a score for every order size it could place. A score is the algorithm’s running estimate of how much that order is worth, and it counts not only today’s profit but also the value of the situation the order leads to tomorrow. That last part matters. Today’s order moves today’s price, and today’s price is written on tomorrow’s page.

After each trade, the algorithm nudges the score it just used towards what happened: the profit it made, plus a slightly discounted version of the best score on the page it has landed on. Most of the time it places the order with the highest score. Every so often, and less and less often as time goes on, it tries an order at random, which is the only way it can find out about orders that currently look poor. It’s a lot like choosing where to eat. Go back to your favourite and you know what you’ll get; try somewhere new and you might find something better, or you might waste an evening. James March (1991) called this tension exploitation versus exploration.

Primer The Q-learning update

The algorithms are Q-learners (Watkins and Dayan 1992), and the scorebook is their Q-table. After each trade, the score for the page ss and order xx just used is updated as

Q^(s,x)←(1−α) Q^(s,x)+α[π+ρ max⁡x′Q^(s′,x′)].\hat{Q}(s,x) \leftarrow (1-\alpha)\,\hat{Q}(s,x) + \alpha\Big[\pi + \rho\,\max_{x'}\hat{Q}(s',x')\Big].

Here π\pi is the profit just earned and s′s' is the page the algorithm lands on. α\alpha is the learning rate, the weight given to the newest experience (Dou, Goldstein and Ji call it the forgetting rate). ρ\rho is the discount factor, and the max⁡\max reflects the algorithm’s assumption that it will choose its best order next time. With α=0.1\alpha = 0.1 and ρ=0.95\rho = 0.95, an order scored at 10 that earns a profit of 2 and lands on a page whose best score is 10 is updated to 0.9×10+0.1×(2+0.95×10)=10.150.9 \times 10 + 0.1 \times (2 + 0.95 \times 10) = 10.15.

The algorithm explores with a probability that shrinks over time and otherwise picks its best-scoring order. Q-learning’s convergence guarantees assume a learning rate that decays to zero and endless exploration of every page and order. Practical systems, including the ones in these experiments, use a constant learning rate (Dou, Goldstein and Ji use 0.01) and exploration that fades away.

The model Inside Dou, Goldstein and Ji’s laboratory

Dou, Goldstein and Ji’s market is Kyle’s, extended with several informed traders, trading repeated period after period, and price-only investors. Two Q-learning algorithms play the informed traders. The market maker learns its pricing rule by regression on the most recent 10,000 periods, and the results survive when it is a Q-learner too. Values, prices and orders sit on grids of 10, 31 and 15 points, the discount factor is 0.95 and the learning rate 0.01. For each market setting the authors run 1,000 independent sessions and wait until every algorithm’s choices have stopped changing for a million consecutive periods, which takes between about 20 million and 50 billion periods. Their main settings have plenty of price-only investors (ξ=500\xi = 500), with either little noise (σu=0.1\sigma_u = 0.1) or a lot (σu=100\sigma_u = 100), against a typical news size of σv=1\sigma_v = 1. They measure collusion by

ΔC=πC−πNπM−πN,\Delta^{C} = \frac{\pi^{C} - \pi^{N}}{\pi^{M} - \pi^{N}},

where πC\pi^C is the algorithms’ average profit and πN\pi^N and πM\pi^M are the competitive and cartel profits, so that 0 means competition and 1 the perfect cartel.

The first route: a learned reflex

Put two of these algorithms in a market with a clear window: plenty of price-only investors and little noise. What they learn there looks remarkably like tacit collusion, except that neither algorithm understands any of it.

Early on, while they’re experimenting a lot, trading hard looks attractive, because it pays well against an opponent that’s mostly acting at random. As the experimenting fades and they trade hard against each other, those scores sink towards the thin profits of competition. Meanwhile the occasional experiment turns up something about calm days, when yesterday’s price moved only moderately: on those pages, holding back scores better.

The reason is one the algorithms never see. The score for trading hard on a calm day includes the value of tomorrow’s page, and trading hard turns tomorrow’s page into one with a price jump. On those pages both algorithms have learned to trade hard, because after a jump that’s what pays. So cheating today lands the cheater in a price war tomorrow, and the war is already priced into the score for cheating.

Once holding back wins on calm pages, it keeps the market calm, which keeps both algorithms on calm pages. When something does jolt the price, both trade hard for a day or two and then drift back. That’s the punishment in the opening story, learned rather than reasoned.

It has the shape of tacit collusion, a reward for restraint and a penalty for apparent cheating, but nobody is holding the threat in mind. It’s just a pattern in two scorebooks. Dou, Goldstein and Ji call this route collusion through “artificial intelligence”. In their main low-noise setting it lifts the algorithms’ profits about 10 per cent above competition, three-quarters of the way to a perfect cartel.

The reflex needs that clear window. If noise swamps the price, a cheat no longer reliably produces a jump, so the penalty stops landing where it should and the reflex can’t form. And if you take yesterday’s price off the algorithms’ pages altogether, it can’t form at all; in the authors’ experiments, collusion then disappears.

The evidence How close is the reflex to rational play?

For the low-noise market, Dou, Goldstein and Ji compute how much each algorithm gives up by not playing its best response to the other’s learned strategy: on average, about 0.27 per cent of the long-run profit available to it. So the punishment is real but imperfect, since a slightly more aggressive algorithm would gain more today than it would lose to punishment later. Giving the algorithms a longer memory of past prices and values makes the reflex stronger, not weaker.

The second route: a learned blind spot

Now move the algorithms to a fogged market with heavy noise. No reflex can form here. And yet Dou, Goldstein and Ji find that the algorithms still trade less than competition would, and still earn more. The explanation is a quirk built into learning from experience.

Suppose an algorithm places a big order on a day when noise traders happen to be buying too. The price is pushed up against it, and it does badly. Its score for big orders on that page drops, so it stops placing them, and because it no longer places them, the score never gets a chance to recover.

Now suppose a big order gets lucky instead and earns a windfall. Its score jumps, the algorithm keeps using it, and with repeated use the score soon falls back to what big orders really earn.

So the pessimistic mistakes stick and the optimistic ones get corrected. Big orders suffer most, because a bigger order takes a bigger hit from the same noise.

The result is that each algorithm learns to under-rate trading hard. Neither one is enforcing anything. Each is simply wrong about what trading hard would earn, and wrong in a direction that happens to suit them both. Because they both make the same mistake, they both trade less than competition would.

Mark Twain described this trap in 1897: a cat that sits on a hot stove-lid will never sit on a hot one again, “but also she will never sit down on a cold one anymore”. Jerker Denrell and James March (2001) gave it a name, the hot stove effect: learning that repeats what has worked is biased against options that look worse early on than they really are, especially risky ones. Dou, Goldstein and Ji’s over-pruning bias is, in essence, the hot stove effect at work inside a market, and they call this route collusion through “artificial stupidity”.

Top: one learner's score for deviating dips below its score for holding back several times and finally freezes at a low value, although deviating really pays more. Bottom: the share of learners that end up holding back is zero when the fog is thin and rises towards nearly all of them as the fog thickens. image/svg+xml Matplotlib v3.10.8, https://matplotlib.org/ 0 5 10 15 20 25 30 35 40 trades, thousands 0.8 1.0 1.2 1.4 1.6 score (1 = competitive profit) deviating really earns 1.27 score for holding back score for deviating Each time the score for deviating dips below holding back, the learner stops deviating and the score freezes. After one deep enough dip, it is never tried again. One learner in a foggy market (fog 0.2) 0.0001 0.001 0.01 0.1 1 fog in the price (log scale) 0% 25% 50% 75% 100% learners that end up holding back little noise heavy noise Kyle's market How often the deviation gets written off learning rate 0.05 learning rate 0.01
The hot stove in the trading model. A learning algorithm faces a rival that holds back, and chooses between holding back too and deviating, which pays more on average but swings more with the noise. Top: one learner’s two scores. Each time the score for deviating dips below holding back, the learner stops deviating and that score freezes, and after one deep enough dip it is never tried again. Bottom: out of 2,000 learners at each level of fog, the share that end up holding back. A stylised illustration, not a reproduction of Dou, Goldstein and Ji’s simulations.

Notice how the two routes fit together. The fog that stops the reflex from forming is the same fog that feeds the blind spot: noise makes a cheat invisible, and it’s also what makes big orders look worse than they are. That’s why the blind spot matters most in the very markets where the reflex can’t work, including Kyle’s market, where camouflage keeps the window fogged at every noise level. There, Dou, Goldstein and Ji find the blind spot lifting profits about 5 per cent above competition, whatever the amount of noise.

So is this collusion? It has the outcome of collusion: both algorithms earn more than competition would give them, and either could gain in the short run by trading harder. That’s Dou, Goldstein and Ji’s definition. What it lacks is the thing economists have traditionally insisted on, a scheme of reward and punishment that holds the outcome in place. By that stricter standard, used by Emilio Calvano and his coauthors (2020) following Harrington (2018), the blind spot isn’t collusion at all, and Dou, Goldstein and Ji acknowledge as much. It does the same damage to the market either way.

The theory Why the blind spot looks like risk aversion

The bias makes an algorithm behave as if it were risk-averse, even though it’s built to maximise expected profit. Learning theory shows this can happen even under an optimal learning policy: a decision-maker can come to prefer a sure thing to a risky option with the same average payoff (Denrell 2007). That links the blind spot to the classic analysis of risk-averse informed traders, who trade less aggressively on their information than risk-neutral ones (Subrahmanyam 1991), and Dou, Goldstein and Ji model the bias in this spirit, as an imagined penalty for exposure to noise.

Game theory has a name for where the algorithms end up. In an experience-based equilibrium (Fershtman and Pakes 2012), a close relative of the self-confirming equilibrium (Fudenberg and Levine 1993), each player’s beliefs are right about the actions it actually takes and can be wrong about the ones it never tries. That describes the blind spot: accurate scores for the restrained orders the algorithms keep placing, wrong scores for the big orders they abandoned. Dou, Goldstein and Ji test their simulated outcomes and find that they meet the conditions of an experience-based equilibrium. Earlier drafts of their paper described the mechanism as a “homogenized” or “self-confirming” learning bias.

Telling them apart

From the outside, an agreement, an understanding, a learned reflex and a learned blind spot can all produce the same numbers: less trading, and more profit than competition would give. So how would you tell them apart? It helps to put a few questions to the evidence in turn.

Was there communication? Explicit collusion leaves traces: messages, meetings, a shared plan, pooled data. None of the others do.

Is there enforcement? Tacit collusion and the learned reflex both depend on responding to apparent cheating, so you can expose them by poking the market and watching what happens. Dou, Goldstein and Ji’s test works like a doctor’s reflex test, a tap on the knee to see whether the leg kicks. They take algorithms that have finished learning, add an unexpected burst of noise trading on one day so that the price jumps, and watch the next day. Algorithms with a learned reflex respond the way they learned to respond to cheating: they trade hard, and their own profits fall. Algorithms with a blind spot just carry on.

Schematic. After a burst of noise trading on day 3, algorithms with a learned reflex trade hard on day 4 and then return to normal, while algorithms with a blind spot do not react. The reflex ignores tiny bursts and responds equally to larger ones. image/svg+xml Matplotlib v3.10.8, https://matplotlib.org/ 1 2 3 4 5 6 7 8 day normal hard burst of noise trading: the price jumps learned reflex: trades hard the next day learned blind spot: no change schematic How hard the algorithms trade, day by day tiny (0.25%) medium (2.5%) large (11.5%) very large (15%) size of the burst, as a share of a typical order none hard trading threshold somewhere here learned reflex learned blind spot schematic Day-4 response, by size of the burst
The two fingerprints, drawn schematically. Top: after a burst of noise trading on day 3, algorithms with a learned reflex trade hard on day 4 and then settle; algorithms with a blind spot carry on as before. Bottom: the reflex ignores a tiny burst and responds about equally to every larger one, at the four sizes Dou, Goldstein and Ji test.

The shape of the response tells you something too. In the low-noise market, a tiny burst, about a quarter of a per cent of a typical order, produces no reaction on average. Bursts of about 2.5 to 15 per cent all produce roughly the same spell of hard trading, with a weaker echo a day later. A response that switches on above a threshold, rather than growing with the size of the shock, is how a trigger behaves. Forcing one algorithm to trade hard for a single day gives the same verdict. In the low-noise market both algorithms trade hard the next day; in the noisy market the other algorithm ignores the deviation, even though it cost it money.

A few other levers separate the two routes. Take yesterday’s price away from the algorithms and the reflex dies; the blind spot never relied on it in the first place. Add noise and the reflex weakens while the blind spot grows stronger. Make the algorithms more patient and the reflex strengthens while the blind spot hardly changes.

The evidence The same test in ordinary markets

Emilio Calvano and his coauthors (2020) ran the same kind of experiment with pricing algorithms competing to sell a product. The algorithms were never told about each other and never communicated, yet they learned to charge prices well above the competitive level, capturing roughly 70 to 90 per cent of the extra profit that full collusion would bring, depending on how they were tuned. When one was forced to cut its price, the other retaliated, and prices then drifted back up: the fingerprint of a learned reflex. Ordinary markets make the reflex easy, because rivals’ prices are visible. The collusion was also specific to the pair. Matched with a new rival, an algorithm’s profit gain fell from 85 per cent to about 20 per cent, although the new pair relearned to collude in less than a tenth of the original time.

Is there understanding? This is the one question no experiment can settle. A person colluding tacitly holds back because they expect retaliation. An algorithm with a learned reflex holds back because its scores tell it to; the expectation is encoded rather than held. The behaviour can be identical, and the whole difference lies in what produced it.

Why the hard questions are hard

Put all of this together and you can see why algorithmic collusion is so awkward for economists, regulators and courts. Four questions do most of the damage.

Causality. High profits on their own prove nothing. A market with few informed traders and plenty of price-only investors can be very profitable for the informed even when they compete. To say that algorithms caused something, you need to know what competition would have produced, and in a financial market that benchmark is never observed; it has to come from a model. Field studies get at causality by comparing like with like. When algorithmic pricing software spread through Germany’s retail petrol market from 2017, margins rose only for stations that faced competitors. In markets with two or three stations, they rose only when every station had adopted it (Assad et al. 2024). Comparisons like that are much harder in financial markets, where there’s no sign across the road to read.

Detectability. The behaviour lives inside the algorithms’ scorebooks, while a regulator sees only trades and prices. A learned reflex leaves a fingerprint, but only for someone who can observe the shocks that set it off and the reactions that follow. A blind spot leaves almost nothing, since it’s made of trades that were never placed, and it thrives in noisy markets, where every statistical test is at its weakest.

Intent. The law looks for some meeting of minds, or at least knowing coordination, and emergent collusion has no mind to meet. The people who deploy the algorithms may never have intended the outcome, or even foreseen it. Since tacit collusion between people is already largely lawful, the real question is whether outcomes nobody intended deserve different treatment when machines produce them. Whether deploying an algorithm that predictably learns to collude should itself carry liability is still being debated (Harrington 2018).

Remedies. The obvious fixes pull against each other. Limiting what trading algorithms can remember would starve the reflex of the price history it needs. But Dou, Goldstein and Ji warn that such limits can deepen the blind spot, by distorting learning further and pruning away the aggressive strategies that make markets efficient. Hub cases are simpler, because the remedy is to break up the hub, as in the RealPage settlement. Emergent collusion has no hub to break.

In practice What regulators are saying

In 2025 the Bank of England’s Financial Policy Committee warned that trading models might learn that market stress creates opportunities for profit and act to make stress more likely (Bank of England 2025). In April 2026 the Bank said it was working with international counterparts to understand how AI agents might affect trading, and in March 2026 the risk of AI-enabled collusion in over-the-counter trading, where dealers and clients trade directly rather than on an exchange, was on the agenda of the European Central Bank’s Foreign Exchange Contact Group (ECB Foreign Exchange Contact Group 2026). I’m not aware of any public enforcement case in which learning algorithms were found to have colluded in a financial market.

The debate Does a blind spot count as collusion?

The question is as old as the experiments. Waltman and Kaymak (2008) found that Q-learners competing on quantities produced less than in the competitive equilibrium, and even less when they had no memory with which to punish. Calvano and his coauthors took that as a warning: high prices without reward and punishment might be a failure to learn rather than collusion. A related line of work in computer science asks whether threats are needed at all. Arunachaleswaran and coauthors (2025) show that monopoly-like prices can arise when one seller runs a standard no-regret learning algorithm, one guaranteed to do about as well over time as its best fixed price in hindsight, and the other optimises against it, with no threats anywhere. Hartline (2026) replies that this isn’t collusion, because one seller is simply behaving non-competitively while the other responds, and collusion requires both to be complicit. The disagreement is partly about words, but the law has to decide which outcomes to prohibit.

The whole picture

If you keep only one page of this note, keep this one. Everything above comes down to three questions and the ways they can be answered.

Does holding back pay? Wherever informed traders share a signal and their trades move the price, yes. Each trade moves the price against all of them, so the group earns more by trading less, and each member earns more still by cheating.

Can a cheat be seen? In a financial market, only through the price. Whether the price gives a cheat away depends on the noise around it, and in the classic market for informed trading the informed traders keep the noise high themselves, because it’s their cover. Only when something else pins down the price impact, and noise is low, does the price start to work like a camera.

What stops each from cheating? There are five possible answers, and the differences between them are the ones that matter.

KindCommunicationUnderstood by anyone?What holds restraint in placeWhere it can work in finance
Explicit collusionYesYesAn agreement, checked by the partiesWherever the parties can talk
Collusion through a hubIndirect, through a common algorithm or pooled dataNot necessarilyThe shared algorithm’s choicesWherever firms share a provider or data
Tacit collusionNoYes: each expects retaliationA credible response to visible cheatingOnly where cheating can be seen, in posted quotes or through the price
Learned reflexNoNoA learned response to price jumpsOnly where cheating can be seen through the price
Learned blind spotNoNoNothing: each under-rates trading hardWhere noise hides cheating, including Kyle’s market
Schematic U-shaped curve of collusion against fog: strong where the fog is thin, held by a learned reflex; weakest in between; strong again where the fog is thick, through the learned blind spot. Kyle's market sits on the thick side. image/svg+xml Matplotlib v3.10.8, https://matplotlib.org/ little strong collusion a learned reflex holds restraint in place the learned blind spot takes over collusion weakest price-only investors, little noise price-only investors, heavy noise Kyle's market, any noise fog in the price: thinner to thicker (schematic)
The map, drawn schematically for a market with plenty of price-only investors. Where the fog is thin, a learned reflex holds restraint in place; where it is thick, the blind spot takes over, and collusion is weakest in between. Kyle’s market sits on the thick side. The shape follows the pattern Dou, Goldstein and Ji report; the curve is not their data.

Whichever route the algorithms take, the costs look the same. Trading becomes more expensive, prices carry less information and mispricing grows, and the extra profit is paid by whoever is trading without information. That’s the whole model. The specialist literature fills in each piece of it, from how price impact is set to how a learning rule’s biases can be measured. With this picture in place, each of those should feel like a detail of something you already understand.

Going further

If you’d like to go further, here’s where to start:

  • the study this note leans on most: Dou, Goldstein and Ji (2025);
  • the experiment that started the field, in ordinary markets: Calvano et al. (2020);
  • the market model: Kyle (1985);
  • the learning bias: Denrell and March (2001);
  • the other side of the market, where the learning algorithms are the market makers: Colliard, Foucault and Lovo (2022) and Cont and Xiong (2024);
  • reinforcement learning in finance more broadly: Hambly, Xu and Yang (2023).
Further reading What else the literature has found

Other routes to high prices. Banchio and Mantegazza identify spontaneous coupling: the estimates of independent Q-learners can become statistically linked through correlated play, sustaining high prices without any reward-and-punishment scheme. Hansen, Misra and Pai (2021) show that simple bandit algorithms, used independently by each firm, can also reach supra-competitive prices. Meylahn and den Boer (2022) design a pricing algorithm that provably learns to collude, and find collusion easier when competitors share demand information or use the same algorithm.

Design and scepticism. Asker, Fershtman and Pakes (2024) show that algorithms that also learn from the profits they would have earned at untried prices end up competitive, and Abada, Lambin and Tchakarov (2024) find that more sophisticated algorithms can make seeming collusion less likely. Sceptics argue that many simulated results reflect imperfect learning in stylised settings (Abada and Lambin 2023; den Boer, Meylahn and Schinkel 2022; Dorner 2021), and Epivent and Lambin (2024) show that price rises, too, are followed by price wars, which complicates reading such wars as punishment.

The other side of the market. Colliard, Foucault and Lovo (2022) give Q-learning to market makers quoting to clients who may be better informed, in the spirit of Glosten and Milgrom (1985). The algorithms learn to protect themselves against informed clients, but they charge a markup over the competitive price that falls as more market makers compete and, unexpectedly, as their exposure to informed clients rises; the authors attribute this to weaker learning when profits are more variable. Noise distorts learning there too, but towards more competition rather than less. Cont and Xiong (2024) find that dealers trained by multi-agent deep reinforcement learning quote spreads strictly above the competitive level without sharing any information, and Cartea, Chang and Penalva (2022) show that a large tick size, the smallest allowed price step, obstructs competition between market-making algorithms.

New kinds of agent. Fish, Gonczarowski and Shorrer find that pricing agents built on large language models quickly reach supra-competitive prices, and that innocuous-looking changes to their instructions shift how high prices go. Dou, Goldstein and Ji (2026) have a preliminary sequel on AI planning agents that anticipate how today’s trades shape tomorrow’s prices; in their simulations such agents can coordinate to push prices away from value together and then unwind.

Open questions. The case so far rests mostly on laboratory evidence, with simple algorithms in stylised markets. Speed may be what sets finance apart: Calvano and coauthors noted that their algorithms needed hundreds of thousands of rounds to learn, which would take years even if prices changed every few minutes, while financial markets can pack millions of interactions into days or even hours.

References

  • Abada, I., and X. Lambin (2023). Artificial intelligence: Can seemingly collusive outcomes be avoided? Management Science 69(9), 5042–5065.
  • Abada, I., X. Lambin and N. Tchakarov (2024). Collusion by mistake: Does algorithmic sophistication drive supra-competitive profits? European Journal of Operational Research 318(3), 927–953.
  • Arunachaleswaran, E. R., N. Collina, S. Kannan, A. Roth and J. Ziani (2025). Algorithmic collusion without threats. 16th Innovations in Theoretical Computer Science Conference (ITCS 2025), LIPIcs 325, 10:1–10:21.
  • Asker, J., C. Fershtman and A. Pakes (2024). The impact of artificial intelligence design on pricing. Journal of Economics & Management Strategy 33(2), 276–304.
  • Assad, S., R. Clark, D. Ershov and L. Xu (2024). Algorithmic pricing and competition: Empirical evidence from the German retail gasoline market. Journal of Political Economy 132(3), 723–771.
  • Banchio, M., and G. Mantegazza. Artificial intelligence and spontaneous collusion. Working paper, arXiv:2202.05946.
  • Bank of England (2025). Financial Stability in Focus: Artificial intelligence in the financial system. April.
  • Calvano, E., G. Calzolari, V. Denicolò and S. Pastorello (2020). Artificial intelligence, algorithmic pricing, and collusion. American Economic Review 110(10), 3267–3297.
  • Cartea, Á., P. Chang and J. Penalva (2022). Algorithmic collusion in electronic markets: The impact of tick size. Working paper, SSRN 4105954.
  • Christie, W. G., J. H. Harris and P. H. Schultz (1994). Why did NASDAQ market makers stop avoiding odd-eighth quotes? Journal of Finance 49(5), 1841–1860.
  • Christie, W. G., and P. H. Schultz (1994). Why do NASDAQ market makers avoid odd-eighth quotes? Journal of Finance 49(5), 1813–1840.
  • Colliard, J.-E., T. Foucault and S. Lovo (2022). Algorithmic pricing and liquidity in securities markets. CEPR Discussion Paper 17606.
  • Cont, R., and W. Xiong (2024). Dynamics of market making algorithms in dealer markets: Learning and tacit collusion. Mathematical Finance 34(2), 467–521.
  • den Boer, A. V., J. M. Meylahn and M. P. Schinkel (2022). Artificial collusion: Examining supracompetitive pricing by Q-learning algorithms. Tinbergen Institute Discussion Paper TI 2022-067/VII.
  • Denrell, J. (2007). Adaptive learning and risk taking. Psychological Review.
  • Denrell, J., and J. G. March (2001). Adaptation as information restriction: The hot stove effect. Organization Science 12(5), 523–538.
  • Dorner, F. E. (2021). Algorithmic collusion: A critical review. arXiv:2110.04740.
  • Dou, W. W., I. Goldstein and Y. Ji (2025). AI-powered trading, algorithmic collusion, and price efficiency. NBER Working Paper 34054.
  • Dou, W. W., I. Goldstein and Y. Ji (2026). Financial market fragility in the era of AI planning. Preliminary draft.
  • ECB Foreign Exchange Contact Group (2026). Risk of AI-enabled collusion with algorithmic trading in OTC markets. Presentation, meeting of 24 March 2026.
  • Ellison, G. (1994). Theories of cartel stability and the Joint Executive Committee. RAND Journal of Economics.
  • Epivent, A., and X. Lambin (2024). On algorithmic collusion and reward–punishment schemes. Economics Letters 237, 111661.
  • Fershtman, C., and A. Pakes (2012). Dynamic games with asymmetric information: A framework for empirical work. Quarterly Journal of Economics 127(4), 1611–1661.
  • Fish, S., Y. A. Gonczarowski and R. I. Shorrer. Algorithmic collusion by large language models. Working paper, arXiv:2404.00806.
  • Fudenberg, D., and D. Levine (1993). Self-confirming equilibrium. Econometrica 61(3), 523–545.
  • Fudenberg, D., and E. Maskin (1986). The folk theorem in repeated games with discounting or with incomplete information. Econometrica 54(3), 533–554.
  • Glosten, L. R., and P. R. Milgrom (1985). Bid, ask and transaction prices in a specialist market with heterogeneously informed traders. Journal of Financial Economics 14(1), 71–100.
  • Green, E. J., and R. H. Porter (1984). Noncooperative collusion under imperfect price information. Econometrica 52(1), 87–100.
  • Hambly, B., R. Xu and H. Yang (2023). Recent advances in reinforcement learning in finance. Mathematical Finance 33(3), 437–503.
  • Hansen, K. T., K. Misra and M. M. Pai (2021). Algorithmic collusion: Supra-competitive prices via independent algorithms. Marketing Science 40(1), 1–12.
  • Harrington, J. E. (2018). Developing competition law for collusion by autonomous artificial agents. Journal of Competition Law & Economics 14(3), 331–363.
  • Hartline, J. (2026). Clarification of “Algorithmic collusion without threats”. arXiv:2602.22232.
  • Kyle, A. S. (1985). Continuous auctions and insider trading. Econometrica 53(6), 1315–1335.
  • Kyle, A. S., and W. Xiong (2001). Contagion as a wealth effect. Journal of Finance 56(4), 1401–1440.
  • March, J. G. (1991). Exploration and exploitation in organizational learning. Organization Science.
  • Meylahn, J. M., and A. V. den Boer (2022). Learning to collude in a pricing duopoly. Manufacturing & Service Operations Management 24(5), 2577–2594.
  • Porter, R. H. (1983). A study of cartel stability: The Joint Executive Committee, 1880–1886. Bell Journal of Economics 14(2), 301–314.
  • Sannikov, Y., and A. Skrzypacz (2007). Impossibility of collusion under imperfect monitoring with flexible production. American Economic Review 97(5), 1794–1823.
  • Stigler, G. J. (1964). A theory of oligopoly. Journal of Political Economy 72(1).
  • Subrahmanyam, A. (1991). Risk aversion, market liquidity, and price efficiency. Review of Financial Studies 4(3), 417–441.
  • Twain, M. (1897). Following the Equator. “Pudd’nhead Wilson’s New Calendar”.
  • United States et al. v. RealPage, Inc. et al. US District Court for the Middle District of North Carolina. Settlement between the United States and RealPage approved 2026.
  • US Department of Justice (2015). Five major banks agree to parent-level guilty pleas. Press release, 20 May.
  • Waltman, L., and U. Kaymak (2008). Q-learning agents in a Cournot oligopoly model. Journal of Economic Dynamics and Control 32(10), 3275–3293.
  • Watkins, C. J. C. H., and P. Dayan (1992). Q-learning. Machine Learning 8(3), 279–292.