Une petite pile de données de 2010 passe sous une barre d'admission de 2026 surdimensionnée, illustrant un plancher de liquidité anachronique.

Le biais caché des backtests longs

Toute stratégie qui sélectionne des actions suffisamment liquides utilise un seuil : ne trader que les titres dont la valeur moyenne échangée chaque jour dépasse un plancher minimal. Ce filtre existe pour de bonnes raisons. Les titres peu liquides coûtent cher à trader et sont difficiles à modéliser avec précision. Mais il dissimule une distorsion lorsqu’il est appliqué sur une longue fenêtre de backtest.

Le volume nominal en dollars n’est pas stationnaire. Sur une fenêtre de quinze ans, la croissance générale du marché fait qu’une action de liquidité relative équivalente génère nettement plus de volume en dollars à la fin de la période qu’au début. Un seuil fixe calibré sur le marché actuel est beaucoup plus difficile à franchir en 2010 qu’en 2026. L’effet pratique : le backtest saute des entrées valides dans les premières années, ou réduit l’univers éligible aux seuls plus grands titres, qui franchissaient la barre même à l’époque. La période in-sample finit structurellement plus étroite que les exécutions en conditions réelles d’aujourd’hui. Non pas parce que la logique de la stratégie a changé. Parce que le filtre d’éligibilité s’est comporté différemment au fil du temps.

Il s’agit d’une forme de biais de survie inscrite dans le filtre de liquidité lui-même. Elle agit en silence : pas d’erreur, pas d’avertissement, simplement moins de signaux au début de la fenêtre et une sélection d’univers biaisée dans les années suivantes.

Comparaison conceptuelle : une barre de liquidité fixe exclut une pile plus petite de 2010 mais admet une pile plus haute de 2026.
Illustration conceptuelle : un plancher nominal fixe devient plus difficile à franchir dans les premières années. Les hauteurs des blocs sont illustratives, pas des données mesurées.

La correction : un plancher variable dans le temps, indexé sur la croissance du SPX

La solution consiste à ajuster le seuil d’éligibilité dans le temps au lieu de le maintenir fixe. Le S&P 500 sert d’indicateur approché de la croissance nominale générale du marché. Si la moyenne mobile à 200 jours du SPX a été multipliée par quatre depuis 2010, une action de liquidité relative équivalente à l’époque s’échangeait à environ un quart du volume en dollars actuel. Abaisser le seuil du même facteur rétablit un comportement cohérent sur toute la fenêtre. Le filtre est aussi strict en 2010 qu’aujourd’hui, en termes relatifs.

La question de conception essentielle est de savoir où appliquer l’ajustement. L’approche évidente consiste à ajuster les données de valeur échangée elles-mêmes : diviser le volume en dollars de chaque barre par le facteur d’échelle. La bonne approche consiste à laisser les données intactes et à ajuster plutôt le seuil, barre par barre. À chaque instant, le filtre pose la question suivante : le volume en dollars réel, nominal, de cette action franchit-il un plancher assoupli proportionnellement au niveau courant du SPX ? Le résultat est identique dans les deux cas. L’implémentation ne l’est pas, et la différence compte pour tout ce qui se trouve en aval.

Pourquoi ajuster les données échoue

La première implémentation ajustait la série de valeur échangée à la source. Deux bugs sont apparus lors de la revue.

Le premier était une contamination de l’exécution. Les données de valeur échangée n’alimentent pas seulement le filtre d’éligibilité. Elles alimentent aussi le modèle de slippage et le modèle de coût d’emprunt de titres. Lorsque la série était déflatée à la source, ces calculs en aval héritaient des valeurs ajustées. Les trades des premières années paraissaient bien moins chers à exécuter qu’ils ne l’étaient réellement : le slippage et les coûts d’emprunt de 2010 étaient calculés sur une liquidité déflatée, et non sur les conditions historiques réelles. Le backtest paraissait meilleur sur la première période pour une mauvaise raison.

Le second problème était que le facteur d’échelle dépendait de la date de fin de la fenêtre de backtest. Repousser la date de fin de quelques mois déplaçait le niveau de référence et modifiait rétroactivement les barres historiques qui franchissaient le filtre d’éligibilité, y compris des barres situées bien à l’intérieur de la période in-sample. Cela viole une exigence fondamentale de la recherche en walk-forward : avancer la frontière out-of-sample ne doit pas modifier les résultats passés. La première version échouait à ce test.

L’approche côté filtre

