Correlation hits finance again; Flash crash edition

So the curious case of the “flash crash” of 2010 is allegedly solved. A suspect has been named, and arrested. No it’s not one of the usual suspects. This is a guy named Navinder Singh Sarao, day-trading from his home near London. Yes, you saw that right. One guy caused the flash crash it seems. Read this excellent Matt Levine (wish I could write like him!!) piece on this.

Maybe it’s a biased sample that I follow on twitter, but the general discourse there is that this guy has probably been framed. Yes, he did “spoof”, that is, place orders on the markets without intending to execute them, and Levine explains in this post as to why that is a problem (not a very straightforward piece, this, but very insightful if you can “get it”). But in the earlier link you can see that Sarao actually switched off his (spoofing) algorithm before the flash crash happened. So it goes.

I had written glowingly about the “correlation term” in this post last week. But we had seen earlier that it was underestimation of correlation (between homeowners defaulting on mortgages) that led to the 2008 financial crisis. Based on my reading of the story so far, the flash crash was also caused due to some kind of correlation, but of a different kind – correlation between interacting algorithms. Or perhaps I should call this one “resonance”, since it was some kind of freaky frequency match that led to disastrous effects.

So as the more perceptive of you might already know, a large part of the volume of trading in most financial markets is now done by algorithms, without a human touch. On the upside, these result in highly efficient markets (sometimes too efficient, as Levine writes in this piece), and high price discovery. On the downside, this results in a large number of extremely dumb (for that is what algorithms are!) traders overcrowding the market, leading sometimes to extraordinarily dumb decisions by the market itself (like the flash crash). So high frequency trading is controversial, and there is this massive discourse that it is actually harmful to markets, liquidity be damned (Disclosure: I worked for a year at a high frequency trading hedge fund in India).

The thing with spoofing (placing orders and withdrawing them just before they can be executed, to move markets in a specific way) is that it doesn’t work on humans. At least not nowadays, given electronic markets and a high degree of algorithmic trading. The reason is that time scales don’t match – the time scale at which an order is placed, and then removed is much smaller than the time in which a human can react. And humans are usually intelligent enough to see through some of the more common spoofs.

In other words, spoofing is exclusively in place to trick “dumb” trading algorithms to move in a particular manner, which the spoofing algorithm spots and profits from. In other words, spoofing algorithms are some kind of “second degree algorithms” in that they try to profit by tricking other algorithms. And you have anti-spoofing algorithms that are in place to profit from snooping algorithms. And it is all pretty normal stuff.

So what caused that flash crash was a coming together of algorithms that shouldn’t have come together. A set of spoofs were designed to fool a particular class of algorithms, but instead ended up trapping another class of algorithms, which were possibly dumber and over-reacted to the spoof. This over-reaction triggered other algorithms which were possibly in place to detect quick market movements, and trade on the “momentum” to make a profit, and this led to a further drop in prices. And that triggered off a self-fulfilling thing among algorithms, and before the human overlords could react, the markets had crashed some 10%.


So the problem with algorithmic trading is that it creates dumb traders, and new traders are designed to take advantage of these dumb traders. Add a few more meta layers to this and you have more complexity than in a CDO Squared. As with most complex systems, such complexity is quite okay in normal times, as these multilayered algorithms usually cancel each other out and make each other more efficient. But once in a while, like on May 6th 2010, their frequencies resonate, and the system blows up.

Back when I was a HFT trader (that’s an AER redundancy), I was told that SEBI (the Securities and Exchange Board of India) mandated that our algorithms be “audited”, so that they are not malicious and don’t cause trouble. While I appreciate the principle behind the regulation, the problem is that most algorithms are harmless for the most parts, and by themselves, definitely harmless. It is only when they come together with other algorithms, and in very rare cases (like this one), that they create havoc, and a statutory audit can in no way pick this up.

The SEBI regulation is good in spirit but practically wholly useless!

Put Comment