01 · Anatomie d'une stratégie d'order flow¶
Avant de décrire des stratégies particulières, il faut fixer le squelette commun. Toutes celles qui suivent partagent la même structure en six couches, et c'est cette structure — pas le motif d'entrée — qui détermine si le résultat est exploitable.
Les six couches¶
┌─────────────────────────────────────────┐
│ 6. Gestion du risque et conformité │ plafonds, arrêts, règles prop
├─────────────────────────────────────────┤
│ 5. Sortie │ cible, stop, temps maximal
├─────────────────────────────────────────┤
│ 4. Exécution │ type d'ordre, timing, taille
├─────────────────────────────────────────┤
│ 3. Déclencheur │ le motif d'order flow
├─────────────────────────────────────────┤
│ 2. Zone │ où le signal est recevable
├─────────────────────────────────────────┤
│ 1. Régime │ quand la stratégie est active
└─────────────────────────────────────────┘
L'erreur d'ordre
La quasi-totalité des traders débutants commencent par la couche 3 — le motif — et ne construisent jamais les couches 1 et 2. Le résultat est un bot qui se déclenche partout, tout le temps, et dont le taux de réussite converge vers celui du hasard, coûts déduits.
Le filtre est la stratégie. Le motif n'est qu'un déclencheur.
Couche 1 — Le régime¶
Une stratégie de retournement fonctionne en range et se fait détruire en tendance. Une stratégie de continuation fait l'inverse. Aucune ne fonctionne dans un marché à faible volume.
Descripteurs de régime calculables :
| Descripteur | Calcul | Usage |
|---|---|---|
| Volatilité réalisée | écart-type des rendements sur N barres | Dimensionnement et activation |
| Ratio d'efficience | \(\lvert P_n - P_0\rvert / \sum \lvert P_i - P_{i-1}\rvert\) | Tendance (proche de 1) vs range (proche de 0) |
| Volume relatif | volume / moyenne du même créneau sur 20 séances | Participation |
| Largeur de la value area | quantiles du profil de volume | Compression / expansion |
Le filtre horaire est le plus rentable de tous
Les futures d'indice américains ont une structure intrajournalière très marquée : ouverture cash (15 h 30 heure de Paris) volatile et liquide, milieu de séance atone, dernière heure active. Restreindre un bot aux deux à trois heures suivant l'ouverture cash élimine souvent la majorité des trades perdants sans aucun ajustement du motif.
C'est le premier filtre à tester, avant toute optimisation de paramètre.
Couche 2 — La zone¶
Un motif d'order flow n'a de valeur informationnelle qu'à un endroit où quelque chose est en jeu. Une absorption au milieu de nulle part n'informe sur rien.
Zones usuelles, toutes calculables sans jugement :
| Zone | Définition |
|---|---|
| Extrêmes de la veille | plus haut / plus bas de la séance précédente |
| VWAP et ses bandes | prix moyen pondéré par le volume, ± k écarts-types |
| POC de la veille | prix du plus gros volume de la séance précédente |
| Value area | plage contenant 70 % du volume |
| Extrêmes de la séance d'Asie/Europe | plus haut/bas de la session précédente |
| Chiffres ronds | multiples de 25 ou 50 points sur ES |
Pourquoi les zones fonctionnent (probablement)
Non par magie, mais parce que beaucoup d'acteurs y ont des ordres. Les stops se concentrent au-delà des extrêmes ; les algorithmes d'exécution institutionnels se calent sur le VWAP. La zone est un endroit où la liquidité est structurellement présente, donc un endroit où l'absorption et les sweeps ont un sens.
Cette explication est plausible et cohérente avec la microstructure ; elle n'est pas démontrée par une étude publiée. Traitez-la comme une hypothèse de travail à valider sur vos données.
Couche 3 — Le déclencheur¶
C'est le motif d'order flow proprement dit : absorption, imbalances empilées, sweep, OFI extrême. Chacun fait l'objet d'un chapitre.
Trois exigences pour qu'un déclencheur soit utilisable par un bot :
- Calculable sans ambiguïté. Si deux implémentations peuvent diverger, ce n'est pas un déclencheur, c'est une impression.
- Seuils relatifs. Toute constante doit être exprimée en percentile d'une distribution récente, jamais en valeur absolue.
- Horizon compatible avec votre latence. Cf. Frictions, coûts et latence.
Couche 4 — L'exécution¶
Deux familles :
| Approche | Ordre | Avantage | Inconvénient |
|---|---|---|---|
| Agressive | marché ou limite marketable | Exécution certaine | Paie le spread, subit le slippage |
| Passive | limite au prix du signal | Économise le spread | Peut ne jamais être exécutée |
Le piège de l'exécution passive
Un ordre limité passif n'est exécuté que si le marché vient vous chercher — c'est-à-dire majoritairement quand vous avez tort. C'est la sélection adverse : vous êtes exécuté sur les trades perdants et manquez les gagnants.
Un backtest qui suppose une exécution passive systématique surestime massivement la performance. Sans données MBO et modèle de file, il est impossible d'évaluer honnêtement une stratégie passive.
Recommandation : commencez agressif. Le coût est visible et modélisable.
Le compromis intermédiaire : ordre limité au prix courant avec délai d'expiration court (2 à 5 secondes), converti en ordre au marché si non exécuté. On capte le spread quand c'est possible sans subir la sélection adverse.
Couche 5 — La sortie¶
Trois sorties, toujours les trois :
| Sortie | Rôle |
|---|---|
| Cible (take-profit) | Réalise le gain |
| Stop | Borne la perte |
| Temps maximal | Ferme si le scénario ne se réalise pas |
La sortie temporelle est sous-utilisée
Un signal d'order flow a un horizon d'information. Si le motif d'absorption détecté n'a pas produit de mouvement en 90 secondes, l'information est périmée : rester en position revient à détenir un pari directionnel aléatoire, avec le risque associé mais sans l'avantage.
Ajouter une sortie temporelle réduit presque toujours le drawdown, souvent sans réduire l'espérance. Mesurez-la : c'est un paramètre à fort effet et faible risque de surajustement.
Le ratio cible/stop¶
Comme établi au chapitre Frictions, une configuration symétrique est condamnée sur MES : 58,2 % de réussite requis à 8/8, 66,5 % à 4/4. Les configurations viables sont asymétriques, avec un taux d'équilibre de 40,6 % en 12/6 et 37,7 % en 20/10.
L'asymétrie n'est pas gratuite
Un TP à 12 ticks et un SL à 6 ticks donne mécaniquement un taux de réussite plus faible. La question n'est pas « quel ratio choisir » mais « quel ratio mon signal supporte-t-il ». Un motif dont l'information porte sur 4 ticks ne produira jamais 12 ticks de façon fiable, quel que soit le paramétrage.
Mesurez d'abord la distribution de l'excursion favorable maximale (MFE) après vos signaux. Elle dicte le TP atteignable. Le SL se déduit ensuite du taux d'équilibre.
Couche 6 — Le risque et la conformité¶
Traité au chapitre Filtres de contexte et risque et, pour les contraintes prop, au chapitre Règles des prop firms.
La méthode de validation¶
Pour chaque stratégie décrite dans les chapitres suivants, appliquez cette séquence — dans cet ordre :
- Mesurer la fréquence. Combien de signaux par séance ? Moins de 2 : trop peu pour conclure. Plus de 50 : le seuil est trop lâche.
- Mesurer la MFE et la MAE (excursions favorable et défavorable maximales) sur une fenêtre fixe après signal, sans aucune règle de sortie. C'est la mesure du contenu informationnel brut.
- Comparer à un signal aléatoire de même fréquence et même distribution horaire. Si la MFE médiane du signal ne dépasse pas celle du hasard, arrêtez là.
- Seulement ensuite, ajouter TP, SL, sortie temporelle et coûts.
- Valider hors échantillon sur une période jamais utilisée pour le choix des paramètres.
L'étape 3 est celle qu'on saute
Un backtest positif ne prouve rien sans comparaison à un signal aléatoire de même fréquence. Sur une période haussière, un bot qui achète au hasard produit une courbe de capital croissante. La comparaison au hasard est la seule protection contre cette illusion, et elle coûte vingt lignes de code.
Résumé¶
- Six couches : régime, zone, déclencheur, exécution, sortie, risque.
- Le filtre (couches 1-2) compte plus que le motif (couche 3).
- Le filtre horaire est le plus rentable et le plus simple.
- Commencez par une exécution agressive : son coût est modélisable.
- Ajoutez toujours une sortie temporelle.
- Validez contre un signal aléatoire de même fréquence avant tout.
Chapitre suivant : Absorption au niveau