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 :
| 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 :
- 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.
- 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.
- 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¶
| 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