Dans une configuration de hedge arbitrage à deux courtiers, 60–80 % des écarts détectés sont des artefacts de latence — et non de véritables différences de prix entre fournisseurs de liquidité (LP). Exécuter ces signaux fait perdre de l’argent à chaque transaction et génère un flux d’ordres toxique que les courtiers identifient et restreignent. Ce guide couvre les deux niveaux de filtrage : le simple seuil difference-to-open et l’architecture avancée de flux de référence rapide (fast feed), qui élimine presque entièrement la contamination due à la latence.
Lorsqu’un logiciel de hedge arbitrage détecte un écart entre les cotations de deux courtiers, cet écart peut provenir de deux causes fondamentalement différentes. La première est une véritable différence de prix entre les fournisseurs de liquidité des courtiers — une opportunité exploitable. La seconde est un artefact de latence du flux : un courtier a reçu un événement de marché global plus vite que l’autre, et l’écart apparent n’existe que parce que la cotation du courtier le plus lent n’a pas encore été mise à jour. Ces deux cas sont impossibles à distinguer par la seule comparaison des cotations brutes — mais ils produisent des résultats totalement opposés à l’exécution.
| Type de signal | Cause | Persistance | À l’exécution |
|---|---|---|---|
| Véritable écart de LP | Le LP du courtier A cote différemment du LP du courtier B — indépendamment du moment des événements de marché | 200ms à 2,000ms | Exécution aux prix cotés — bénéfice net conforme aux attentes |
| Artefact induit par la latence | Le flux du courtier A a reçu un événement de marché plus rapidement. Écart apparent = mouvement de prix, pas une différence de LP | 30ms à 150ms | Le courtier B s’est déjà mis à jour au moment de l’exécution — perte ou requote |
Sans filtrage, dans une configuration typique à deux courtiers, 60–80 % des signaux sont des artefacts de latence plutôt que de véritables écarts de LP. Les événements de marché — ticks de prix, publications économiques, variations de liquidité — se produisent en continu et chacun crée un écart transitoire induit par la latence, le flux du courtier le plus rapide se mettant à jour en premier. Ce ratio dépend fortement de la différence de vitesse entre les flux des deux courtiers : une paire de courtiers dont l’un des flux est systématiquement 100ms plus rapide que l’autre génère bien plus d’artefacts qu’une paire dont les flux sont à moins de 10ms l’un de l’autre.
Exécuter des artefacts de latence n’est pas rentable au niveau de chaque transaction. Mais le problème va plus loin — cela crée un schéma de flux d’ordres spécifique que les courtiers classent comme techniquement toxique.
Les signaux induits par la latence se déclenchent précisément lorsqu’un événement de prix se produit — car c’est à ce moment que le flux du courtier rapide se met à jour alors que celui du courtier lent ne l’a pas encore fait. Le hedge arb non filtré place une part disproportionnée de ses ordres exactement aux moments des mouvements de prix. Les systèmes de gestion des risques des courtiers qui corrèlent les horodatages des ordres avec ceux des événements de prix identifient cette concentration comme un flux technique.
Les transactions induites par la latence sont systématiquement exécutées à des prix défavorables par rapport au marché quelques centaines de millisecondes plus tard. Les systèmes de gestion des risques des courtiers suivent la trajectoire du prix à court terme après chaque exécution. Un pourcentage élevé d’exécutions immédiatement suivies d’un mouvement de prix défavorable — la signature d’ordres arrivant au moment où le marché a évolué contre le sens de l’exécution — déclenche un examen du compte pour sélection adverse.
Un système qui exécute des artefacts de latence est rentable pendant les périodes de faible volatilité (les véritables écarts de LP dominent) et non rentable pendant les périodes de forte volatilité (les artefacts de latence se multiplient). Cette corrélation inverse entre P&L et volatilité — incompatible avec un trading technique légitime — est une signature reconnaissable de flux toxique.
Lorsqu’une transaction induite par la latence est exécutée au mauvais prix, le système en sort en quelques secondes. Ce schéma — transactions gagnantes conservées plus longtemps, transactions perdantes clôturées rapidement — produit une distribution asymétrique des durées de détention que les systèmes de gestion des risques signalent comme une exploitation technique automatisée.
Une fois classé comme flux toxique, le compte subit une exécution dégradée — requotes, élargissement du spread ou routage interne vers le propre book du courtier. Cela dégrade aussi les transactions rentables sur de véritables écarts de LP. Le problème du filtrage ne concerne pas seulement la rentabilité de chaque transaction — il détermine si le compte reste tout simplement viable pour l’arbitrage.
Le filtre le plus simple est un seuil minimal d’écart de prix — difference-to-open — en dessous duquel aucun ordre n’est placé. Les écarts induits par la latence tendent à être en moyenne plus faibles que les véritables écarts de LP : les artefacts de latence du flux ne reflètent que la différence de vitesse entre deux flux recevant le même événement, tandis que les véritables écarts de LP reflètent des différences de prix réelles au niveau des LP, qui peuvent être plus importantes et plus persistantes. Fixer un seuil minimal élimine les petits signaux induits par la latence tout en conservant les signaux véritables plus importants.
| Étape | Action | Résultat |
|---|---|---|
| Étape 1 | Fonctionner en mode surveillance uniquement pendant 5–10 jours de trading. Enregistrer chaque écart détecté avec : horodatage, amplitude (pips), durée avant disparition et mouvement de prix dans les 200ms suivant la détection. | Jeu de données brut des signaux |
| Étape 2 | Classer a posteriori chaque signal : véritable (persiste plus de 150ms, flux de référence calme) ou induit par la latence (disparaît en moins de 100ms, précédé d’un événement de prix directionnel). | Jeu de données classé |
| Étape 3 | Tracer la distribution des amplitudes des signaux véritables et des signaux de latence. Trouver le seuil au-dessus duquel 80 %+ des signaux sont de véritables écarts de LP. | Valeur de seuil optimale |
| Étape 4 | Régler difference-to-open sur le seuil identifié. Recalibrer chaque trimestre — le seuil optimal évolue avec les relations des courtiers avec leurs LP et les régimes de volatilité du marché. | Paramètre de filtre déployé |
Les périodes de forte volatilité créent d’importants mouvements de prix. Un artefact de latence du flux lors d’un mouvement de 10 pips peut apparaître comme un écart de 4–5 pips entre courtiers. Un seuil de 3 pips ne l’intercepte pas. Les événements de latence importants sont les plus dommageables — pertes les plus élevées et schéma de flux toxique le plus visible.
Le seuil optimal varie selon les conditions de marché. Pendant les périodes calmes de la session asiatique, un seuil de 1.5 pip peut suffire. À l’ouverture de Londres, le même seuil laisse passer une forte proportion d’artefacts de latence. Un seuil fixe est toujours un compromis.
Le filtre simple traite tous les écarts supérieurs au seuil de manière identique, quel que soit le contexte de marché au moment de la détection du signal. Il ne peut pas distinguer un véritable écart de LP de 3 pips d’un artefact de latence de 3 pips produit par un mouvement de prix rapide.
Le filtre fast feed introduit une troisième source de données indépendante — plus rapide que chacun des courtiers d’exécution — comme mécanisme de classification de chaque écart détecté. Au lieu de filtrer uniquement selon l’amplitude, le système utilise le fast feed pour déterminer si un écart détecté coïncide avec un mouvement de prix sur le flux de référence. Si c’est le cas, le signal est induit par la latence et rejeté. Si le flux de référence est calme, l’écart est classé comme une véritable différence de LP et l’exécution a lieu.
La logique de classification à chaque détection de signal :
Signal classé comme VÉRITABLE ÉCART DE LP si TOUTES les conditions sont remplies :
(1) FastFeed.RateOfChange(last 100ms) < MovementThreshold
— Le flux de référence n’a pas bougé de manière significative dans la fenêtre précédente
— Aucun événement de prix directionnel n’est en cours de propagation sur le marché
(2) FastFeed.LastTickAge < StalenessThreshold
— Le flux de référence se met activement à jour (ni figé ni déconnecté)
— Garantit que la vérification de classification repose sur des données en temps réel
(3) Discrepancy.Persistence > MinPersistenceWindow
— L’écart existe depuis au moins N millisecondes
— Les véritables écarts de LP persistent ; les artefacts de latence disparaissent en 30–100ms
Signal classé comme INDUIT PAR LA LATENCE si UNE condition n’est pas remplie → ordre rejeté.
C’est la condition de classification principale. Le flux de référence rapide est plus rapide que les deux courtiers d’exécution — il reçoit les événements de marché globaux avant que la cotation de l’un ou l’autre courtier ne soit mise à jour. Si le flux de référence montre un mouvement de prix significatif dans la fenêtre précédant la détection du signal, ce mouvement est la cause probable de l’écart apparent : le flux de l’un des courtiers d’exécution s’est mis à jour suite à l’événement, l’autre pas encore.
| Paramètre | Valeur typique | Remarque |
|---|---|---|
| MovementThreshold | 0.5–1.5 pip par 100ms pour les paires majeures ; 1.5–3.0 pips pour les paires volatiles | Défini en mesurant le mouvement typique en pips par 100ms en conditions normales et lors d’événements pour l’instrument concerné |
| Fenêtre d’observation (lookback) | 50–200ms | Doit capturer l’événement de mouvement sans masquer les véritables écarts qui suivent un mouvement avec un certain délai. Calibrée à partir de la différence de latence mesurée entre les flux. |
| Seuil d’inactivité (staleness) | 500ms–2,000ms | Si le flux de référence ne s’est pas mis à jour dans cette fenêtre, il est peut-être bloqué. Traitez les signaux survenant pendant ces périodes de manière prudente — rejetez-les ou attendez la reprise du flux. |
Un artefact de latence de 5 pips lors d’un événement de prix majeur est classé comme induit par la latence par le filtre fast feed — quelle que soit son amplitude. Le seuil simple le laisserait passer s’il était réglé en dessous de 5 pips. Le filtre fast feed classe selon l’état du marché, et non selon la taille de l’écart.
Pendant les périodes calmes, le flux de référence présente un faible taux de variation et la classification se déclenche rarement. Pendant les périodes volatiles, le flux de référence est actif et classe les artefacts de latence en continu. Le filtre se resserre automatiquement pendant les périodes à haut risque, sans réglage manuel.
Un véritable écart de LP de 0.8 pip que le seuil simple bloquerait passe le filtre fast feed si le flux de référence est calme. Le filtre ne sacrifie pas les petits signaux véritables pour éviter les petits signaux de latence — chaque signal est classé indépendamment selon le contexte de marché.
Dans les déploiements bien calibrés, le filtre fast feed réduit la contamination due à la latence de 60–80 % des signaux non filtrés à moins de 5 %. La contamination résiduelle correspond à des cas limites où un événement de prix est suffisamment lent pour ne pas déclencher le seuil de taux de variation, mais assez rapide pour créer une différence entre les flux.
| Filtre | Rejet de la latence | Conservation des signaux véritables | Complexité | Idéal pour |
|---|---|---|---|---|
| Aucun filtre | 0 % — tout passe | 100% | Aucune | Non viable — flux toxique garanti |
| Difference-to-open seul | 40–60% | 80–90% | Faible | Configurations initiales, courtiers aux vitesses de flux très proches |
| Difference-to-open + persistance | 60–75% | 75–85% | Faible | Base améliorée, laisse encore passer les événements de latence importants |
| Filtre fast feed (complet) | 90–97% | 85–95% | Élevée | Arbitrage en production, environnements de courtiers hostiles |
Un véritable écart de LP existe parce que les fournisseurs de liquidité de deux courtiers cotent le même instrument différemment — une différence structurelle dans la manière dont chaque LP modélise le marché ou gère son inventaire. Un écart induit par la latence existe parce que le flux d’un courtier a reçu un événement de marché plus vite que l’autre. Les véritables écarts sont exploitables et persistent de 200ms à 2,000ms. Les artefacts de latence disparaissent en 30–150ms, le temps que le flux le plus lent rattrape son retard — généralement avant que les ordres n’arrivent chez le courtier le plus lent.
Difference-to-open est un écart de prix minimal configurable — en pips — qui doit exister entre les cotations de deux courtiers avant qu’un ordre ne soit placé. Il filtre les signaux induits par la latence en exploitant le fait que les artefacts de latence du flux tendent à être en moyenne plus faibles que les véritables écarts de LP. Il est efficace pour éliminer les petits signaux de latence, mais n’intercepte pas les événements de latence importants en période de forte volatilité, lorsqu’un mouvement de prix rapide crée un écart apparent important entre des flux aux vitesses de mise à jour différentes.
Le filtre fast feed utilise un troisième flux de prix de référence — plus rapide que les deux courtiers d’exécution — pour classer chaque écart détecté avant de placer un ordre. Si le flux de référence montre un mouvement de prix significatif dans la fenêtre précédant la détection du signal, l’écart est classé comme induit par la latence et rejeté. Si le flux de référence est calme, l’écart est classé comme une potentielle différence de LP véritable et l’exécution a lieu. Les signaux sont ainsi classés selon l’état du marché plutôt que selon la seule amplitude, ce qui permet d’intercepter les événements de latence importants que le seuil simple laisse passer.
Les signaux induits par la latence produisent des ordres au moment exact des mouvements de prix. Les systèmes de gestion des risques des courtiers détectent cette concentration comme un schéma de flux technique. De plus, les transactions induites par la latence produisent systématiquement des exécutions défavorables et des sorties rapides avec de petites pertes, créant une distribution asymétrique des durées de détention et du P&L qui identifie davantage le compte comme une exploitation technique. Une fois classé, le compte subit une exécution dégradée qui affecte aussi les transactions rentables sur de véritables écarts de LP.
Une troisième source de données de prix manifestement plus rapide que les deux courtiers d’exécution pour recevoir les événements de marché globaux. Il peut s’agir d’un fournisseur de données de marché dédié, d’un service de flux de prix colocalisé ou d’un troisième compte de courtier utilisé uniquement comme flux de référence (aucun ordre n’y est placé). Le flux de référence fonctionne sur un thread de surveillance distinct, avec des horodatages matériels à la réception sur le socket. Aucun ordre n’est jamais placé via le flux de référence — il sert uniquement d’entrée pour la classification.
Au minimum chaque trimestre. Les paramètres optimaux évoluent à mesure que changent les relations des courtiers avec leurs LP, l’infrastructure des flux et les régimes de volatilité du marché. Un recalibrage immédiat s’impose lorsque : un courtier change de LP ou de moteur de cotation ; un changement de fournisseur VPS ou de routage réseau affecte la latence des flux ; ou la volatilité de l’instrument change durablement. La journalisation d’attribution par signal de SharpTrader fournit les données nécessaires au calibrage continu, sans mode hors ligne séparé.
Difference-to-open · Filtre par flux de référence rapide · Journalisation d’attribution par signal · Compatible FIX API · 25 ans de développement en arbitrage