Aller au contenu

06 · Frictions, coûts et latence

Une stratégie d'order flow vise des mouvements de quelques ticks. À cette échelle, les frictions ne sont pas une correction marginale : elles sont l'essentiel du problème. Ce chapitre les quantifie une fois pour toutes, et les chiffres obtenus ici servent de base à toute la partie Économie.

Les quatre frictions

Friction Nature Ordre de grandeur
Commission fixe, par contrat 1,02 $ AR sur MES, 3,98 $ AR sur ES
Spread structurelle 1 tick
Slippage variable 0 à 2 ticks selon le régime
Latence temporelle 0,5 ms à 100 ms selon l'hébergement

Commissions

Chez Apex Trader Funding sur routage Rithmic, les tarifs affichés sont de 1,99 $ par côté sur les minis (ES, NQ), soit 3,98 $ aller-retour, et de 0,51 $ par côté sur les micros (MES, MNQ), soit 1,02 $ aller-retour (Apex, Rithmic Commissions & Instruments). Sur Tradovate et WealthCharts, les minis sont à 1,55 $ par côté, soit 3,10 $ aller-retour.

Chez un courtier classique, il faut y ajouter le frais de routage Rithmic de 0,10 $ par contrat exécuté (AMP Futures) ainsi que les frais de bourse et NFA.

Le poids relatif de la commission

C'est ici que le choix mini/micro devient une décision structurante, et non un simple choix de taille.

Contrat Valeur du tick Commission AR Commission en ticks
MES 1,25 $ 1,02 $ 0,82 tick
ES 12,50 $ 3,98 $ 0,32 tick
MNQ 0,50 $ 1,02 $ 2,04 ticks
NQ 5,00 $ 3,98 $ 0,80 tick

Limite importante

Sur MNQ, la commission aller-retour coûte plus de deux ticks. Une stratégie visant 4 ticks y perd la moitié de son objectif en frais. Le MNQ est le pire instrument possible pour un bot de scalping serré, alors qu'il est le plus populaire auprès des débutants à cause de sa volatilité apparente.

Le taux de réussite d'équilibre

Pour une stratégie à objectif \(TP\) ticks et stop \(SL\) ticks, le taux de réussite qui annule l'espérance est :

\[ w^{*} = \frac{SL \cdot V_t + C + \sigma \cdot V_t}{(TP + SL) \cdot V_t} \]
Symbole Signification Unité
\(V_t\) valeur du tick $
\(C\) commission aller-retour $
\(\sigma\) slippage moyen total (entrée + sortie) ticks

Avec 0,5 tick de slippage total, on obtient (valeurs calculées par le script economie.py) :

TP / SL (ticks) \(w^{*}\) sur MES \(w^{*}\) sur ES
4 / 4 66,5 % 60,2 %
6 / 6 61,0 % 56,8 %
8 / 8 58,2 % 55,1 %
12 / 12 55,5 % 53,4 %
12 / 6 40,6 % 37,9 %
6 / 12 74,0 % 71,2 %
20 / 10 37,7 % 36,1 %

À retenir

Une stratégie symétrique 4/4 sur MES exige 66,5 % de réussite pour ne rien gagner. Un taux de réussite supérieur à 65 % sur un horizon de quelques secondes n'existe pas de manière stable. Le scalping serré symétrique est mathématiquement condamné en retail — pas difficile, condamné.

Les configurations viables sont asymétriques : objectif nettement supérieur au stop, avec un taux de réussite modeste mais réel.

Le slippage

Le slippage est la différence entre le prix attendu et le prix obtenu. Trois sources :

  1. Traversée du spread. Un ordre au marché achète à l'ask et vend au bid : coût structurel de 1 tick par aller-retour, déjà inclus si l'on raisonne en ticks de mouvement du mid.
  2. Déplacement pendant la latence. Entre la décision et l'arrivée de l'ordre, le marché bouge. C'est le coût dont la latence est responsable.
  3. Impact de la taille. Négligeable pour un retail sur MES ou ES, sauf en micro-marchés ou en heures creuses.