L’implémentation révisée conserve d’un bout à l’autre des données de valeur échangée strictement nominales. L’ajustement s’applique uniquement au plancher d’éligibilité : à chaque barre, le seuil est le minimum configuré multiplié par le rapport entre la moyenne mobile à 200 jours du SPX à cette barre et sa valeur à la fin de la fenêtre chargée. Au début du backtest, le plancher est plus bas ; à la dernière barre, le facteur vaut environ 1,0 et le plancher correspond exactement au minimum configuré. Le filtre s’adapte au fil du temps. Les données sous-jacentes, et tous les indicateurs qui en sont calculés, restent inchangés.

Les données nominales alimentent l'éligibilité et le modèle de coûts ; l'ajustement SPX n'est relié qu'au seuil d'éligibilité.
Appliquez l’ajustement SPX au seuil d’éligibilité. Le modèle de coûts continue de recevoir des données nominales non modifiées.

La moyenne mobile à 200 jours est utilisée plutôt que la clôture brute du SPX pour éviter les artefacts dus aux krachs. Un drawdown brutal des actions assouplirait le plancher de liquidité précisément au moment où la liquidité réelle est la plus dégradée. C’est l’inverse du comportement recherché. Un niveau lissé supprime ce pic sans modifier la trajectoire de long terme.

Le niveau du SPX est calculé une seule fois sur toute la fenêtre et appliqué de façon identique à chaque symbole. Si chaque symbole recalculait sa propre moyenne mobile, les actions cotées sur des places non américaines aux calendriers de jours fériés différents verraient des facteurs d’échelle légèrement différents, ce qui créerait des écarts d’univers éligible entre des exécutions par ailleurs identiques. Une série unique précalculée élimine cette divergence.

Les limites du déflateur SPX

La moyenne mobile à 200 jours du SPX est un choix pratique. Ce n’est pas le bon déflateur dans toutes les situations, et trois limites méritent d’être nommées explicitement.

Premièrement, il est centré sur les actions américaines. Pour des stratégies portant sur des actions non américaines ou des instruments multi-actifs, la tendance du SPX peut ne pas refléter fidèlement la croissance de la liquidité locale. Un indice régional ou une série de capitalisation totale du marché serait plus représentatif. Pour cette stratégie, qui vise des actions liquides largement exposées aux indices de référence mondiaux, le SPX est un substitut raisonnable, mais il n’est pas neutre.

Deuxièmement, la normalisation comporte un biais d’anticipation résiduel. Le facteur d’échelle de chaque barre historique est calculé par rapport au niveau du SPX à la fin de la fenêtre chargée. Une barre de 2010 est normalisée par rapport à une référence de 2025 qui n’existait pas en 2010. Une implémentation parfaitement propre ancrerait le facteur sur une date de référence fixe plutôt que sur la fin de la fenêtre. L’effet est faible ici et son sens est prudent, mais c’est une forme de biais prospectif.

Troisièmement, le SPX ne capte qu’une source de non-stationnarité : la croissance nominale générale du marché. Il ne modélise ni les changements de microstructure du marché, ni ceux des barèmes de frais des places de cotation, ni l’évolution de la participation institutionnelle, qui influent aussi sur les seuils de liquidité pratiques au fil du temps.

Sa principale qualité est la simplicité. Une série observable, un rapport, aucune dépendance de données supplémentaire. Pour une correction de premier ordre d’un biais documenté, ce compromis est acceptable.

Ce que cela change pour les signaux et les résultats

À la dernière barre, celle qui détermine la sortie actuelle du screener, le facteur SPX vaut environ 1,0. Le seuil d’éligibilité correspond au plancher configuré, et l’univers des signaux en conditions réelles est inchangé. Les utilisateurs qui reçoivent aujourd’hui la sortie de la stratégie ne verront aucune différence dans les titres qui apparaissent.

Pour les backtests historiques, la mise à jour élargit l’univers éligible dans les premières années et supprime la contamination de l’exécution qui faisait paraître artificiellement bon marché les trades de la première période. Les fichiers de référence générés avant ce changement doivent être régénérés avant toute comparaison directe avec des exécutions postérieures à la mise à jour. Les deux ne sont pas comparables sur les barres historiques, et les traiter comme équivalents conduirait à des conclusions trompeuses.

L’ancien comportement à seuil fixe est conservé et reproductible au moyen d’une option d’exécution. Il est ainsi simple d’isoler l’effet : exécutez les deux modes sur le même univers et comparez directement les exécutions d’ordres. Le mode historique est destiné à une analyse A/B contrôlée, pas aux exécutions de production courantes.

