Les options et les CFD sont des instruments complexes et présentent un risque élevé de perte rapide en capital en raison de l'effet de levier.
72 % des comptes d'investisseurs particuliers perdent de l'argent lorsqu'ils investissent sur les CFD avec IG.
Vous devez vous assurer que vous comprenez le fonctionnement des CFD et que vous pouvez vous permettre de prendre le risque élevé de perdre votre argent.
L’order flow trading consiste à lire les ordres réellement exécutés sur un marché, au lieu de se limiter à la forme des bougies. Deux bougies identiques peuvent cacher des flux opposés. Dans l’une, des acheteurs agressifs poussent le prix. Dans l’autre, un gros vendeur absorbe tout et retient la hausse. Le graphique classique ne montre pas la différence. Le flux d’ordres, lui, la montre.
Cet article explique ce qu’est l’order flow, quels indicateurs utiliser, comment lire un footprint chart, et comment transformer ces lectures en variables testables dans une stratégie quantitative. Il contient des outils interactifs : joue avec les curseurs pour voir les mécanismes bouger. Tous les graphiques et simulateurs reposent sur des données simulées. Ils illustrent un concept, ils ne prouvent aucune performance.
Publié le 10 novembre 2026.
Mon verdict en 5 secondes
L’order flow montre qui pousse le prix et qui le retient, ce que la bougie cache. L’idée qui tient : lire le flux sur un niveau identifié à l’avance. Le piège : dans la simulation de cet article, les coûts avalent 55 % du gain brut, et 65 % hors échantillon.
TL;DR : l’essentiel de l’order flow en 6 points
Définition : l’order flow est le flux des ordres d’achat et de vente exécutés au marché, mesuré niveau de prix par niveau de prix.
Delta et CVD : le delta mesure la différence entre achats et ventes agressifs. Le delta cumulé (CVD) suit cette différence dans le temps.
Footprint : le footprint chart affiche les volumes au bid et à l’ask pour chaque niveau de chaque bougie et révèle les déséquilibres.
Recherche : selon Cont, Kukanov et Stoikov (2014), l’order flow imbalance explique en moyenne 65 % des variations de prix sur de très courts intervalles, sur 50 actions américaines.
Un indicateur contesté : la VPIN, autre mesure de flux, a été critiquée par Andersen et Bondarenko en 2015.
Les coûts : un backtest d’order flow doit toujours les intégrer, car ils peuvent avaler plus de la moitié du gain brut.
Un micro résumé pour analysé sous un angle différent
📩
La Newsletter Raphaxelo
Stratégies quantitatives, backtests et algo trading — directement dans ta boîte mail.
Chargement des dernières newsletters…
☕
Soutenir le Labo
Ce contenu est gratuit et indépendant. Un café pour garder la machine en marche ?
Définition. L’order flow désigne le flux des ordres d’achat et de vente qui arrivent sur un marché. On y distingue les ordres au marché, qui consomment la liquidité, et les ordres à cours limité, qui la fournissent. L’order flow trading analyse ce flux pour savoir qui pousse le prix, qui le retient, et à quel niveau.
Chaque transaction a un acheteur et un vendeur. Un seul des deux est l’agresseur. Si un acheteur envoie un ordre au marché, il paie le prix de vente affiché, l’ask. La transaction est classée comme un achat agressif. Si un vendeur envoie un ordre au marché, il touche le prix d’achat affiché, le bid. La transaction est classée comme une vente agressive.
Cette distinction change tout. Le volume classique additionne les deux côtés. L’order flow les sépare. Teste-le ci-dessous.
Qui est l’agresseur ? Choisis un type d’ordre
Bid : prix d’achat affiché5 100,00
Ask : prix de vente affiché5 100,25
Prix simulés, à titre d’illustration.
Order flow, carnet d’ordres et volume : trois choses différentes
Ces trois notions sont souvent mélangées. Voici comment les distinguer.
Le carnet d’ordres (DOM) montre les ordres limites en attente, côté bid et côté ask. C’est l’intention affichée. Elle peut disparaître en une fraction de seconde.
Le volume compte les contrats ou les lots échangés pendant une période. Il ne dit pas qui a pris l’initiative.
L’order flow classe chaque transaction exécutée selon son agresseur. C’est l’action réelle, pas l’intention.
Le terme technique qui regroupe ces sujets s’appelle la microstructure de marché. Maureen O’Hara en pose les bases dans Market Microstructure Theory (Blackwell, 1995), la référence académique du domaine.
À retenir : l’order flow classe chaque transaction selon son agresseur. Le volume additionne les deux côtés, le carnet montre des intentions, le flux montre des actes.
Partenaires recommandés
🦉
Hiboo Expert
L’outil d’analyse fondamentale incontournable pour évaluer la santé financière d’une action.
⚠️ Avertissement sur les risques :
Les options et les CFD sont des instruments complexes et présentent un risque élevé de perte rapide en capital en raison de l’effet de levier.
72 % des comptes d’investisseurs particuliers perdent de l’argent lorsqu’ils investissent sur les CFD avec IG.
Vous devez vous assurer que vous comprenez le fonctionnement des CFD et que vous pouvez vous permettre de prendre le risque élevé de perdre votre argent.
Certains liens présents sur cette page sont des liens d’affiliation et peuvent donner lieu à une rémunération, sans coût supplémentaire pour vous.
Pourquoi le prix seul ne suffit-il pas à lire un marché ?
Une bougie résume une séance en quatre chiffres : ouverture, plus haut, plus bas, clôture. Elle ne dit rien sur la façon dont le prix a bougé. C’est l’une des limites de l’analyse graphique : le graphique garde le résultat, pas le flux qui l’a produit. Une hausse de 10 points avec 500 contrats d’achats agressifs n’a pas la même valeur qu’une hausse de 10 points avec 5 000 contrats de ventes absorbées en face.
9 600 milliards de dollars
par jour sur le marché des changes en avril 2025, soit 28 % de plus qu’en 2022 (BIS, 30 septembre 2025).
Ce marché est de gré à gré. Il n’existe pas de bande de transactions centralisée. Ce que ton courtier affiche est un échantillon, pas le marché. C’est pour cette raison que l’order flow se pratique surtout sur les marchés où les transactions sont publiées : futures, actions, certaines cryptos. Nous y revenons plus bas.
Le lien avec la liquidité
Les niveaux où les ordres s’accumulent sont bien connus : plus haut et plus bas de la veille, plus haut et plus bas du jour, zones de valeur du volume profile. Ce sont des zones de liquidité, proches des supports et résistances que tu traces déjà. Le prix y revient souvent parce que c’est là qu’il trouve de quoi exécuter de gros ordres.
Le prix montre qu’il est arrivé sur un niveau. L’order flow montre ce qui s’y passe. Un balayage de liquidité au-dessus d’un plus haut peut annoncer un retournement ou une continuation. La différence se lit dans le flux : des acheteurs qui continuent de frapper l’ask, ou des acheteurs qui s’épuisent face à un mur de vendeurs.
À retenir : la bougie garde le résultat, pas le flux. Sans niveau identifié à l’avance, aucune lecture d’order flow n’a de poids.
Quels sont les indicateurs clés de l’order flow ?
Six outils couvrent l’essentiel. Chacun répond à une question précise. Pour les indicateurs construits uniquement sur le prix, lis d’abord les 10 indicateurs techniques incontournables.
Outil
La question à laquelle il répond
Ce qu’il révèle
Delta
Qui est l’agresseur sur cette bougie ?
Une absorption si le delta est fort et le prix stable
Delta cumulé (CVD)
La pression s’accumule-t-elle ?
Des divergences avec le prix
Footprint chart
Que s’est-il passé à chaque niveau de prix ?
Le volume au bid et à l’ask dans la bougie
Imbalances
Où un côté écrase-t-il l’autre ?
Des déséquilibres empilés
Volume profile
Où le marché a-t-il accepté le prix ?
POC, VAH et VAL
Time and sales + DOM
Que s’exécute-t-il, et que reste-t-il en attente ?
Absorption, iceberg, leurre
Le delta : qui est l’agresseur sur cette bougie ?
Définition. Le delta est la différence entre le volume exécuté à l’ask (achats agressifs) et le volume exécuté au bid (ventes agressives) sur une période donnée. Un delta positif indique que les acheteurs dominent l’initiative. Un delta négatif indique l’inverse.
Un delta élevé avec un prix qui monte confirme la hausse. Un delta élevé avec un prix qui stagne signale une absorption : quelqu’un vend en face, en silence. Règle les curseurs pour voir la lecture changer.
Figure 1 : delta par bougie de 1 minute (données simulées).
Simulateur de delta : confirmation ou absorption ?
Achats agressifs (contrats)620
Ventes agressives (contrats)380
Variation du prix sur la bougie (ticks)+8
Volume1 000
Delta+240
Delta normalisé+24 %
Seuils pédagogiques (delta normalisé de 20 % ou plus, prix « stable » sous 3 ticks). Ce ne sont pas des règles de trading.
Le delta cumulé (CVD) : la pression s’accumule-t-elle ?
Définition. Le delta cumulé, ou CVD pour cumulative volume delta, additionne les deltas bougie après bougie depuis un point de départ. Il montre si la pression acheteuse ou vendeuse s’installe dans la durée, indépendamment du prix.
Le CVD sert surtout à repérer des divergences. Si le prix signe un plus haut mais que le CVD signe un plus bas, les acheteurs agressifs s’essoufflent. Le mouvement avance sur l’élan, pas sur la demande.
Divergence prix / delta cumulé (données simulées)
Le footprint chart : que s’est-il passé à chaque niveau de prix ?
Définition. Le footprint chart est un graphique qui découpe chaque bougie en niveaux de prix et affiche, pour chacun, le volume exécuté au bid et à l’ask. Il rend visible la répartition des échanges à l’intérieur d’une bougie, là où un graphique en chandeliers ne montre qu’un corps et deux mèches.
C’est l’outil central de l’order flow trading. Nous le détaillons dans la section suivante.
Les imbalances : où un côté écrase l’autre ?
Définition. Une imbalance, ou déséquilibre, apparaît quand le volume d’un côté dépasse celui du côté opposé selon un ratio fixé, souvent 3 pour 1, lu en diagonale entre deux niveaux de prix voisins. Plusieurs imbalances alignées forment un déséquilibre empilé.
Un déséquilibre empilé acheteur signale une agressivité soutenue sur plusieurs niveaux. Il laisse souvent une zone que le prix revisite plus tard, parce que personne n’a vendu là.
Le volume profile : où le marché a-t-il accepté le prix ?
Définition. Le volume profile est un histogramme horizontal qui répartit le volume échangé par niveau de prix sur une période. Il met en évidence le POC (point of control, le niveau le plus échangé) et la zone de valeur, qui regroupe environ 70 % du volume, bornée par la VAL (bas) et la VAH (haut).
Le POC agit comme un aimant. La zone de valeur dit où le marché juge le prix « juste » pour la séance. Un prix qui sort de cette zone et n’y revient pas montre qu’une nouvelle valeur s’installe.
Volume profile : déplace la zone de valeur
Part du volume dans la zone de valeur70 %
POC0
VAH (haut)0
VAL (bas)0
Volume dans la zone0
Profil simulé de 21 niveaux. Zone calculée en ajoutant deux niveaux à la fois autour du POC, du côté qui a le plus de volume. La zone dépasse donc légèrement la cible. Orange : POC. Doré : zone de valeur.
Le time and sales et le DOM : la lecture en direct
Définition. Le time and sales est la liste, en temps réel, des transactions exécutées avec leur heure, leur prix, leur taille et leur côté. Le DOM (depth of market) est l’échelle de prix qui montre les ordres limites en attente. Les lire ensemble s’appelle le tape reading.
Le time and sales dit ce qui s’exécute. Le DOM dit ce qui attend. Un ordre limite de 500 contrats qui se fait frapper sans que le prix bouge indique qu’il absorbe. Un ordre limite qui disparaît avant d’être touché indique un leurre, ou une annulation.
L’absorption et les ordres iceberg : le flux invisible
Définition. L’absorption se produit quand des ordres agressifs sont exécutés sans faire bouger le prix, parce qu’un ordre limite plus gros les absorbe. Un ordre iceberg est un ordre limite dont seule une petite partie est affichée dans le carnet. Le reste se révèle au fur et à mesure des exécutions.
Les deux phénomènes se repèrent de la même façon : beaucoup de volume, peu de mouvement. C’est la signature d’un acteur de taille qui accumule ou distribue.
À retenir : le delta dit qui attaque, le CVD dit si la pression dure, le footprint dit où, le volume profile dit à quel prix le marché est d’accord. Beaucoup de volume sans mouvement signale une absorption.
📩
La Newsletter Raphaxelo
Stratégies quantitatives, backtests et algo trading — directement dans ta boîte mail.
Chargement des dernières newsletters…
☕
Soutenir le Labo
Ce contenu est gratuit et indépendant. Un café pour garder la machine en marche ?
Voici la méthode, appliquée au graphique ci-dessous. Chaque cellule affiche le volume au bid à gauche et le volume à l’ask à droite.
Repère le niveau de prix. Une lecture sans contexte ne vaut rien. Note si la bougie se forme sur un plus haut de la veille, un POC ou une zone de valeur. Sans niveau, le footprint n’a rien à confirmer.
Cherche le POC de la bougie. C’est la cellule la plus échangée, entourée en jaune. Si le POC est en haut de la bougie, les échanges se sont concentrés près du sommet. S’il est en bas, c’est l’inverse.
Compte les déséquilibres. Sur la bougie 4, trois niveaux consécutifs affichent un volume à l’ask très supérieur au bid du niveau inférieur (161, 147 et 147 contre 14 à 18). C’est un déséquilibre acheteur empilé. Sur la bougie 2, trois niveaux affichent le schéma inverse côté bid : une pression vendeuse sur le bas de la bougie.
Compare avec le mouvement du prix. Si le déséquilibre acheteur apparaît pendant que le prix monte, il confirme. S’il apparaît pendant que le prix refuse de monter, il révèle une absorption.
Attends la suite. Un seul signal ne suffit pas. Observe la bougie suivante : les acheteurs continuent-ils de frapper l’ask, ou le volume disparaît-il ?
Définis l’invalidation avant d’entrer. Place l’arrêt au niveau qui annule ta lecture. Pour un déséquilibre acheteur empilé, c’est le bas de la zone empilée.
Essaie maintenant sur un footprint interactif. Change de bougie, puis fais varier le ratio : à 3 pour 1, tu retrouves les empilements décrits à l’étape 3. En baissant le ratio, des déséquilibres plus faibles apparaissent et le signal se brouille.
Footprint interactif : règle le ratio d’imbalance
Ratio d’imbalance (lu en diagonale)3 pour 1
Delta de la bougie0
Imbalances acheteuses0
Imbalances vendeuses0
Données simulées, inspirées du footprint ci-dessus. Vert : volume à l’ask très supérieur au volume au bid du niveau inférieur. Rouge : volume au bid très supérieur au volume à l’ask du niveau supérieur. Trait jaune : POC de la bougie.
Un conseil de pratique : ouvre un compte de simulation et lis des footprints sans trader pendant deux semaines. L’œil apprend à reconnaître les formes avant que l’argent soit en jeu.
À retenir : le footprint se lit en six étapes : niveau, POC, déséquilibres, mouvement du prix, confirmation, invalidation. Un ratio plus bas fabrique plus de signaux, et surtout plus de faux.
Comment repérer une absorption ou un piège avec l’order flow ?
Un piège, ou trap, naît quand des participants entrent sur un mouvement qui échoue aussitôt. L’order flow permet de le voir en temps réel.
Voici les trois signaux à croiser.
La divergence de delta. Le prix fait un nouveau plus haut, le delta de la bougie ou le CVD ne suit pas. Les acheteurs agressifs deviennent moins nombreux à chaque poussée.
Le volume sans mouvement. Un gros volume se concentre sur un niveau sans que le prix avance. Quelqu’un absorbe. Si c’est au-dessus d’un plus haut balayé, c’est souvent un vendeur de taille qui profite de la liquidité des acheteurs de cassure.
Le déséquilibre qui s’inverse. Après une cassure, les imbalances acheteuses disparaissent et des imbalances vendeuses apparaissent en haut de bougie. Les acheteurs se font piéger dans la zone.
Ces signaux ne prédisent rien seuls. Ils pèsent quand ils tombent sur un niveau identifié à l’avance. Sans niveau, ils produisent surtout de faux positifs.
À retenir : trois signaux à croiser : divergence de delta, volume sans mouvement, déséquilibre qui s’inverse. Aucun ne prédit seul.
Comment intégrer l’order flow dans une stratégie quantitative ?
Une lecture discrétionnaire du footprint repose sur l’œil du trader. Une stratégie quantitative remplace l’œil par des variables mesurables et une règle écrite. Le gain : tu peux tester ta lecture sur des milliers de situations et mesurer ce qu’elle rapporte vraiment.
Quelles variables d’order flow peut-on mesurer ?
Voici les variables les plus utilisées, avec ce que chacune capte.
Le delta normalisé (delta divisé par le volume de la bougie) : il mesure la part de l’agressivité nette, indépendamment du volume total. Il permet de comparer une bougie du matin et une bougie de midi.
La pente du CVD sur une fenêtre glissante : elle mesure la persistance de la pression acheteuse ou vendeuse.
La part du volume à l’ask : elle indique le côté qui prend l’initiative.
Le ratio d’imbalances : le nombre de niveaux déséquilibrés dans la bougie rapporté au nombre de niveaux total.
La distance au POC ou à la VAH / VAL, en ticks ou en multiples de l’ATR : elle situe le prix dans la structure du volume.
L’order flow imbalance (OFI), calculé sur le haut du carnet : il mesure la variation nette de l’offre et de la demande au meilleur bid et au meilleur ask.
Que dit la recherche sur l’order flow imbalance ?
Définition. L’order flow imbalance (OFI) est la somme des variations de taille aux meilleurs bid et ask, signées selon qu’elles renforcent la demande ou l’offre. Il mesure la pression nette exercée sur le haut du carnet d’ordres.
Selon Rama Cont, Arseniy Kukanov et Sasha Stoikov, en 2014 dans le Journal of Financial Econometrics, l’OFI explique les variations du prix moyen sur de courts intervalles avec un R² moyen de 65 %, sur 50 actions américaines (données NYSE TAQ). Ils montrent aussi que la pente de cette relation est inversement proportionnelle à la profondeur du carnet : plus le carnet est épais, moins le prix bouge pour un même déséquilibre (article sur arXiv, DOI).
Lis bien cette phrase. L’OFI explique le mouvement du prix dans le même intervalle. Il décrit ce qui vient de se produire. Il ne prédit pas, à lui seul, la prochaine variation. Une stratégie doit chercher un effet qui persiste après le signal, ou qui se combine avec un contexte (niveau, volatilité, heure).
Le curseur ci-dessous reproduit l’idée centrale de l’étude : en épaississant le carnet, la droite s’aplatit.
OFI et variation de prix : l’effet de la profondeur du carnet
Profondeur du carnet (1 = référence)× 1,0
Pente (ticks par unité d’OFI)0
R² de la droite0
Un carnet deux fois plus épais divise la pente par deux, alors que le R² reste presque le même. C’est le résultat de Cont, Kukanov et Stoikov : à déséquilibre égal, le prix bouge moins quand le carnet est profond.
Nuage simulé de 90 points. Le R² est volontairement inférieur aux 65 % de l’étude. Il illustre le mécanisme et ne prouve rien sur un marché réel.
La VPIN mesure-t-elle vraiment la toxicité du flux ?
Définition. La VPIN (volume-synchronized probability of informed trading) est un indicateur qui estime la part du volume provenant de traders mieux informés que les teneurs de marché. Une VPIN élevée signalerait un flux « toxique », qui précède souvent une chute de liquidité.
David Easley, Marcos López de Prado et Maureen O’Hara la présentent en 2012 dans la Review of Financial Studies (vol. 25, n° 5, pp. 1457-1493), en la reliant au flash crash du 6 mai 2010. L’indicateur a été contesté. Torben Andersen et Oleg Bondarenko concluent en 2015, dans la Review of Finance (vol. 19, n° 1, pp. 1-54), que la VPIN ne convient pas pour capter la toxicité du flux. Les auteurs de la VPIN ont contesté ces conclusions, estimant que le test d’Andersen et Bondarenko ne reflète pas leur méthode.
Retiens la leçon pratique : un indicateur d’order flow dépend de la façon dont tu classes les transactions entre achats et ventes. Une erreur de classification peut créer un signal qui n’existe pas.
Comment calculer delta, CVD et OFI en Python ?
Si tu hésites entre un code maison et une plateforme, compare les deux dans notre article ProRealTime vs Python. Le code ci-dessous est autonome : il génère d’abord des transactions simulées (heure, prix, taille, côté de l’agresseur), que tu remplaces ensuite par ton propre fichier. Il construit des bougies d’une minute avec le delta, le CVD et le delta normalisé. La seconde fonction calcule l’OFI d’après la formule de Cont, Kukanov et Stoikov, à partir des mises à jour du meilleur bid et du meilleur ask.
import numpy as np
import pandas as pd
# ------------------------------------------------------------------
# 1. Données : des ticks simulés (remplace par tes vraies données)
# ------------------------------------------------------------------
rng = np.random.default_rng(42)
n = 60_000
time = pd.date_range("2026-10-01 09:30", periods=n, freq="500ms")
# régime d'agressivité qui varie lentement (le flux a de la persistance)
regime = np.convolve(rng.normal(0, 1, n), np.ones(600) / 600, mode="same")
p_buy = np.clip(0.5 + 6 * regime, 0.2, 0.8)
side = np.where(rng.random(n) < p_buy, "buy", "sell")
sign = np.where(side == "buy", 1, -1)
# le prix suit un peu le flux agressif, plus du bruit (en ticks de 0,25)
price = 5000 + np.cumsum(0.25 * (0.15 * sign + rng.normal(0, 1, n)))
price = np.round(price / 0.25) * 0.25
size = rng.integers(1, 30, size=n)
ticks = pd.DataFrame({"time": time, "price": price, "size": size, "side": side})
# Avec tes données réelles (CSV avec time, price, size, side) :
# ticks = pd.read_csv("mes_ticks.csv", parse_dates=["time"])
# ------------------------------------------------------------------
# 2. Bougies d'une minute avec delta, CVD et delta normalisé
# ------------------------------------------------------------------
ticks["signed"] = np.where(ticks["side"] == "buy", ticks["size"], -ticks["size"])
bars = ticks.set_index("time").resample("1min").agg(
open=("price", "first"),
high=("price", "max"),
low=("price", "min"),
close=("price", "last"),
volume=("size", "sum"),
delta=("signed", "sum"),
)
bars["cvd"] = bars["delta"].cumsum()
bars["delta_ratio"] = bars["delta"] / bars["volume"]
print(bars.head())
La fonction ci-dessous calcule l’OFI sur un haut de carnet. L’exemple en génère un simulé de 2 000 mises à jour ; remplace-le par tes propres cotations bid/ask.
# ------------------------------------------------------------------
# 3. OFI (Cont, Kukanov, Stoikov, 2014) sur des mises à jour du haut du carnet
# ------------------------------------------------------------------
def ofi(q):
"""q : DataFrame avec bid_px, bid_sz, ask_px, ask_sz (une ligne par mise à jour)."""
bp, bs, ap, a_s = q.bid_px, q.bid_sz, q.ask_px, q.ask_sz
e_bid = np.where(bp > bp.shift(), bs,
np.where(bp == bp.shift(), bs - bs.shift(), -bs.shift()))
e_ask = np.where(ap < ap.shift(), a_s,
np.where(ap == ap.shift(), a_s - a_s.shift(), -a_s.shift()))
return pd.Series(e_bid - e_ask, index=q.index)
# Exemple minimal : un haut de carnet simulé
m = 2_000
mid = 5000 + np.cumsum(rng.choice([-0.25, 0, 0.25], size=m))
quotes = pd.DataFrame({
"bid_px": mid - 0.125, "bid_sz": rng.integers(5, 200, m),
"ask_px": mid + 0.125, "ask_sz": rng.integers(5, 200, m),
})
quotes["ofi"] = ofi(quotes)
print(quotes["ofi"].describe())
Si ton fournisseur de données ne donne pas le côté de l’agresseur, il faut le déduire. La méthode de référence, la règle de Lee et Ready (Journal of Finance, 1991), compare le prix de la transaction au milieu du bid et de l’ask. Elle commet des erreurs, surtout quand la volatilité monte.
Comment backtester un signal d’order flow sans se mentir ?
Un backtest d’order flow échoue rarement sur le signal. Il échoue sur les coûts, sur le calibrage et sur les données. Voici la règle de base, puis la simulation complète de cet article : un flux aléatoire légèrement autocorrélé, un petit avantage injecté dans les rendements, un seuil calibré sur les 60 % premiers des données.
# ------------------------------------------------------------------
# 4. Backtest : la simulation de l'article (même graine, mêmes chiffres)
# ------------------------------------------------------------------
def flux_simule(n, seed, phi=0.3):
"""Flux net signé par bougie (en écarts-types), légèrement autocorrélé."""
rng = np.random.default_rng(seed)
flow = np.zeros(n)
for i in range(1, n):
flow[i] = phi * flow[i - 1] + rng.normal()
return flow, rng
def run_backtest(flow_prev, ret, seuil, cout):
"""Position = sens du flux de la bougie précédente, si son intensité dépasse le seuil."""
pos = np.where(np.abs(flow_prev) > seuil, np.sign(flow_prev), 0.0)
rotation = np.abs(np.diff(pos, prepend=0.0))
brut = pos * ret
net = brut - cout * rotation
return brut, net
n, cout = 6000, 0.03
flow, rng = flux_simule(n + 1, seed=5)
flow_prev = flow[:-1] # le flux de la bougie précédente
ret = 0.05 * flow_prev + rng.normal(0, 0.25, n) # l'avantage est injecté par construction
coupe = int(n * 0.6) # 60 % calibrage, 40 % test
# Calibrage du seuil sur les 60 % premiers
seuils = [0.25, 0.5, 0.75, 1.0, 1.25]
scores = [run_backtest(flow_prev[:coupe], ret[:coupe], s, cout)[1].sum() for s in seuils]
seuil = seuils[int(np.argmax(scores))]
brut, net = run_backtest(flow_prev, ret, seuil, cout)
print(f"Seuil retenu : {seuil}")
for nom, tr in [("Calibrage", slice(0, coupe)), ("Test", slice(coupe, n)), ("Total", slice(0, n))]:
b, nn = brut[tr].sum(), net[tr].sum()
print(f"{nom:10s} brut {b:5.0f} | net {nn:5.0f} | coûts absorbent {1 - nn / b:.0%}")
Ce code reproduit la simulation de l’article, graine comprise : tu obtiens les mêmes chiffres. Sur toute la période, le gain brut atteint 249 ticks et le gain net de coûts, à 0,03 tick par changement de position, 112 ticks. Les coûts absorbent donc 55 % du gain brut. Attention : cette période inclut les données de calibrage. Sur les 40 % de test seuls, le gain brut tombe à 86 ticks et le net à 30 : les coûts en absorbent 65 %. Et l’avantage est injecté dans les données par construction : sur un vrai marché, rien ne le garantit. Pour juger un résultat au-delà du gain, utilise le ratio de Sharpe, le drawdown et le win-loss ratio.
Fais varier le coût par changement de position pour voir à quelle vitesse le gain fond.
Backtest simulé : combien de gain brut les coûts avalent-ils ?
Coût par changement de position (ticks)0,03
Gain brut249 ticks
Gain net de coûts112 ticks
Coûts payés137
Part du gain brut absorbée55 %
Coût de rentabilité0,055
Chiffres mesurés dans la simulation de l’article (6 000 bougies, seuil calibré sur les 60 % premiers). Toute la période : 249 ticks bruts, 4 549 changements de position. Test seul : 86 ticks bruts, 1 858 changements. L’avantage est injecté par construction : données simulées.
Cinq règles évitent la plupart des illusions.
Sépare calibrage et test. Règle le seuil sur une partie des données, juge-le sur l’autre. Un seuil réglé sur tout l’historique mesure ta capacité à ajuster, pas celle du signal.
Intègre les coûts réels. Commissions, écart bid/ask, glissement. Sur des signaux à haute fréquence, ils décident de tout.
Décale le signal. La bougie qui produit le signal ne peut pas être celle qui le trade. Le code ci-dessus utilise le flux de la bougie précédente.
Vérifie la classification des transactions. Une règle de classification fausse peut fabriquer un edge fictif.
Teste plusieurs régimes. Un signal qui marche en tendance et échoue en range se voit seulement si tu coupes l’historique par période de volatilité.
Marcos López de Prado détaille ces pièges dans Advances in Financial Machine Learning (Wiley, 2018), notamment le risque de sur-optimisation quand on teste beaucoup de variantes d’un même signal. D’autres pièges classiques sont listés dans notre article sur les erreurs courantes en trading algorithmique.
À retenir : l’OFI décrit le prix dans le même intervalle, il ne le prédit pas. Un bon backtest sépare calibrage et test, décale le signal et facture les coûts : dans la simulation, ils absorbent 55 % du gain brut sur toute la période, 65 % sur le test.
L’order flow fonctionne-t-il sur tous les marchés ?
Non. La qualité de l’order flow dépend de la qualité des données de transactions. Voici le panorama, marché par marché.
L’order flow selon le marché : quelle qualité de données ?
Qualité de la lecture
À retenir
Notation indicative de l’auteur, tirée du panorama ci-dessus. Ce n’est pas un score mesuré.
Futures et indices : les transactions passent par une bourse unique et sont publiées avec leur taille. C’est le terrain le plus propre pour le footprint et le delta.
Actions : les ordres se répartissent sur plusieurs plateformes. Les données consolidées existent, mais l’agrégation et la classification des transactions demandent plus de travail.
Cryptomonnaies : chaque plateforme publie son propre flux, souvent avec le côté de l’agresseur. Le flux d’une plateforme ne représente pas le marché entier.
Forex et CFD : le marché est de gré à gré. Le volume affiché par un courtier CFD décrit le plus souvent les transactions de ce courtier. Le delta calculé dessus est une approximation, pas une mesure du marché.
Si tu trades du forex ou de l’or en CFD, utilise l’order flow comme un contexte parmi d’autres, ou passe sur les futures correspondants pour obtenir une lecture fiable.
À retenir : les futures offrent les données les plus propres. En forex et en CFD, le delta n’est qu’une approximation de ce que fait le marché.
Quelles erreurs éviter quand on débute en order flow ?
Surcharger l’écran. Delta, CVD, footprint, profile, imbalances et DOM en même temps créent un bruit illisible. Choisis deux ou trois outils et maîtrise-les.
Lire un signal hors contexte. Un déséquilibre au milieu de nulle part ne dit rien. Il pèse sur un niveau identifié à l’avance.
Ignorer le temps. Le flux d’ordres de 9 h 30, à l’ouverture américaine, n’a pas la densité de celui de midi. Compare les bougies à leur propre tranche horaire.
Prendre le DOM pour une vérité. Les ordres limites affichés peuvent être retirés à tout moment. Fie-toi d’abord aux transactions exécutées.
Négliger le risque. Aucune lecture n’est juste à chaque fois. Fixe la taille de position en fonction de l’arrêt, pas de ta conviction. Notre article sur le stop loss et les risques financiers détaille la méthode.
Passer en réel trop vite. Deux semaines de lecture sans trader, puis un mois de simulation, valent mieux qu’un premier compte vidé. Les raisons pour lesquelles 95 % des day traders perdent tiennent souvent à cette précipitation.
À retenir : deux ou trois outils, un niveau identifié à l’avance, un arrêt fixé avant l’entrée, et des semaines de simulation avant le premier euro réel.
Ce que la recherche dit, et ce que ton backtest doit prouver
Cont, Kukanov et Stoikov montrent qu’un seul indicateur de flux explique 65 % des variations de prix à très court terme. Aucune étude ne dit qu’on peut en tirer un profit après coûts. Dans la simulation de cet article, un signal construit pour fonctionner perd 55 % de son gain brut dès que l’exécution est facturée, et 65 % sur la période de test. Sur un vrai marché, le signal n’est même pas garanti. Mesure d’abord ce que tes coûts consomment. Le reste vient après.
Pour aller plus loin sur le cadre général, lis l’introduction au trading algorithmique. Une dernière précision : le trading comporte un risque de perte en capital. Cet article est un contenu éducatif, pas un conseil en investissement. Les graphiques et les simulateurs sont issus de données simulées et ne reflètent aucune performance réelle.
FAQ : tes questions sur l’order flow trading
Qu’est-ce que l’order flow trading ?
L’order flow trading consiste à lire les ordres réellement exécutés sur un marché, classés selon leur agresseur. Au lieu de se limiter à la forme des bougies, il analyse delta, delta cumulé, footprint chart et volume profile pour savoir qui pousse le prix et qui le retient.
L’order flow trading est-il adapté aux débutants ?
Oui, à condition de commencer par un seul outil. Choisis le delta ou le volume profile, et entraîne-toi en simulation. Le footprint demande plus de pratique. Compte plusieurs semaines de lecture avant de prendre un premier trade. Si tu pars de zéro, commence par qu’est-ce que le trading.
Quelle différence entre order flow et volume profile ?
Le volume profile répartit le volume par niveau de prix sur une période. L’order flow classe chaque transaction selon son agresseur, achat ou vente. Le footprint chart combine les deux : il affiche le volume au bid et à l’ask pour chaque niveau.
Peut-on faire de l’order flow en forex ?
Avec prudence. Le forex est un marché de gré à gré, sans bande centralisée. Le volume d’un courtier ne représente que ses propres clients. Pour une lecture fiable, utilise les futures de devises ou un fournisseur de données agrégées.
Faut-il des données payantes pour faire de l’order flow ?
Pour les données de transactions en temps réel avec le côté de l’agresseur, oui, dans la plupart des cas. Les bourses de futures et les fournisseurs facturent l’accès. Sur les cryptomonnaies, plusieurs plateformes publient gratuitement leur flux de transactions.
Peut-on automatiser une stratégie d’order flow avec Python ?
Oui. Pandas suffit pour calculer delta, CVD et déséquilibres sur des données de transactions. Pour structurer le projet, suis le guide d’introduction au trading algorithmique. Le vrai travail porte sur les données, les coûts et le backtest. Un script qui calcule un indicateur en dix lignes ne dit rien sur sa rentabilité.
Sources et lectures pour aller plus loin
Maureen O’Hara, Market Microstructure Theory, Blackwell, 1995. La base théorique de la formation des prix par les ordres.
Jean-Philippe Bouchaud, Julius Bonart, Jonathan Donier et Martin Gould, Trades, Quotes and Prices, Cambridge University Press, 2018. Un traité complet sur le carnet d’ordres et l’impact des ordres.
Marcos López de Prado, Advances in Financial Machine Learning, Wiley, 2018. Les méthodes de backtest et les pièges de la finance quantitative.
Albert Kyle, « Continuous Auctions and Insider Trading », Econometrica, 1985. L’article fondateur sur la relation entre flux d’ordres et prix.
David Easley, Marcos López de Prado et Maureen O’Hara, « Flow Toxicity and Liquidity in a High-Frequency World », Review of Financial Studies, vol. 25, n° 5, 2012, pp. 1457-1493.
Torben Andersen et Oleg Bondarenko, « Assessing Measures of Order Flow Toxicity and Early Warning Signals for Market Turbulence », Review of Finance, vol. 19, n° 1, 2015, pp. 1-54.
Charles Lee et Mark Ready, « Inferring Trade Direction from Intraday Data », Journal of Finance, 1991.
Rama Cont, Arseniy Kukanov et Sasha Stoikov, « The Price Impact of Order Book Events », Journal of Financial Econometrics, 2014, lisible sur arXiv.
Je code des algorithmes, je backteste des stratégies et je partage ce que la data révèle vraiment sur les marchés. Zéro promesse de richesse — que de la méthode, du code et des chiffres vérifiables.