Like my series on memetics and the lemma of complexity, this will veer heavily into speculation and perhaps misinterpretation/misunderstanding of various topics. I do later try to check them all for accuracy, and update if I notice any substantial errors.
First and foremost, this is a proposal of a topic I’ve been researching heavily, stemming from the question—can one predict the so-called “gamma squeezes” of GME, PLTR, NIO, and many others of the past year? While many might argue these aren’t gamma related at all (on chatting with Daniel Rock at Wharton, realized volatility exploded during the first round of the Gamestop squeeze, so perhaps we could consider it a ‘vega squeeze’).
Like NOPE, it’s a patently stupid question. The market is an incredibly complex and anti-fragile (knock on wood) system, and all models make some often simplistic assumptions in order to derive some real world utility. In NOPE’s case, in the real world, market makers can:
Delay hedging (hedging bands) to various thresholds
Use continuous limit orders at the band prices rather than carry real inventory to hedge
Use correlated assets to hedge
Use options to hedge
And the list can go on into infinity.
Even in the aforementioned gamma squeeze, it’s often extremely difficult to divorce the options-related technical squeeze from similar short squeeze or even just extraordinarily bullish equity flow.
As George Box once famously said, “all models are wrong, but some are useful.” It’s debatable if I’ve achieved the useful model status yet on options-induced illiquidity or the other weird rantings I have. That said, this one probably won’t be useful either.
The Abelian Sandpile
If you’re one of like five people who read the papers I keep posting on Twitter, one of the most interesting concepts I’ve stumbled across in documenting the host/self-replicator model of memetics (actual full paper soon to be coming) is the Bak-Tang-Wiesenfeld model of self-organized criticality, affectionately known as the Abelian sandpile model.
The BTW model (great name, BTW) can intuitively be understood as, let’s say, a 6x6 grid game. On every turn, we randomly add a grain of sand to one of the 36 boxes in the grid.
However, as most of us who have ever tried to build a sandcastle know, sand isn’t a strong structural support. This can be quantified according to the following rules:
1) On each turn, add a grain of sand to one of the squares randomly.
2) If no square has more than 4 grains of sand (this is a small board, apparently), we consider the whole system (the board) to be stable.
3) However, if any square has above 4 grains of sand in it, we consider the whole board to be unstable. We then pick out of all squares with greater than 4 grains of sand one at random to topple — we remove 4 grains of sand from it, and increase all direct neighbors of the square by 1 grain of sand (this is at max 4 neighbors, edge squares will have 2 or 3 direct neighbors). We do this until the system becomes stable.
This sounds like a fairly simple model, right? What’s interesting is it is one of a larger class of dynamical systems demonstrating self-organized criticality — a property of certain systems to evolve over time to a state of complexity from fairly simple rules.
This is akin to the famous Conway’s Game of Life — a simple system (composed of cellular automata, discrete evolving agents) that can tends to produce complex, often repeating patterns:
What’s interesting is this simple sandpile tends to have analogies in tons of real-world scenarios, spanning from disciplines as diverse as seismology (propagation of earthquakes), physics, evolutionary biology, and perhaps even neurology.
In situations as described in the sandpile model, the system tends to evolve in fairly discrete “chunks”, according to two potential states — stability (the ground, or “normal” state) and instability (the active perturbation state). As implied by the rules of the model, often times a perturbation that occurs in one sandpile propagates outwards—if we assume the threshold value is 4 grains, the addition of one extra grain from the toppled pile can turn stable neighbors into similarly unstable, toppling masses.
Could the market operate similarly?
If we step outwards slightly from the imaginary confines of sand particles, we can view the BTW model more abstractly as a system of agents each sharing exposure to a common, stochastic process, with clearly defined thresholds for exposure to some “outcome”.
In this vein, when an agent’s threshold is exceeded, they will release their inventory into the environment, impacting the distribution of inventory for a subset (or all other) agents.
To illustrate this, we can construct a simplistic toy model of an asset A with total unit inventory U at spot price S with some market depth function F(S, |U|) (this function will tell us for a given price level, how many net buy/sells in the underlying will move the price by $1).
We can assume S obeys some sort of random walk process (the specifics are less important here), where for any given transition between time t and t+1, there is a 50% chance this random process will cause the S to decrease by $1, and a 50% chance it will cause S to increase by $1 (this is also a fairly unimportant detail here, and in the real world it makes more sense to model it as a function of random buy/sell volume rather than a static price differential).
To again use a salient example, we can imagine for simplicity that the market is dictated by a cabal of short sellers, who have each entered into positions at some average price (I’m not going to bother including LaTeX in here, although it’s super tempting). For each short seller, we can imagine that there exists a loss threshold (we could assume it’s either a fixed max loss threshold on the total position, or per unit loss based on the average price), after which the short seller will liquidate the position, buying shares to cover.
This of course is not opportune for other short sellers in the market. When the short seller liquidates the position, they will have to buy shares to cover, and dependent on the size of the position and the available market depth, this will cause S to increase. This will similarly weigh on every other short seller in the same market and increase their current loss on their positions. If other short sellers are close to their liquidation thresholds, much like our little sandpile, this will cause a cascade of liquidations to occur, substantially shifting S by the time the system becomes stable again.
To add some color, we can also consider the converse of the “evil” short sellers - the leveraged long (like in crypto). In crypto, notably, liquidations of both long and short participants are considered a normal market mechanic, and often signal the local bottom or top of various coin cycles. This is by design a volatility-reinforcing mechanism—much like the short gamma regime boogeyman that haunts the options degenerate marketplaces, the liquidation of directional market participants tends to increase movement against the preferred direction of that participant (e.g. short liquidation causes rallies, long liquidation causes dramatic selloffs like we saw a week ago).
Based on the positioning of market participants and their thresholds for risk, we expect that certain price points will act as magnets, drawing the market price to that point (the attractor) once it hits a certain level (the basin of attraction). This is implied by the liquidation cycle—once liquidations on the long/short side begin, they will self-reinforce (short liquidation causes purchasing of shares, increasing S), causing the price to equalize only once all actors have suitably balanced their books (the attractor point).
The remarkable thing about entrance into the basin of attraction is much like a black hole’s unescapable grasp, the price will be drawn to the point of stabilization with high probability (in a well-defined/non-stochastic system this may be almost certain, but given S obeys a random process there exists some uncertainty).
To map this back to our Abelian sandpile, unfortunately the real world tends to be slightly more complicated than grains of sand. For a few differentiating factors:
In our real world model, our threshold of max acceptable loss can replace the simple counting of sand grains. Unlike the static threshold implied in BTW, we would anticipate various market participants to have different tolerances for drawdown (whether self-imposed or broker-imposed) before liquidation.
Liquidation can be partial (reducing the position to cap max risk under the threshold) or (more often) total (complete closure of the position).
Neighbors are a nebulous concept—unlike our fixed 6x6 board, where a grain during liquidation would transition only to a neighboring square, this is not practical in the markets. By definition most markets follow an open auction, and similarly all short/longs are impacted instantly (in terms of max position loss) by changes to the spot price S.
However, we can start fleshing out the model accordingly:
We can model a marketplace of an asset A evolving over time with spot S, total units U, and a price impact function F(S, |U|).
For each iteration (t -> t + 1), we can construct a random process denoting the action of one or more existing/new market participants buying or selling some quantity of A’s units, and impacting the spot price according to F(S, |U|).
For each participant in the market, we can observe a current loss according to the differential between the average weighted price of the position (whether short or long) and S.
Similarly, for each participant we can assign some threshold value over which the participant’s position will be forcibly liquidated.
When a liquidation occurs, this will require the participant to buy/sell at S, and change S (potentially) again according to the price impact function.
If this causes other participants to end up in unstable positions, pick one at random and force liquidation. Repeat this per turn until all participants are stable.
In practice, it seems to present a good starting point for a model. For next steps, I’m going to work on simulated data to determine the feasibility of applying this to real world modeling.
Cheers, and good night.
Lily
Cool post. I think the first I ever heard of the grain of sand model was Mandelbrot Misbehavior of Markets book. It's also the mechanism of viral spread in the boardgame Pandemic which uses a "spill to neighbors" function which leads to cascades.
I look forward to how you flesh this out.
Lily, your combination of wit, intelligence, and creativity amazes me. Great work.