Microstructure des marchés & carnets d'ordres

Le carnet d'ordres

structurel
Revu le 4 juin 2026. En 2026 : un trait permanent du marché, pas un avantage qui s'érode.

Un registre vivant et trié de chaque offre d'achat et de vente au repos. La meilleure offre d'achat et la meilleure offre de vente forment le touch ; l'écart entre elles est le spread. Les ordres au marché consomment la liquidité du haut vers le bas. C'est la structure de données centrale de tout marché dirigé par les ordres.

Voir en mouvement

Le carnet d'ordrestradez contre luiIX-LOB
Meilleur bid99.99
Meilleur ask100.01
Mid100.000
Spread0.02
prixprofondeurtaille
100.01
1,094
100.02
855
100.03
803
100.04
973
100.05
884
100.06
554
100.07
200
100.08
409
spread0.02mid 100.000
99.99
795
99.98
1,115
99.97
789
99.96
589
99.95
404
99.94
547
99.93
446
99.92
747
Taille de l'ordre900

À remarquer. Un ordre au marché ne se trade pas à « un prix ». Il parcourt le carnet, consommant chaque niveau tour à tour, et plus vous prenez, plus votre exécution moyenne se dégrade. Ce parcours, c'est cela l'impact de marché.

Qu'est-ce qu'un carnet d'ordres ?

