Spike GBPUSD – explications

26 September 2017
Nicolas Faucheur

3 secondes avant la fermeture de marché, la nuit du 19 au 20 septembre 2017, Darwinex a subi un violent spike sur la paire GBPUSD.

Dans ce post, nous expliquerons pourquoi, et ce que nous avons pu faire derrière. Sur une note séparée, un webinaire est planifié (EN) lors duquel sera détaillé le processus d’agrégation de la liquidité dont nous disposons pour nos opération de courtage OTC. Nous ne pouvons que vous encourager à y participer!

Le spike

A 20:59:56.690 le mardi 19 septembre 2017, les clients Darwinex ont pu voir apparaître le spike suivant:

This is the Top of Book snapshot capture from Darwinex MT4

A 20:59:56, notre bid sur le GBPUSD a chuté de 1.3505 à 1.3336 en 1 seconde. Bien qu’il soit commun que les spreads s’élargissent lors de la “halte” observée par le marché, un gap de cette taille apparaît tout à fait disproportionné.

Sans surprise, il a déclenché un petit tsunami d’ordres en attente… en un mot, un gros “binz” qui a vite posé la question de savoir si c’était un acte intentionnel de la part de l’un de nos LPs.

Les données

Une analyse a posteriori nécessite toujours une investigation poussée des logs de transaction sur les différents flux (1 par LP), dont le flux agrégé qui nous est fourni est le résultat. Qui a envoyé quelle requête pour former quel tick, quelle jambe a été exécutée avec quelle latence, etc.

Ce mercredi 20 très tôt le matin, nous avons mené une enquête en collaboration avec notre Prime Broker pour faire ce qui suit, et le lendemain matin nous étions à même de reconstruire la séquence d’événements suivante. Pour illustrer les données, nous utiliserons ces 2 graphiques:

  1. Graph 1 indique le bid dans le “Top of Book” (ToB) de chaque fournisseur de liquidité (LP) individuellement à chaque instant
  2. Graph 2 montre la superposition de tous les ordres des clients dans le ToB du Prime Broker, au bid

Notre Prime Broker, Post-Mortem

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

Notez que notre fournisseur de liquidité a demandé à rester anonyme – les lignes rouges représentent chacune 1 LP.

  1. Le bid GBPUSD a chuté à 20:59:56, de 1.3505 à 1.3336 1 seconde après.
  2. Le premier mouvement de baisse sous la figure, de 1.35 à 1.3480 a déclenché quelques ordres. Notre base client a vendu pour 5 à 10 fois la valeur du ToB disponible à cet instant sur GBPUSD
  3. A partir de là, le ToB pour le LP2 (en VERT sur le Graph 1) a chuté bien en dessous de 1.34. Notez que nous parlons ici de 6 ToB, 5 pour chacun des LPs, et 1 pour le synthétique / agrégé. C’est le travail d’agrégation de notre Prime Broker fait en notre nom,
  4. La taille des ordres était suffisante pour assécher 5 des 6 ToB, jusqu’à atteindre le LP2 (VERT) qui disposait de liquidité – signifiant que notre ToB agrégé était identique à cet instant à celui du LP2
  5. Les 5 fournisseurs de liquidités restants ont ensuite reconstitué leur ToB respectifs – faisant en sorte que le ToB atteigne des niveaux plus compétitifs
  6. Le ToB du LP2 avait été épuisé, et il a continué à fournir bien en dessous de tous les autres LPs – sans doute leur algo de pricing était-il en mode “défensif”

Cela a entrainé un nouveau flot d’ordres déclenchés autour de 1.3480, forçant le bid a chuter encore, et déclenchant ainsi un effet “boule de neige” et de nouveaux ordres activés.

Pour être clair, l’heure enregistrée par les points est l’heure d’exécution – incluant le temps qu’il a afallu au LP pour répondre à la requête.

L’histoire “de l’intérieur”

