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.

The spike

At 20:59:56.690 on Tuesday, September 19th 2017, live customers of Darwinex were streamed the following spike:

This is the Top of Book snapshot capture from Darwinex MT4

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.

The Plots

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:

  1. Chart 1 plots the Top of Book (TOB) bid from each of the individual Liquidity Providers (LP) streaming at that time
  2. Chart 2 shows an overlay of all client orders on the Prime B Top of Book Bid price

Our Prime Broker’s Post-Mortem

Top of Book bid compared to the individual LP Top of Book bids

Please note that our Liquidity Providers have requested to remain anonymous – but the red hidden labels each represent 5 Liquidity Providers (LP1 through LP5).

  1. The GBPUSD bid dropped at 20:59:56 from 1.3505 to 1.3336 1 second later.
  2. 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
  3. 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,
  4. 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
  5. The 5 remaining liquidity providers then replenished their respective Top of Book – thereby up-bidding the TOB to more competitive levels
  6. 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.

The plot is versus the top of book only. This explains why some of the plots are a bit off the top of book bid.

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.

This chart plots the EURGBP bid & ask, showing some widening

These are the facts as we know them. What’s missing of course is our take. The question is – was this gap “fair”?

Our take

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:

  1. “Fair” damage to the customers with the whale orders. One can’t send a large order 3 seconds before market close and avoid slippage
  2. “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.

Our decision

Without going into the details of who got what (this would compromise customer privacy)… here’s the low-down:

  1. 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.
  2. 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:

  1. Few traders get liquidity aggregation. This is the reason we’ve scheduled a dedicated webinar.
  2. Reputations in the FX market are almost irreparably shattered. Too many, too soon resorted to unfounded “bucket-shop” and “scam” accusations.
  3. 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.
  4. 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.

 

10 replies
  1. Luca
    Luca says:

    I think you have to put that spike in context with what happened the day after during FOMC.
    Liquidity providers are cleaning the book, below, above, then possibly in the following days below again.

    Their job, as liquidity providers, is to make money. They do it as they please. Unfairly? You bet. To achieve that they move money from on level to another. They do it all the time, just not as bluntly in your face as that night.

    Whoever think the market is a fair place, well it’s as fair as the motives of the party involved. If god existed he/she/it had to take a look at liquidity fellas.

    Darwinex cannot do business without the liquidity providers and has to rely on their manners.
    Since the drop in price, subject of this article, has been an issue with just some brokers, It could even be that the liquidity providers are targeting Darwinex specifically.

    Guys at Darwinex you have too good of a reputation, “Good Fellas” are going to address that.

    Reply
    • The Market Owl
      The Market Owl says:

      Dear Luca – many thanks for the comment.

      We’re not sure what you mean about us having too good a reputation – we simply attempt to be transparent about things as we see them.

      Regarding the liquidity providers – you’re right that the market would be fairer if more structural guarantees were enforced, but for as long as regulators leave forex in an OTC set-up, there’s little in our hands beyond what we’re already doing. Happy to comment on any specific suggestions you might have.

      Best regards

      Reply
  2. John S.
    John S. says:

    Thanks for the article, it’s interesting to see the behind the scenes.
    However, I don’t quite get it why LP1, LP3, LP4 & LP5 stopped quoting instead of gradually lowering their bid price. Plus, it seems LP2 lowered its bid price well before orders were filled on Darwinex so LP2 knew a large order was coming ? Front-running, latency issue, last look ?

    Reply
  3. Flying_Dutchman
    Flying_Dutchman says:

    Massive RED flag when it is said that an LP wants to remain anonymous. This is not an off-shore broker either evading taxes.
    There is NO reason for any LP to stay anonymous unless they do shady things, mainly in terms of taxes.
    Every legitimate broker I know of will share the DETAILED report from their LP if there is any issue.
    Huge red flags for me here.

    Reply
    • The Market Owl
      The Market Owl says:

      Dear Flying_Dutchman – any Darwinex customer knows that we share all details, for all trades, for all live users. This way, when there is an issue, the information is all there for their (private) benefit. We created our “public execution quality section” precisely so that no-one credibly red-flagged us. To the best of our knowledge, we’re the only retail broker to do this. Further, please refer to independent sites like http://www.tradeproofer.com, I suspect you’ll find that there’s absolutely no reason to red-flag us.

      On your comment, we have no issues in disclosing the names of individual LPs to customers, but – at the request of our LPs – we did NOT do this in a public blog post. And whilst we’re at it – can you point us to a single retail broker to have published a post like this for everyone to read?

      Please check your facts before you raise your flags 🙁

      Reply
  4. Tammet
    Tammet says:

    re: “We did fully refund ALL other customers affected”

    Hi , were Darwin investors refunded too ? And if so, can you tell us which Darwins so we can check.

    Thank you

    Reply
    • The Market Owl
      The Market Owl says:

      Hi Tammet,

      Luckily this affected only a couple of DARWINs with very few investors. Affected investors were notified.

      If you desire any further clarification on this, we will be delighted to provide it, but please contact info@darwinex.com: that is the adequate channel to tackle this. Thanks!

      Reply
  5. Simon
    Simon says:

    I don’t get it. Why, if you have 6 liquidity providers could you not fill orders with the other 5?

    Also, why hide the names of the liquidity providers if they have done nothing wrong? Do FCA rules allow you to do this? – I would have thought the UK regulator would demand transparency on this?

    Reply
    • The Market Owl
      The Market Owl says:

      Hi Simon –

      Thanks for your comments. Wrt to your points:
      – We’ve got not 6, but 18 liquidity providers
      – The whole point is that the institutional market just isn’t there for large fills 3 seconds before the roll
      – The FCA do not require disclosing liquidity providers. As a matter of fact, try and find brokers writing blog posts or arranging webinars on these subjects…

      You might want to watch https://www.youtube.com/watch?v=6EOqsZYD38A to better understand liquidity aggregation in FX markets.

      We’d be happy to take your questions on the youtube channel – it might make it easier to pin-point your specific doubts.

      Reply

Leave a Reply

Want to join the discussion?
Feel free to contribute!

Leave a Reply

Your email address will not be published. Required fields are marked *