Un carnet d'ordres (LOB) est l'enregistrement vivant et trié, par une place, de chaque ordre à cours limité non exécuté pour un instrument. Un côté tient les bids (ordres d'achat), classés du prix le plus haut au plus bas ; l'autre tient les asks (ordres de vente), classés du prix le plus bas au plus haut. Le carnet est le marché : le meilleur bid et le meilleur ask définissent le prix, et les ordres au repos derrière eux définissent combien vous pouvez trader et à quel coût.

Pensez à deux files se rencontrant à un comptoir. Tous ceux qui veulent acheter écrivent le maximum qu'ils paieront et rejoignent la file des bids ; tous ceux qui veulent vendre écrivent le minimum qu'ils accepteront et rejoignent la file des asks. Les deux files se font face à travers le spread, l'écart entre le bid le plus haut et l'ask le plus bas. Rien ne se trade tant que quelqu'un n'est pas prêt à franchir cet écart.

Il y a deux primitives d'ordres, et toute la place est bâtie sur la différence entre elles :

Un ordre à cours limité dit « acheter ou vendre jusqu'à NN au prix PP ou mieux ». Il repose dans le carnet s'il ne peut pas s'exécuter immédiatement, ajoutant de la liquidité (un maker). Il ne trade jamais à un prix pire que PP, mais il porte une incertitude d'exécution : il peut ne jamais trader. Un ordre au marché dit « acheter ou vendre NN maintenant, à quelque prix que le carnet offre ». Il retire de la liquidité (un taker) et est garanti de s'exécuter s'il y a de la profondeur, mais pas à un prix garanti.

Le « central » dans CLOB signifie un seul carnet partagé par instrument et par place dans lequel tous les participants postent et contre lequel ils s'apparient, par opposition aux cotations bilatérales de dealers (voir marchés cotés vs marchés dirigés par les ordres).

Comment le carnet est-il structuré (niveaux, profondeur et spread) ?

Le carnet est organisé en niveaux de prix. Chaque niveau agrège tous les ordres au repos à un prix. Le meilleur bid et le meilleur ask sont le niveau 1 (le haut du carnet, ou « le touch ») ; derrière eux se trouvent les niveaux 2, 3, … à des prix successivement pires. La profondeur est la quantité de volume au repos à chaque niveau. Le spread et le profil de profondeur décrivent ensemble le coût de trader n'importe quelle taille.

Le meilleur bid / meilleur ask sont le prix le plus haut qu'un acheteur paiera et le plus bas qu'un vendeur acceptera. Le point milieu est le mid ; l'écart est le spread bid-ask. Sur un titre liquide le spread est d'un tick (l'incrément de prix minimum) tandis que sur les titres minces il est de plusieurs ticks.

Le mid est la moyenne du meilleur bid et du meilleur ask ; le spread est l'écart entre eux.
mid=12(p1bid+p1ask),spread=p1askp1bid\text{mid} = \tfrac{1}{2}\,(p^{\text{bid}}_1 + p^{\text{ask}}_1), \qquad \text{spread} = p^{\text{ask}}_1 - p^{\text{bid}}_1

La profondeur est la taille totale au repos à chaque niveau. Un carnet peut avoir un spread d'un tick et rester mince (peu de taille au touch) si bien que même un ordre modeste parcourt plusieurs niveaux. Le graphique de profondeur, volume cumulé tracé contre le prix, en est l'image standard.

La taille de tick est fixée par la place ou le régulateur et compte énormément : elle borne le spread par le bas et façonne le comportement de file (voir priorité prix-temps et valeur de file). Sous MiFID II l'UE applique un régime de taille de tick harmonisé par prix et bande de liquidité ; les actions américaines sont gouvernées par la Reg NMS Rule 612, la règle du sous-penny. Les régimes de tick changent, alors citez toujours la spécification propre à la place pour la table exacte.

Comment un ordre au marché balaie-t-il le carnet ?

Un ordre au marché s'apparie d'abord contre les meilleurs ordres au repos, puis le niveau suivant, puis le suivant, jusqu'à être exécuté. S'il est plus gros que la taille au touch, il parcourt le carnet : chaque exécution successive est à un prix pire. Un achat au marché signifie « je prends tout ce que vous vendez, du moins cher d'abord » : il mange l'ask le plus bas, puis le suivant, gravissant l'échelle des asks jusqu'à satisfaction. Une vente au marché fait le miroir, descendant l'échelle des bids.

Le prix d'exécution moyen pondéré par le volume (VWAP) moins le mid est votre slippage, le coût implicite d'exiger l'immédiateté.

Votre prix réalisé pour un balayage est le prix de chaque niveau pondéré par la taille que vous y avez prise ; le slippage est ce prix moins le mid pré-trade.
VWAP=ipiviivi,slippage=VWAPmid\text{VWAP} = \frac{\sum_i p_i\, v_i}{\sum_i v_i}, \qquad \text{slippage} = \text{VWAP} - \text{mid}

Supposons que les asks soient 100 à 50,01, 200 à 50,02 et 500 à 50,03. Un achat au marché de 250 exécute 100 à 50,01 et 150 à 50,02, donc le VWAP est (10050.01+15050.02)/250=50.016(100\cdot 50.01 + 150\cdot 50.02)/250 = 50.016. Vous avez payé 0,6 tick au-dessus du touch et 1,1 tick au-dessus du mid pré-trade. Cet écart est votre impact.

C'est la racine mécanique de l'impact de marché : trader de la taille bouge le prix parce que cela consomme de la profondeur. C'est aussi pourquoi les algorithmes d'exécution découpent les gros ordres plutôt que de les balayer d'un coup.

Que sont les données de carnet L1, L2 et L3 ?

Les trois profondeurs de flux décrivent quelle part du carnet un flux de données expose. L1 est juste le haut du carnet. L2 est la profondeur agrégée par niveau de prix. L3 (ordre par ordre complet, ou market-by-order) montre chaque ordre individuel, y compris sa position dans la file.

Niveau 1 (haut du carnet, BBO) : meilleur bid, meilleur ask, leurs tailles, et la dernière transaction. Assez pour voir le prix ; inutile pour modéliser la profondeur ou la file.

Niveau 2 (market-by-price, MBP) : pour chaque côté, la taille au repos agrégée à chaque niveau de prix, souvent les 5 à 10 premiers niveaux. Cela vous laisse voir la profondeur et modéliser le parcours du carnet, l'entrée standard de la plupart des travaux de microstructure.

Niveau 3 (market-by-order, MBO) : chaque ordre individuel avec son propre identifiant, prix, taille et heure d'arrivée, si bien que vous pouvez voir où dans la file se trouve un ordre donné. Il est requis pour étudier la position de file et la probabilité d'exécution (voir priorité prix-temps) et pour reconstruire le carnet de façon déterministe à partir du flux de messages.

La nomenclature varie selon la place : Nasdaq TotalView-ITCH est ordre par ordre ; beaucoup de places crypto diffusent des instantanés L2 plus des diffs. Le point honnête est que la plupart des données « L2 » pour particuliers sont agrégées et ne peuvent pas récupérer la position de file, raison pour laquelle un jeu L3/MBO propre et reconstructible est la ressource vers laquelle les pages de stratégie ici n'arrêtent pas de pointer (voir comment les données HF sont enregistrées).

Que fait réellement le moteur d'appariement ?

Le moteur d'appariement est le logiciel de la place qui reçoit chaque message d'ordre, applique les règles d'appariement, exécute les ordres qui se croisent, et diffuse les mises à jour de carnet résultantes. C'est la source unique de vérité : un ordre n'existe, n'a une position de file, et ne s'exécute que quand le moteur le dit. Ses règles (priorité, types d'ordres, enchères) définissent tout le jeu.

La boucle centrale est simple à énoncer : accepter un message, le valider, et si un nouvel ordre croise le côté opposé, l'apparier contre les ordres au repos selon la règle de priorité et imprimer les transactions ; sinon le faire reposer dans le carnet. Puis publier la mise à jour vers le flux de données de marché.

Le moteur applique la priorité (presque toujours prix d'abord, puis temps ; voir priorité prix-temps, et notez que certaines places de dérivés utilisent le pro-rata) plus les types d'ordres qu'il supporte, et toute phase d'enchère. La latence vit ici aussi : votre ordre est horodaté à son arrivée au moteur, et le flux qu'il publie est ce à quoi tous les autres réagissent. L'écart entre agir sur un flux et votre ordre atteignant le moteur est toute la substance de l'arbitrage de latence et du sujet systèmes.

Le déterminisme compte pour le backtesting : pour simuler fidèlement les exécutions vous devez rejouer la séquence de messages exacte que le moteur a vue (voir backtesting et simulation).

Exemple travaillé

Prenez un carnet synthétique pour l'instrument XYZ (prix en devise, tailles en lots), à la date d'un instantané travaillé de 2026. Les asks reposent à 50,01 (100), 50,02 (200) et 50,03 (500) ; les bids reposent à 50,00 (300), 49,99 (400) et 49,98 (600). Le tick est 0,01.

Le meilleur ask est 50,01 et le meilleur bid est 50,00, donc le spread est d'un tick et le mid est 50,005. La profondeur au meilleur bid est de 300 lots ; la profondeur au meilleur ask n'est que de 100.

Un achat au marché de 250 exécute 100 à 50,01 puis 150 à 50,02, donnant un VWAP de 50,016. Le slippage par rapport au mid est de 50.01650.005=0.01150.016 - 50.005 = 0.011, environ 1,1 tick. Le trade épuise aussi les 100 lots à 50,01, si bien que le nouveau meilleur ask devient 50,02 : l'acte de trader a fait monter le touch d'un tick.

Par contraste, un achat à cours limité de 100 à 50,00 ne s'exécute pas. Il rejoint l'arrière des 300 lots déjà au repos à 50,00, si bien qu'il se place derrière 300 lots dans la file (position de file 300) et ne s'exécute qu'une fois que ceux devant lui ont tradé ou annulé, ce qui est exactement pourquoi la position de file vous coûte des exécutions.

Ces chiffres sont illustratifs et synthétiques ; le widget de carnet en direct ci-dessus vous laisse construire et casser n'importe quel carnet. Les vraies tailles de tick et profondeurs varient selon la place et l'instrument, alors vérifiez toujours la spécification de la place, à la date de 2026.

Où cela s'inscrit

Questions fréquentes

Qu'est-ce qu'un carnet d'ordres ?
Un carnet d'ordres (LOB) est le registre vivant et trié, par la place, de tous les ordres à cours limité d'achat (bid) et de vente (ask) au repos à chaque prix. Le bid le plus haut et l'ask le plus bas forment la meilleure offre d'achat et de vente ; l'écart entre eux est le spread. Les ordres au marché entrants consomment la liquidité au repos du haut vers le bas. C'est la structure de données centrale de tout marché dirigé par les ordres.