There are many oil producers \(P\) and demanders \(D\). They need to decide how much oil to produce and/or consume, and find a fair price for the transaction. They’ve somehow agreed to coordinate their trading around a single “expiration”: on January 21, lots of suppliers will send barrels of oil to lots of demanders in exchange for money. How should they determine the price and allocation?
For the sake of illustrating just how hard this is, let’s start by making some powerful assumptions. Suppose nobody cares about knowing their allocation before January 21, and that nobody’s preferences change over time. Does this make the problem easy to solve?
An egghead mathematician like me might naively suggest some sort of souped-up Vickrey auction. Design the mechanism so that it’s incentive-compatible: it’s impossible to gain an advantage through lying about one’s preferences, so nobody needs to think strategically. Then just get everybody to submit their “true” preferences to some centralized mechanism, which crunches everything together and spits out a price and an allocation.
More formally, we’d want the mechanism to have these properties:
- Everybody submits a function \(f: Q \to P\) specifying their indifference price \(P\) for buying/selling each possible quantity \(Q\);
- The mechanism comes up with a single price and an allocation that maximizes the sum of total profits (“trading surplus”) relative to the submitted indifference prices;
- The amount people get paid beyond their indifference point is linked to their counterfactual contribution to the sum of total trading surplus;
- No single participant has an incentive to lie about their preferences to gain a better allocation / move the price favorably.
I have no idea if such a mechanism exists. Maybe if you make a bunch of assumptions, you could come up with something, although I could also see there being an impossibility result given possibly different assumptions. At minimum, it’s expensive to even compute the optimal allocation, so some discretization and approximation would have to be made; every participant would have to be on board with those decisions. And once you start accounting for dynamically changing preferences, this quickly becomes a really impractical plan, akin to launching a rocket to the Moon without an on-board computer system for control.
So how do we solve this in practice? The collective genius of humanity came up with the central limit order book (CLOB). Just let everybody place discrete orders to buy/sell oil at specified prices, and encourage a third type of market participant — traders \(T\)– to sit in the middle and be willing to both buy and sell oil futures contracts at any given time. This lets us replace the one-shot allocation computation with a continuous “descent” process, where we let participants slowly express their preferences via making trades at prices they like, and pay traders to help us discover the price at which supply equals demand. Needless to say, trying to formalize this mathematically would be incredibly complex, require tons of unrealistic assumptions, or both. Below, I’ll refer to the world I’m defining here as a “narrative”, to emphasize that I’m working within an implicit set of assumptions, even though I am unable to formalize them into a model and make explicit deductions.
Some observations:
- It’s hard to say much about social welfare in this narrative. However, we can be pretty sure that most participants, most of the time, will be able to trade roughly to their indifference point. That means the closing price + size distribution will be a locally efficient allocation, in the sense that everybody is pretty happy with the size they have on at that price. If there is a unique price with this local optimality property, this implies that the outcome of the “descent” is not path-dependent.
- Participants aren’t required to write down their preferences to interact with the CLOB. They don’t need to reason about what they want in all possible worlds — just this one. Depending on their rationality, this may cause problems.
- The traders in this narrative get paid through spread collection; they are happiest if a buyer comes in right after a seller, giving them a quick roundtrip profit. The spreads need to be wide enough to compensate them for the fact that the price will on average move against them: if the price starts at $60, but ends at $80, the spread collectors will probably end up getting “run over” by the excess buyers at the lower prices. The larger this net imbalance is relative to the overall trading volume, the wider they need to be.
- The traders are ultimately getting paid out of the “trading surplus”: producers and demanders are doing a bunch of trades they’re really happy about, so they don’t mind giving up a bit of margin to the traders in the middle.
- The perfect system would immediately converge on the correct closing price and allow producers and consumers to quickly do all their trading for no spread. The costs to imperfection are the trading surplus siphoned off by the traders (rather than encouraging the “real” economic activity of the producers and demanders), plus noise in the price level that causes misallocation of resources / planning difficulties.
- The EMH implies that the price at all times should reflect its expected value on January 21. Because the price on January 21 is inherently trying to balance net supply and net demand, in equilibrium we should expect some inelasticity in this market, because some of the net supply/demand is based upon the decisions of individual participants that are not perfectly knowable until they have been released as trades. Flows are fundamental to this market price!
How can traders make more money? Within this narrative, there are two basic ways to do it: Compete with other traders for market share of the surplus already being captured by traders, or try to “grow the pie” by finding ways to take surplus from the producers and demanders. In my next post, I’ll talk about some more concrete things traders do along each of these dimensions.