Les faits ci-dessus sont exposés selon le point de vue du Prime Broker – et ils manquent de granularité. Le PB fait face à Darwinex en tant qu’ensemble… mais Darwinex est composé de milliers de clients. Il apparut en réalité que cette “avalanche” a été initiée par l’un de nos plus gros clients essayant de sortir d’une position de taille significative quelques secondes avant que les marchés observent leur halte.

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.

A mesure du slippage de l’ordre, cela a enclenché une chute du bid, assez importante pour que des stops soient touchés – aggravant encore la pénurie de liquidité.

EURUSD et EURGBP sont resté inchangés globalement, avec très peu de volume sur ces cross. Le grapique ci-dessous illustre l’élargissement du spread sur EURGBP à 20:59:56.

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

Voici les faits tels que nous les connaissons. Il manquait notre point de vue. La question est – ce gap était-il juste (fair)?

Notre point de vue

Techniquement, il l’était. Pour un grand nombre de clients cependant, moralement il ne l’était pas.

Le process déclencheur de ce mouvement de prix était juste. Les LPs ont fait leur travail comme ils le font toute la journée. Sans surprise, un ordre au marché d’une taille très significative 3 secondes avant la fermeture, a subi un slippage monumental: le marché (= les quelques LPs fournissant des prix à cet instant précis) ont fourni la liquidité pour exécuter l’intégralité de “notre” (Darwinex) ordre au marché – et c’était le prix.

Le résultat de ce process juste, fût une dislocation du marché. Notre premier mini flash crash de la sorte, après des centaines de milliars d’ordres routés sur le marché en quelques années. Cette dislocation a résulté en:

  1. Un dommage “juste” aux clients avec les ordres de la baleine. On ne peut pas espérer envoyer un énorme ordre au marché 3 secondes avant la fermeture et éviter le slippage.
  2. Un dommage collatéral “injuste” (et il y en a eu un gros paquet) dont les ordres en attente ont été activés déclenchant un flash crash dont ils ne sont pas la cause.

Notre décision

Sans entrer dans les détails de qui a obtenu quoi (ce qui compromettrait la confidentialité de nos clients)… voici la décision prise:

  1. Nous n’avons PAS compensé le slippage du “gros” trader. Comme souligné auparavant, le marché a fonctionné correctement et l’ordre au marché a été exécuté tel que sont exécutés tous les ordres au marché… lorsque la liquidité est proche de zéro.
  2. Nous avons compensé les pertes des traders affectés

Les compensations proviennent directement des fonds de la société – nous payons pour ce bazar. Les relations à long terme avec nos clients ainsi que notre réputation doivent dépasser la réalité des obstacles techniques.

Ce n’était pas une décision “bon marché”, mais c’est pour nous un investissement sur le long terme.

Nouriture pour l’esprit

En addition des améliorations de nos protocoles internes d’urgence, nous avons appris:

  1. Seule une poignée de traders comprennent l’agrégation de liquidité. Raison pour laquelle un webinaire est planifié.
  2. Les réputations sur le marché FX peuvent être vite, et irrémédiablement entachées. Trop souvent sans preuve ni réflexion préalable, viennent sur la table des accusations “d’arnaque ou escroquerie”.
  3. Même si nous avons développé une carapace plus épaisse, les membres de l’équipe passent avant les clients (toxiques). Certains ont pu abuser de la bonne volonté de l’équipe de support client de façon intolérable. Nous rappelons que notre équipe devra mettre fin à toute relation commerciale de cette sorte, à sa discrétion.
  4. La fragmentation de la liquidité OTC sur le Forex est un vrai problème. Notre Prime Broker est l’un de plus importants (si ce n’est LE plus important) Prime Broker pour le FX retail. Et pourtant, une bonne poignée d’ordres a suffit pour provoquer un micro flash crash. Nous espérons sincèrement que les régulateurs puissent prendre note de cela, et forcer TOUTES la liquidité sur un seul carnet d’ordre centralisé

Pour finir, n’hésitez pas à nous faire savoir si l’un des points ci-dessus n’est pas clair, et nous ferons tout notre possible pour clarifier les questions subsistantes.