Interrupteurs d'arrêt
∞structurelUn contrôle automatisé qui stoppe une stratégie ou annule tous les ordres quand un seuil est franchi : une limite de perte, une limite de position, un débit d'ordres anormal. Après Knight Capital (2012), de fait obligatoire.
L'idée
Ce que montre ce schéma. Un interrupteur d'arrêt n'est pas un bouton mais une échelle de réponses, et chaque déclencheur – position, P&L, débit de messages, qualité du flux, écart drop-copy, ou un humain au bouton panique – alimente la même échelle. Le geste sûr est presque toujours annuler tout puis suspendre, retirer vos ordres au repos et faire silence, avant de décider s'il faut aplatir. Aplatir dans un marché cassé est le barreau dangereux, donc il vient en dernier et prudemment. La coupure au niveau de la place compte justement parce qu'elle agit quand c'est votre propre système qui a lâché.
Qu'est-ce qu'un interrupteur d'arrêt, et pourquoi est-il la dernière ligne de défense ?
Un interrupteur d'arrêt est un contrôle qui stoppe vite un système de trading, le throttlant, annulant ses ordres au repos, bloquant les nouveaux, et optionnellement aplatissant la position. Il existe parce que les limites pré-négociation ne peuvent pas anticiper tous les modes de défaillance : bogues, mauvais déploiements et dislocations de flux produisent des comportements pour lesquels aucune limite spécifique n'a été écrite. L'interrupteur d'arrêt rattrape ce que les limites manquent.
Commençons par l'intuition. La barrière pré-négociation est un ensemble de règles spécifiques : taille max, plafond de position, bande de prix. Elle stoppe les défaillances que vous avez imaginées. Mais les défaillances qui tuent les firmes sont en général celles pour lesquelles personne n'a écrit de règle : un programme retiré réactivé par un drapeau de configuration (Knight), un gestionnaire de flux qui se désynchronise silencieusement, un déploiement qui atterrit sur le mauvais serveur. L'interrupteur d'arrêt est le contrôle non spécifique : il n'a pas besoin de savoir pourquoi les choses vont mal, seulement qu'elles vont mal, pour pouvoir tout arrêter.
Il y a quatre choses qu'un interrupteur d'arrêt peut faire, par gravité croissante. Le throttle ralentit le débit d'ordres, transformant une boucle emballée en un filet borné ; il est réversible et le moins perturbateur. L'annulation globale retire chaque ordre au repos pour que vous cessiez d'offrir de mauvaises cotations, l'action la plus importante quand votre flux ou votre pricing est suspect. Le blocage des nouveaux ordres refuse d'envoyer quoi que ce soit de nouveau (un « halte »), si bien que le système devient silencieux. L'aplatissement trade activement pour sortir de la position ouverte et revenir à plat ; c'est le plus agressif et le plus dangereux, car aplatir dans un marché cassé peut empirer les choses (voir la section arrêt sûr).
Un interrupteur d'arrêt peut être automatique (une violation de limite ou une anomalie le déclenche sans humain) ou manuel (un humain appuie sur le bouton panique). Les firmes matures ont les deux, et une réponse claire à qui peut le déclencher et à quelle vitesse.
La Market Access Rule de la SEC (Rule 15c3-5)
La Rule 15c3-5 de la SEC, la « Market Access Rule » (adoptée en novembre 2010, effective en 2011), exige de tout courtier-négociant fournissant un accès au marché (y compris l'accès sponsorisé ou direct pour des firmes de trading) qu'il maintienne des contrôles automatisés de gestion du risque pré-négociation raisonnablement conçus pour prévenir les ordres erronés et les dépassements des limites de crédit et de capital. C'est la réglementation qui rend les limites pré-négociation et les interrupteurs d'arrêt légalement obligatoires, pas optionnels.
Ce qu'exige la règle, en termes simples (source : 17 CFR 240.15c3-5 ; SEC Release No. 34-63241, Risk Management Controls for Brokers or Dealers with Market Access, 3 novembre 2010) : des contrôles financiers pré-négociation, des vérifications automatisées qui rejettent les ordres dépassant des seuils de crédit ou de capital préétablis, et rejettent les ordres erronés (trop gros, ou cotés au-delà d'une bande de cohérence) avant qu'ils n'atteignent le marché ; des contrôles réglementaires, empêchant les ordres qui violeraient les règles de la bourse ou du régulateur ; et des contrôles sous le contrôle exclusif du courtier-négociant. De façon cruciale, la règle interdit l'accès sponsorisé pur « nu » ou « non filtré », où les ordres d'une firme de trading atteignent la bourse sans passer par les contrôles de risque du courtier sponsor. Les contrôles ne peuvent pas être externalisés au client.
Pourquoi elle existe : avant la règle, une firme pouvait louer le tuyau d'accès au marché d'un courtier et envoyer des ordres droit à la bourse avec les vérifications de risque du courtier contournées pour la vitesse. La règle a fermé cela : chaque ordre doit passer une barrière de risque automatisée, contrôlée par le courtier. C'est l'épine dorsale légale de tout ce qui est sur la page mesurer le risque du HFT. Et les dents de l'application sont réelles : Knight Capital a été poursuivie sous exactement cette règle (ci-dessous) ; les contrôles que la 15c3-5 exige étaient les contrôles qui manquaient à Knight. Pour l'équivalent UE/Royaume-Uni, voir les exigences de trading algorithmique et d'interrupteur d'arrêt de MiFID II.
Knight Capital, 1er août 2012 : la défaillance canonique
Knight Capital a déployé du nouveau code qui a réactivé du code mort, réaffecté, sur l'un de huit serveurs. Dès l'ouverture il a envoyé des millions d'ordres erronés pendant environ 45 minutes, construisant une énorme position non voulue avant que la firme ne puisse l'arrêter à la main : une perte de ~460 millions de dollars qui a détruit la firme en quelques jours. La SEC l'a poursuivie sous la Market Access Rule (15c3-5).
La chronologie, et là où chaque contrôle manquant l'aurait stoppée (source : SEC Administrative Proceeding Release No. 70694, 16 octobre 2013) : avant l'ouverture, un déploiement de nouveau code de routage d'ordres (pour un nouveau programme de liquidité particuliers) a été poussé sur huit serveurs. Il a atterri sur seulement sept ; le huitième tournait encore l'ancien code. Le nouveau code réutilisait un drapeau (Power Peg) qui, sur le huitième serveur, activait une fonction de routage défunte et réaffectée sans logique d'achèvement d'ordre : une boucle qui routerait des ordres enfants sans fin. Dès 09:30 pendant ~45 minutes, le huitième serveur a tiré un torrent d'ordres (des millions d'exécutions sur environ 150 titres) accumulant une position longue/short de plusieurs milliards de dollars.
Trois contrôles l'auraient chacun stoppée. Une limite de position dure, en direct, met en échec l'emballement en quelques secondes ; à la place il n'y avait aucun plafond effectif pour rejeter les ordres. Un arrêt automatique sur P&L / exposition se déclenche bien avant −460 M\$ ; à la place la perte a couru sans borne, sans halte automatique. Et une alarme de réconciliation drop-copy (une vue hors-bande des propres exécutions en explosion de la firme) aurait dû hurler en quelques secondes, mais aucun contrôle automatisé ne l'a consommée pour stopper le système.
La halte manuelle a empiré les choses avant de les améliorer : sans coupure automatique, le personnel a dû diagnostiquer et arrêter à la main, et dans la confusion a d'abord retiré le nouveau code des sept serveurs corrects, l'aggravant brièvement, avant de stopper le huitième. Environ 45 minutes est une éternité à la vitesse machine. Le bilan : une perte de ~460 M\$, la firme rachetée en quelques jours, et une poursuite SEC pour violation de la Market Access Rule. La leçon est tout l'enjeu de cette page : des limites spécifiques et un interrupteur d'arrêt indépendant et automatique ne sont pas une ceinture-et-bretelles, ce sont le minimum. Knight avait des gens du risque et une culture du risque ; ce qui lui manquait, c'était une coupure automatique qui ne dépendait pas qu'un humain le remarque à temps.
Throttles, haltes et aplatissement : l'échelle de réponse
Un interrupteur d'arrêt n'est pas un seul bouton ; c'est une échelle de réponses adaptées à la gravité. Un throttle ralentit le débit d'ordres ; une annulation globale retire les cotations au repos ; une halte bloque les nouveaux ordres ; un aplatissement trade activement pour sortir de la position. Le bon premier geste est presque toujours annulation globale puis halte (cesser d'offrir et cesser d'envoyer) avant de décider d'aplatir ou non.
Throttle (réversible). Quand le symptôme est « trop rapide, pas encore clairement faux » (un pic du débit de messages) ralentissez le débit. Cela gagne du temps et garde la stratégie en vie ; le toucher le plus léger. Annulation globale (défensive). Quand votre pricing ou votre flux est suspect, le danger urgent est que vos ordres au repos soient cueillis à des prix périmés. Annulez d'abord chaque ordre au repos : c'est l'action unique la plus importante, car elle retire l'engagement permanent pendant que vous enquêtez. Beaucoup de places offrent l'annulation à la déconnexion (ci-dessous) précisément pour qu'une session interrompue le déclenche automatiquement.
Halte (bloquer les nouveaux). Cessez d'envoyer de nouveaux ordres. Le système devient silencieux et tient sa position courante. Elle est souvent associée à l'annulation globale comme réponse standard « quelque chose ne va pas, arrête ». Aplatissement (agressif, dangereux). Fermez activement la position pour revenir à plat. C'est le dernier et le plus hasardeux barreau : aplatir une grosse ou mauvaise position dans un marché mince ou cassé cause son propre impact et, dans une dislocation, peut être exactement le mauvais geste. Une conception sûre aplatit prudemment (en utilisant une logique d'algorithme d'exécution, pas un balayage au marché) ou, dans un vrai chaos, fait halte et laisse un humain décider plutôt que d'aplatir à l'aveugle.
Drop-copy : une vue indépendante de vos propres ordres
Le drop-copy est un flux séparé, hors-bande, de votre propre activité d'ordres et d'exécutions, livré indépendamment de votre session de saisie d'ordres. Il existe pour qu'un système de risque (ou un interrupteur d'arrêt) puisse voir ce que vous avez réellement fait depuis une source que votre code de stratégie ne peut pas corrompre. Si le suivi de position interne de votre stratégie est bogué, la vue drop-copy montre quand même la vérité.
L'intuition : votre stratégie pense connaître sa propre position, mais si la stratégie est la chose cassée, sa position auto-rapportée est exactement ce à quoi vous ne pouvez pas vous fier. Le drop-copy donne une vérité de terrain indépendante : la bourse (ou le courtier) envoie une copie parallèle de chaque exécution et accusé d'ordre à un processus de risque séparé, si bien que l'interrupteur d'arrêt observe la réalité, pas la croyance possiblement corrompue de la stratégie.
C'est la réponse architecturale à Knight : un consommateur drop-copy indépendant, réconciliant les exécutions contre la position attendue en temps réel, qui automatiquement déclenche l'interrupteur d'arrêt quand la divergence ou la position absolue franchit un seuil, sans humain dans la boucle. Le contrôle qui surveille la machine ne doit pas dépendre du fait que la machine soit correcte. Le drop-copy sous-tend la couche de contrôle post-négociation : c'est la source de réconciliation indépendante qui permet à la surveillance post-négociation de rattraper ce que la propre comptabilité de la stratégie a manqué.
Coupures au niveau de la bourse vs au niveau de la firme
Les coupures existent à deux niveaux et vous avez besoin des deux. Au niveau de la firme : votre propre système throttle, annule et fait halte. Au niveau de la bourse : la place annule vos ordres au repos et bloque les nouveaux, indépendamment de votre système, ce qui compte précisément quand votre système est la chose qui a échoué et ne peut pas s'arrêter lui-même. Les places matures offrent l'annulation à la déconnexion et des API d'interrupteur d'arrêt pour cela.
La coupure au niveau de la firme vit dans votre infrastructure, la plus rapide à agir sur vos signaux (votre P&L, votre position, la qualité de votre flux), mais inutile si la défaillance est que votre système est hors de contrôle et n'écoute pas sa propre commande d'arrêt. La coupure au niveau de la bourse agit pour votre compte, indépendamment de votre logiciel : l'annulation à la déconnexion (COD) signifie que si votre session de saisie d'ordres tombe, la bourse annule automatiquement vos ordres au repos, si bien qu'un système planté ou bloqué ne laisse pas de cotations périmées exposées ; une API d'interrupteur d'arrêt / de panique est un contrôle côté place (souvent un contrôle manuel que la bourse peut invoquer, ou une ligne « drop-dead » de la firme de compensation) pour annuler globalement et bloquer le flux d'un participant ; et les rejets ordres-sur-transactions et de bande de prix sont les propres bandes LULD et limites de messages de la place, qui rejettent vos mauvais ordres au moteur d'appariement.
Pourquoi les deux : l'interrupteur au niveau de la firme est rapide et informé ; l'interrupteur au niveau de la bourse est indépendant : il fonctionne quand votre propre système est la défaillance. Knight est l'étude de cas montrant pourquoi l'indépendant compte : si votre système est la chose devenue folle, il vous faut une coupure qui ne tourne pas sur votre système. Pour une place crypto ou de marchés de prédiction aux contrôles côté bourse faibles, vous portez davantage de ce fardeau vous-même.
Concevoir un arrêt sûr
Un arrêt sûr fait d'abord la chose la moins nuisible et n'aggrave jamais la situation. L'échelle par défaut est annulation globale → halte → évaluation → (alors seulement) aplatir prudemment. Aplatir dans un marché cassé ou mince peut causer plus de perte que de tenir ; un interrupteur d'arrêt devrait retirer votre engagement (les ordres au repos) et stopper votre activité avant de tenter de trader activement pour sortir.
Principes pour un interrupteur d'arrêt auquel vous pouvez réellement vous fier : l'indépendance : l'interrupteur d'arrêt ne doit pas dépendre de la stratégie qu'il garde ; il tourne comme processus séparé, consomme le drop-copy (pas l'auto-rapport de la stratégie), et peut agir même si la stratégie est bloquée ou en boucle. Déterminisme et simplicité : pas de modèles, pas d'astuce, latence bornée ; le composant dont le travail est de stopper l'hémorragie doit être le plus prévisible du système. Idempotent et à sécurité intégrée : « annulation globale » doit être sûre à envoyer deux fois, un arrêt en vol ne doit pas être défait par un redémarrage, et un système qui revient après un arrêt devrait revenir en halte, exigeant une réactivation humaine délibérée, pas une reprise automatique dans la même défaillance.
Annulez avant d'aplatir : retirez d'abord les ordres au repos (votre engagement permanent), puis décidez de la position ; l'aplatissement est le barreau dangereux, alors faites-le avec une logique d'exécution pour gérer l'impact, ou confiez-le à un humain dans un vrai chaos. Testez l'interrupteur, pas seulement la stratégie : un interrupteur d'arrêt jamais déclenché pour de vrai est un espoir, pas un contrôle ; répétez-le contre des scénarios adverses (boucles emballées, perte de flux, tempêtes d'exécutions) et vérifiez qu'il annule, fait halte et (le cas échéant) aplatit proprement dans le budget de latence. Et sachez qui peut le déclencher et à quelle vitesse : un déclencheur manuel documenté et à faible friction (le « bouton panique ») avec un propriétaire clair, complétant les déclencheurs automatiques, car certaines défaillances ne sont rattrapées par aucune règle automatique et un humain a quand même besoin d'un moyen rapide et sans ambiguïté de tout arrêter.
Exemple travaillé
Une spécification d'interrupteur d'arrêt pour la même stratégie de tenue de marché utilisée sur mesurer le risque du HFT, illustrative et à la date de 2026. N'importe lequel des déclencheurs automatiques actionne l'interrupteur : position nette franchissant ±25 000 actions (la limite de position dure) → annulation globale plus halte ; P&L intraday franchissant −50 000 \$ → annulation globale plus halte (pas d'auto-aplatissement ; confier à un humain) ; débit de messages dépassant 500/s pendant plus d'une seconde → throttle, puis halte s'il persiste ; flux de données de marché périmé de plus de 50 ms ou carnet consolidé croisé de plus de deux ticks → annulation globale (retrait des cotations), conservation de la position, alerte ; et réconciliation drop-copy divergeant de la propre position de la stratégie de plus de 1 000 actions → annulation globale plus halte (la comptabilité de la stratégie est suspecte).
Le contrefactuel de Knight, en appliquant cette spec au 1er août 2012 : la limite de position (±25 000) rejette l'emballement en quelques secondes, pas en 45 minutes ; le déclencheur de divergence drop-copy s'actionne indépendamment de la stratégie cassée ; et l'arrêt sur P&L se déclenche à −50 k\$, quatre ordres de grandeur avant −460 M\$. La firme survit à la journée.
Chaque chiffre est synthétique et spécifique à la stratégie. Calibrez les déclencheurs contre votre propre capacité et votre distribution de P&L normale, et confirmez le comportement d'annulation à la déconnexion et d'interrupteur d'arrêt propre à la bourse depuis son règlement courant (à la date de 2026). Ceci est pédagogique seulement et pas un conseil en investissement.