En résumé

  • Un seuil fixe de valeur échangée est plus strict dans les premières années du backtest qu’à la barre actuelle. Il réduit en silence l’univers de la première période et introduit un biais structurel dans les résultats sur longue fenêtre.
  • La correction ajuste le plancher d’éligibilité proportionnellement à la croissance générale du marché, à l’aide de la moyenne mobile à 200 jours du SPX, sans modifier les données de valeur échangée ni aucun indicateur d’exécution en aval.
  • Le déflateur SPX est une correction pratique de premier ordre : simple, observable et sans dépendance de données supplémentaire. Il est centré sur les actions américaines, comporte un biais d’anticipation résiduel lié à l’ancrage sur la fin de la fenêtre et ne modélise pas les changements de microstructure. Tenez compte de ces limites avant de l’appliquer à des stratégies non américaines ou multi-actifs.
  • Les signaux du screener en conditions réelles à la barre actuelle ne sont pas affectés ; le facteur y vaut environ 1,0.
  • Les fichiers de référence historiques doivent être régénérés avant toute comparaison avec de nouvelles exécutions ; les résultats antérieurs et postérieurs à la mise à jour ne sont pas directement comparables sur les barres historiques.
  • Le mode historique à seuil fixe reste disponible pour isoler l’effet de façon contrôlée.

Les règles et les paramètres de cette stratégie ont été figés le 3 juillet 2025 ; toute la performance postérieure à cette date est constituée de véritables données out-of-sample, suivies en temps réel, inconnues au moment de la sélection, sans aucun recul possible. Tous les résultats présentés ici proviennent de backtests menés dans des conditions contrôlées, avec une modélisation réaliste des coûts, sans biais d’anticipation et avec une séparation explicite entre in-sample et out-of-sample. Les performances passées d’un backtest ne garantissent pas les résultats futurs. Nous ne le traderions pas tel quel : c’est de la recherche uniquement. Cet article est informatif et pédagogique ; ce n’est pas un conseil financier.


Des questions ou des remarques sur la méthodologie ? Rejoignez la discussion sur les canaux communautaires de KreamEdge.

Questions fréquentes (FAQ)

Quel biais un seuil de liquidité fixe introduit-il ?

Le volume nominal en dollars n’est pas stationnaire. Sur une longue fenêtre, la croissance générale du marché fait qu’une action de liquidité relative équivalente génère bien plus de volume en dollars à la fin de la période qu’au début. Un plancher fixe calibré sur le marché actuel est beaucoup plus difficile à franchir en 2010 qu’en 2026 : le backtest saute donc des entrées valides au début et réduit l’univers éligible aux plus grands titres.

Pourquoi est-ce une forme de biais de survie ?

Parce que c’est le filtre lui-même, et non la logique de la stratégie, qui décide quels titres sont éligibles chaque année. Il agit en silence : pas d’erreur ni d’avertissement, simplement moins de signaux au début de la fenêtre et un univers biaisé ensuite. La période in-sample finit structurellement plus étroite qu’une exécution en conditions réelles aujourd’hui.

Quelle est la correction ?

Ajuster le seuil d’éligibilité dans le temps au lieu de le maintenir fixe, en l’indexant sur la moyenne mobile à 200 jours du SPX, utilisée comme indicateur approché de la croissance nominale générale du marché. Si le SPX a été multiplié par quatre depuis 2010, une action de liquidité relative équivalente s’échangeait alors à environ un quart du volume en dollars actuel : le plancher est donc abaissé du même facteur.

Pourquoi ajuster le seuil plutôt que les données de volume ?

Parce que les données doivent rester intactes. Déflater le volume en dollars de chaque barre réécrit l’historique observé. Ajuster le seuil barre par barre laisse intact le volume nominal réel et pose à chaque instant la même question relative : cette action franchit-elle un plancher ajusté au niveau du marché à cette date ?

Cela modifie-t-il les règles de la stratégie ?

Non. Cela ne modifie que le filtre d’éligibilité qui décide quels symboles sont candidats. La logique d’entrée et de sortie n’est pas affectée. Ce qu’il faut retenir, c’est qu’une décision de prétraitement peut biaiser un backtest long aussi gravement qu’une erreur dans les règles.

Autres recherches KreamEdge


0 commentaire

Laisser un commentaire

Emplacement de l’avatar

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *