Le Quote Stuffing

Articles précédents en rapport avec le flash crash :

Accenture crash : sweeping order et stub quote

Analyse du Flash Crash du 6 Mai 2010 – Partie I : La journée du 6 mai

Poursuivons donc notre études post flash crash du monde du trading haute fréquence (HFT, High Frequency Trading) en nous intéressant cette fois ci au quote stuffing (bourrage de cotations littéralement…).

Il est possible de plus en plus souvent de trouver des Echanges qui envoient un nombre extrêmement élevé de cotations à la seconde pour une même action, à savoir 5000 cotations en une seule seconde! Durant le 6 mai, des centaines d’actions ont eu plus de 1000 cotations en une seconde. Mais le plus déroutant est l’absence de justifications économiques sous-jaccentes.  Dans la plupart des cas, le bid/ask est bien en dehors du meilleur bid/ask national (NBBO).

Ces “burst” de cotations sont générés en toute vraissemblance par les automates de trading haute fréquence. Mais à quoi peuvent-ils bien servir? Une hypothèse probable est de les considérer comme des vestiges de la guerre que se mène les systèmes de tradiing haute fréquence. En effet, les automates HFT jouent la course à la vitesse, et à l’échelle de la milliseconde, tous les moyens sont bons pour passer devant les concurrents.

Une première solution est de prendre les machines les plus rapides et les cerveaux les plus intelligents pour coder les systèmes, puis de faire tourner les automates directement sur la place de marché (collocation). Et quant tout cela ne suffit pas, il faut savoir faire un croche en jambe à son adversaire juste avant la ligne d’arrivée…

Comment? En faisant du quote stuffing bien entendu. Votre automate génère une énorme série de cotations inutiles qu’il va lui même ignorer. Par contre votre concurrent va devoir toute les traiter et le temps qu’il y arrive vous serez passé devant…

Voici un début de tableau de chasse relevé par Nanex et que vous pourrez approfondir ici.

 

07-29-10
BATS “Flag Repeater”. 15,000 quotes in 11 seconds, dropping the ASK price 1 penny each quote from $9.36 to $8.58 and back up again.

07-29-10
“The Crown”. While not a large number of quotes, this NASDAQ/BATS Bidsize sequence was just too unusual to bypass.

07-28-10
BATS “Batsicles”. BATS price cycling through a large price range, each intermittent with a stub quote, drop it down and start over.

07-27-10
NASDAQ “Blotter”. One of the more unusual repeating Asksize cycles.

07-23-10
BATS “Stubby Triangles”. Drop the quote from a valid price to 0.001 and then back up to a lower price level. When the new price level hits 0.001 as well, do it all over again at approx. 380 times a second.

07-23-10
NASDAQ “Flutter”. 4000 quotes in 2 seconds, alternating the bid price/size in 3 increments and effecting the Best Bid along the way.

07-23-10
BATS “Periscopes”. 8000 quotes in 3 seconds, alternating the bid price each quote. Pop the size up 1 every second or so.

07-22-10
NASDAQ “Double Dip”. Symbol SH. 10,000 Quotes in 4 seconds, each affecting the Best Bid.

07-19-10
NASDAQ “Racing Stripe”. Symbol WYNN. 2000 Quotes in one second, each affecting the Best Ask.

07-19-10
PACIFIC “Puzzle Pieces”. Symbol IIC.

07-14-10
NASDAQ “Blue Bandsaw”. Symbol SHG. (760 quotes in 1 second, taken from a total sampling of 10,000 quotes in 12 seconds).

07-13-10
BATS “60-Step”. Symbol SAH. Take sixty steps up (a penny at a time) and one step down (0.60), reset and do it all over again (at approx. 700 times per second).

07-12-10
NASDAQ “Ask Mountain”. Symbol IAU. Over 56,000 quotes in 10 seconds, all with same Ask Price and the Ask Size increasing or decreasing by 1 (to almost 40,000!).

Analyse du Flash Crash du 6 Mai 2010 – Partie I : La journée du 6 mai

Cet article est une traduction/adaptation de l’analyse réalisée par Nanex LLC dont la version originale est publiée ici. Nanex est le créateur et développeur de NxCore, un flux de données multi marchés associé à une API très intuitive. Nanex développe NxCore ainsi que les applications associées à cette plateforme.

Retrouvez un suivi temps réel de l’analyse du flash crash sur notre forum.

Durant l’après midi du 6 mai 2010, le Dow jones Industrial Average a chutté d’approximativement 600 points (5,7%) avant de les regagner très rapidement. D’autres marchés majeurs ont subi le même type de pertes. Nous avons lu de nombreux articles tentant d’expliqué ce qui s’est passé ainsi que le rappot de la SEC “Preliminary Findings Regarding the Market Events of May 6, 2010”. Voici donc notre analyse.

Il y a 9 Marchés qui routent les ordres des actions cotées au NYSE : NYSE, Nasdaq, ISE, BATS, Boston, Cincinnati (National Stock Exchange), CBOE, ARCA et Chicago. Chaque Marché propose un prix d’offre et de demande pour chaque action qu’il souhaite lister. Le bid le plus élevé devient le meilleur bid national et le ask le plus bas est le meilleur ask national.

Les marchés sont en rudes compétition pour proposer les meilleurs offres et demandes nationales car ils recevront alors les flots d’ordres cherchant l’exécution. Ce qu’ils cherchent par contre à éviter à tout prix et le “crossing” avec les autres marchés (un bid plus élevé que le ask d’un autre marché ou inversement) car ils seraient alors à la portée d’un arbitrage buy/sell évidant à la portée des programmes Hautes Fréquences capturant la différence en tant que profit immédiat. A ce jour, il es très rare de pouvoir observer de tels crossing durer plus que quelques millisecondes.

Graphique 1-a: Nombre total des actions du NYSE avec un Ask inférieur au meilleur bid

Graphique 1-b: Nombre total des actions du NYSE avec un Bid supérieur au meilleur Ask

 

Le 6 Mai, à 14:42:46, les bids du NYSE ont commencé à croiser à la hausse le meilleur Ask national pour 100 actions listées au NYSE, chiffre qui s’est étendu à 250 actions dans les 2 minutes (cf graphique 1-b ci dessous). Une inspection détaillée indique que les cotations du NYSE ont commencé à être retardées par rapport aux autres marchés : leurs bids ne plongeaient pas assez rapidement pour suivre les autres Echanges et rester en dessous de leurs offres. Pourtant le timestamp des cotations du NYSE correspondait à ceux des autres Marchés, indiquant qu’elles étaient valides et fraiches.

Avec les Bid du NYSE au dessus des Ask des autres Echanges, les systèmes Hautes Fréquences tentent de tirer profit de ces différences en envoyant des ordres buy sur les autres Marchés et des sell sur le NYSE. Le NYSE se retrouve alors sous une très forte poussée baissière au niveau des actions en crossing.

Quelques minutes plus tard, l’exécution des trades sur le NYSE était réalisée à un prix légèrement inférieur au meilleur Bid national, matérialisant des nouveaux bas pour la journée (cf graphique 2). Ceci est surprenant et non attendu car les prix d’exécution auraient du être supérieurs pour correspondre au plus haut bid proposé par le NYSE, à moins que les timestamps ne reflètent pas réellement quand les cotations et les trades ont eu lieu.

 

Graphique 2: Nombre total des trades du NYSE exécutés en dessous du meilleur Bid

 

Si les cotations envoyées par le NYSE étaient bloquées dans une file d’attente pour transmission et étaient marquées temporellement seulement à la sortie de la file d’attente, alors toutes les inconsistences disparaissent et tout s’explique. En fait cette situation s’est déjà produite à 2 occasions : le 30 octobre 2009 et le 28 janvier 2010. (cf prochain article).

La représentation graphique du nombre de cross bid/ask lors de ces deux jours présente le même comportement que le 5 mai. Observer le détail des trades et des cotations montre également les mêmes anomalies temps/prix. Et le NYSE avait déclaré au même moment qu’ils avaient des problèmes de retard dans la propagation des cotations!

En résumé, les cotations du NYSE sont rentrées dans les files d’attente mais étant donné qu’elles n’étaient marquées temporellement qu’à leur sortie, les délais n’étaient pas détectables par les systèmes de trading traitant les cotations en temps réel. Le 5 mai 2010, le délai était suffisamment important pour déplacer légèrement le bid du NYSE à un prix légèrement supérieur que le meilleur ask global à tous les échanges, d’une manière assez discrète pour ne pas être repérée. Ceci a provoqué le routage immédiat d’un flot d’ordres de vente vers le NYSE faisant disparaitre toute force d’achat qui existait sur les autres Echanges. Lorsque tous ces ordres ventes arrivèrent sur le NYSE, le bid actuel était plus bas car les nouvelles cotations plus basses étaient toujours en train d’attendre de pouvoir sortir de la file d’attente pour diffusion.

Cette situation a amené les ordres à être exécutés contre n’importe quel ordres d’achats existant sur le carnet d’ordre market maker du NYSE (DMM). Quand un trade est exécuté, il est reporté à un différent système (CTS) et ensuite cote (CQS). Puisque le rapport de traffic des trades est beaucoup moins important que celui des cotations, il n’y a que rarement des délais dans ces files d’attente.

Etant donné que les actions impliquées étaient de grosses capitalisations, représentaient une large gamme d’industries, et que les cotations du NYSE sont associées à une plus grande crédibilité de la part des systèmes de trading, dès que les résultats eurent été publiées, les programmes de trading ont detecté rapidement le mouvement de phute et sont passées automatiquement vendeurs pour capturer le momentum bear se développant. Ceci a causé par la suite la panique et le mouvement qui s’en est suivie.

Certains acteurs ont déclaré avoir détecté un problème dans la validité des flux données et ont décidé de couper leurs systèmes, ce qui a entrainé une réduction de la liquiditée. nous pensons que le délai dans les cotations de NYSE sont à l’origine de cette détection.

Nous étudierons dans de prochains articles les cas similaires qui se sont produits auparavant, le quote stuffing (bourrage de cotations littéralement…) qui a une part de responsabilité dans ces évènements, d’autres théories ayant pour ambition d’expliquer le flash crash et nous finirons par une liste de recommandations pour prévenir l’apparition de nouveaux évènements de ce type.


Nombre de cotations HF pour les divers Echanges
( Une unité représente 150 cotations ou plus par seconde pour un même titre et Echange)



Nombre de cotations HF pour les divers Echanges en format barres

Nombre de cotations dupliquées sur les divers Echanges