GBPUSD Spike – explained
3 seconds before market close on the night from September 19th to September 20th, 2017, Darwinex experienced a significant price spike on GBPUSD.
In this blog-post we explain what happened, & what we did about it. On a related note, we have scheduled this webinar to explain the process of liquidity aggregation for our OTC retail brokerage operation. We sincerely encourage you to attend / watch.
At 20:59:56.690 on Tuesday, September 19th 2017, live customers of Darwinex were streamed the following spike:
At 20:59:56, our GBPUSD bid dropped from 1.3505 to 1.3336 1 second later. Whilst it’s not unusual for spreads to widen in the run-up to market close, a gap this size is indeed out of proportion.
Unsurprisingly, it triggered a little tsunami of customer limit orders, etc. In a nutshell, a royal mess, and one where many (including, initially, ourselves) were quick to suspect one or several liquidity providers of unfair behaviour.
A post-mortem of such events always requires a detailed investigation of trade logs involving multiple feeds (1 per LP), the resulting aggregate ticks that we’re fed, and the log of who sent what type of request as a result of what tick-price, which leg got filled with what latency, etc.
From the early European hours of Wednesday, 20th, we collaborated with our Prime Broker to do all the above, and by European Morning the day after, we had reconstructed the below sequence of events. In the remainder of this post, we’ll use two charts for use of reference:
- Chart 1 plots the Top of Book (TOB) bid from each of the individual Liquidity Providers (LP) streaming at that time
- Chart 2 shows an overlay of all client orders on the Prime B Top of Book Bid price
Our Prime Broker’s Post-Mortem
Please note that our Liquidity Providers have requested to remain anonymous – but the red hidden labels each represent 5 Liquidity Providers (LP1 through LP5).
- The GBPUSD bid dropped at 20:59:56 from 1.3505 to 1.3336 1 second later.
- The first move down below the figure at 1.35 to 1.3480 triggered many orders. Our client base sold off a sizable (5-10 times the Top of Book available at that moment) worth of GBPUSD
- By this point, the ToB for LP2 (labelled in GREEN in Chart 1) dropped well below 1.34. Note that we’re talking about 6 “Top of Books” here, 5 for each individual LP, and 1 for the synthetic aggregate. This is the aggregation job our Prime Broker does on our behalf,
- The size of the orders was enough to exhaust 5 out of the 6 Top of Books, until only LP2 (GREEN) had some depth left – which meant our aggregate Top of Book was identical with LP2 level
- The 5 remaining liquidity providers then replenished their respective Top of Book – thereby up-bidding the TOB to more competitive levels
- LP2’s Top of Book had been depleted, and it continued to price well below all the other LPs – presumably their pricing algos went “defensive”
This then triggered another bunch of orders around 1.3480. These caused the bid to drop again, with this move lower “snow-balling” into further orders.
To be clear the time recorded on the “fill” plots is the fill time – this includes the time it took the LP to respond.
The inside story
The above facts are all told from the point of view of our Prime Broker – and they are missing some granularity. The Prime Broker faces Darwinex as single whole… but Darwinex is made up of thousands of customers. It turns out the “avalanche” was triggered by one of our largest customers attempting to exit a sizeable (=much larger than available TOB) position seconds before the market grinds to a halt.
As the orders slipped, it triggered a drop in the bid significant enough for stops to be hit – which further compounded the liquidity dearth.
EURUSD and EURGBP remained largely unchanged, there was no volume at that time in either cross. Having said that, the below chart shows EURGBP widening alongside GBPUSD at 20:59:56.
These are the facts as we know them. What’s missing of course is our take. The question is – was this gap “fair”?
Technically, it was. For many customers, morally, it wasn’t.
The process triggering the price move was fair. LPs competed for flow – the way they do all day long. As it should, market orders very significant in volume relative to the liquidity available 3 seconds before market close triggered monumental slippage. In that sense – the “market” (the few LPs streaming at that moment) delivered liquidity to fill “our” (Darwinex’s) market order – and that has a price.
The outcome of a fair process was a market dislocation. Our first mini-flash crash of sorts, after hundreds of billions routed to market in the last few years. This market dislocation resulted in:
- “Fair” damage to the customers with the whale orders. One can’t send a large order 3 seconds before market close and avoid slippage
- “Unfair” collateral damage to customers (and there were a whole bunch of them) whose limit orders were avalanched into a flash crash they hadn’t caused.
Without going into the details of who got what (this would compromise customer privacy)… here’s the low-down:
- We did NOT refund the large customer for his slippage. As we’ve outlined above, the market worked and he got a market order filled in the way market orders get filled… when liquidity is close to non-existent.
- We did fully refund ALL other traders affected
Note that the refunds were Darwinex’s corporate money – e.g. we paid for the mess. Long term relationships and reputation trump technical truth.
It was most certainly not a cheap decision, but we’re confident it’s an investment into our reputation.
Food for thought
In addition to the improvements to our internal emergency protocols, we’ve learnt that:
- Few traders get liquidity aggregation. This is the reason we’ve scheduled a dedicated webinar.
- Reputations in the FX market are almost irreparably shattered. Too many, too soon resorted to unfounded “bucket-shop” and “scam” accusations.
- Even as we grow a thicker skin, employees come before (toxic) customers. Some abused our customer support team in intolerable ways. Our team will terminate ANY commercial relationship with ANY customer who abuses them, at their discretion.
- Liquidity fragmentation in OTC FX is a major issue. Our Prime Broker is one of the largest (if not THE largest) Prime Broker in retail FX. Still, a bunch of orders set a micro flash-crash in motion. We sincerely hope regulators take note of this and force ALL liquidity onto a single centralised order-book
Last but not least, please let us know if any of the above is unclear, and we’ll do our utmost to clarify any outstanding doubts.