Profondeur du carnet d'ordres vs dernier prix : pourquoi la plupart des backtests de marchés prédictifs mentent
Un dernier prix, c'est un seul chiffre. Le carnet d'ordres, c'est la liquidité sur laquelle ce chiffre repose. Les backtests bâtis sur le premier gonflent discrètement chaque résultat.
Le dernier prix est le prix de la transaction la plus récente ; la profondeur du carnet d'ordres, ce sont tous les bids et asks en attente avec leur taille, des deux côtés. Un backtest fondé sur les données de dernier prix suppose que vous avez été exécuté à ce prix avec un slippage nul — mais en réalité les exécutions parcourent le carnet, paient le spread et consomment de la taille à des niveaux de plus en plus défavorables. C'est cet écart qui fait que les backtests aveugles à la profondeur surestiment systématiquement l'edge.
Ce que chacun vous dit réellement
| Question | Dernier prix | Profondeur du carnet d'ordres |
|---|---|---|
| Quelle a été la transaction la plus récente ? | Oui | Oui (haut du carnet ± trades) |
| Quel est le spread en ce moment ? | Non | Oui |
| Quelle taille puis-je exécuter au touch ? | Non | Oui |
| Quel slippage paiera un ordre plus important ? | Non | Oui |
| Mon ordre en attente aurait-il été exécuté ? | Non | Oui (avec modélisation de la file d'attente) |
Comment un backtest aveugle à la profondeur gonfle les rendements
Supposons qu'un marché affiche un dernier prix de 0.50. Un backtest fondé sur le dernier prix exécute votre achat à 0.50 et votre vente à 0.50. En réalité, le carnet pourrait être à 0.48 au bid / 0.52 à l'ask — un achat marketable paie donc 0.52 et une vente marketable reçoit 0.48. Ce spread aller-retour de quatre cents, sur un contrat qui paie au maximum 1.00, est énorme, et il se compose sur chaque trade du backtest.
Ajoutez le slippage sur les ordres plus importants, qui dépassent le touch pour atteindre des niveaux plus fins, et le tableau s'aggrave. Rien de tout cela n'est visible sans le carnet : un backtest aveugle à la profondeur rapporte donc un edge qui s'évapore dès qu'il trade de la taille réelle.
Même histoire sur Polymarket et Kalshi
Sur Polymarket, le CLOB porte un carnet bid/ask par outcome ; le spread et la taille en attente sont exactement ce qu'un ordre marketable paie et consomme. Sur Kalshi, le contrat binaire dispose d'un carnet yes/no allant jusqu'à 100 levels par côté ; la même logique de spread et de slippage s'applique, et les spreads tendent à s'élargir à l'approche du settlement.
Dans les deux cas, la discipline est identique : backtester contre le carnet enregistré, les deux côtés, chaque niveau — pas un dernier print. DepthFeed sert cette profondeur complète pour les deux venues dans un même schéma, si bien que le même code de backtest lit l'un ou l'autre marché.
Key takeaways
- 01Le dernier prix masque le spread, la taille en attente et le slippage d'un ordre réel.
- 02Les ordres marketable parcourent le carnet et s'exécutent plus mal qu'au touch ; le carnet est le seul moyen de le voir.
- 03Les backtests aveugles à la profondeur surestiment l'edge, et l'erreur se compose au fil des trades.
- 04La même logique s'applique au CLOB de Polymarket comme au carnet yes/no de Kalshi.
Un dernier prix, c'est un seul chiffre. Le carnet d'ordres, c'est la liquidité sur laquelle ce chiffre repose. Les backtests bâtis sur le premier gonflent discrètement chaque résultat.
Commencer gratuitement