Un slippage de 1 à 2 ticks en marché rapide est la norme rapportée, et les publications de données élargissent significativement les spreads (Damn Prop Firms).

Erreur fréquente

Backtester avec un slippage nul, ou avec un slippage constant. Le slippage est corrélé au signal : les motifs d'order flow se déclenchent précisément dans les moments d'activité intense, c'est-à-dire ceux où le slippage est maximal. Un backtest à slippage constant surestime systématiquement les stratégies d'order flow, et l'erreur est d'autant plus grande que le signal est bon.

La latence

Décomposition

\[ L_{\text{total}} = L_{\text{marché} \to \text{feed}} + L_{\text{feed} \to \text{bot}} + L_{\text{calcul}} + L_{\text{bot} \to \text{bourse}} \]
Composante Retail depuis chez soi VPS Chicago Colocation professionnelle
Feed → bot 20-80 ms ~0,5-1 ms < 100 µs
Calcul (Python) 0,1-5 ms 0,1-5 ms < 10 µs (C++/FPGA)
Bot → bourse 20-80 ms ~0,5-1 ms < 50 µs
Total réaliste 50-160 ms ~2-8 ms < 250 µs

Un VPS situé dans les centres de données proches du CME à Chicago/Aurora est annoncé à environ 0,52 ms de routage vers les passerelles Rithmic et CQG (QuantVPS). À l'autre extrémité, l'API R|Diamond de Rithmic revendique des temps de transit inférieurs à 250 microsecondes entre la réception de la donnée et l'exécution de l'ordre (Ironbeam).

Ce que la latence interdit

Le mur de latence

Avec 50 ms de latence totale, tout signal dont la demi-vie est inférieure à 50 ms est inexploitable par construction. Cela élimine :

  • l'arbitrage entre instruments corrélés (ES/NQ, ES/SPY) ;
  • la réaction pure aux publications macroéconomiques ;
  • la fourniture de liquidité en tête de file ;
  • toute stratégie basée sur le queue imbalance à un tick d'horizon.

Ce qui reste : les motifs dont le signal persiste plusieurs secondes. C'est précisément ce que ciblent l'absorption et les imbalances empilées.

Latence et taille de position

Un effet contre-intuitif mérite d'être signalé : la latence pénalise davantage les petites cibles. Un bot visant 12 ticks avec 1 tick de slippage perd 8 % de son objectif ; le même bot visant 4 ticks en perd 25 %. Augmenter l'horizon de la stratégie est donc un moyen direct de neutraliser un désavantage de latence — bien plus efficace que d'optimiser le code Python.

Conséquence de conception

Si votre latence est de 50 ms, ne cherchez pas à la réduire à 30 ms. Cherchez plutôt des signaux dont l'horizon est de 10 secondes. Le gain est d'un ordre de grandeur supérieur pour un effort dix fois moindre.

Le coût fixe mensuel

Les frictions ne sont pas seulement variables. Le montage complet a un coût fixe qui doit être amorti avant tout profit — détaillé au chapitre Coût total du montage. Pour donner l'ordre de grandeur immédiat : entre 50 $ et 350 $ par mois selon le niveau de données, le VPS et le nombre de comptes.

Sur MES avec une espérance de 1 $ par contrat et par trade, un coût fixe de 200 $/mois représente 200 trades-contrats de production uniquement pour atteindre l'équilibre.

Résumé

  • Sur MES, la commission aller-retour vaut 0,82 tick ; sur MNQ, plus de 2 ticks.
  • Une stratégie symétrique 4/4 sur MES exige 66,5 % de réussite pour l'équilibre : configuration à écarter.
  • Les configurations viables sont asymétriques (TP > SL).
  • Le slippage est corrélé au signal : le modéliser comme constant biaise le backtest en faveur de la stratégie.
  • La latence retail (50-160 ms) élimine toute stratégie sous la seconde ; allonger l'horizon est plus rentable qu'optimiser le code.

Chapitre précédent : Ce que dit la recherche · Partie suivante : Infrastructure