10 novembre 2026 · données

Votre backtest a besoin d’un journal des modifications des données, pas seulement d’un instantané

Votre backtest a besoin d’un journal des modifications des données, pas seulement d’un instantané

Un instantané figé des données de marché ne suffit pas à rendre un backtest fiable. Il peut reproduire exactement le même résultat tout en masquant que le fournisseur a modifié les données qui l’ont produit.

Conservez l’instantané. Tenez ensuite un journal des modifications qui indique ce qui a changé, quand, et si la stratégie y a été sensible. C’est particulièrement important lorsque vos recherches utilisent des transactions corrigées, des données fondamentales révisées, des taux de financement reconstitués ou un historique discrètement actualisé par un fournisseur.

Pourquoi un backtest reproductible peut-il malgré tout vous induire en erreur ?

Supposons que vous téléchargiez cinq ans de bougies horaires lundi et lanciez une stratégie. Vendredi, le fournisseur a corrigé une transaction erronée, ajusté une opération sur titres ou comblé une lacune. Votre fichier sauvegardé produit toujours exactement le résultat de lundi. C’est reproductible. Mais si vous relancez le backtest avec l’historique actuel du fournisseur, vous pouvez obtenir un résultat différent sans avoir de trace de la raison.

Le problème ne se limite pas aux corrections spectaculaires. Un seul plus haut modifié peut déclencher un stop ; une clôture révisée peut faire franchir son seuil à un indicateur. Dans un univers étendu, la modification de l’historique d’un symbole peut changer son classement et écarter un autre actif du portefeuille. Le Sharpe final peut évoluer alors même que le code et la configuration de la stratégie sont identiques.

Une empreinte de fichier vous indique que deux fichiers diffèrent. Elle ne vous dit pas si un ajustement lié à un fractionnement a modifié 40 ans de cours, si un fournisseur a corrigé trois transactions ou si un analyseur a converti un champ vide en zéro.

Que faut-il consigner dans un journal des modifications des données de marché ?

Consignez les modifications à la plus petite granularité utile, avec assez de contexte pour rejouer la recherche concernée. Pour un flux de bougies, cela signifie généralement l’instrument, l’intervalle, l’heure de l’événement, les anciennes et nouvelles valeurs, la source et l’heure à laquelle vous avez observé la mise à jour. Conservez la charge utile d’origine lorsque le fournisseur en fournit une.

Élément à consignerPourquoi le conserverExemple
Version de la source ou heure de récupérationIdentifie l’état du fournisseur utiliséInstantané récupéré le 2026-11-02 à 08:15 UTC
Champ modifié et anciennes/nouvelles valeursMontre ce qui a réellement changéETHUSDT 1h high : 3,412.10 → 3,418.60
Classification de la modificationDistingue les corrections des transformationsCorrection tardive d’une transaction, ajustement lié à un fractionnement, réintégration de données
Version du pipeline et du schémaPermet de distinguer les modifications de la source de votre propre traitementNormaliseur v7, schéma de bougies ajustées v3

Pour les grands jeux de données, stockez des instantanés immuables et un manifeste compact contenant leurs sommes de contrôle, leurs versions de source et leurs heures de récupération. Ajoutez des différences au niveau des lignes pour les partitions modifiées. Vous obtenez ainsi un compromis pratique : le rejeu complet reste possible sans enregistrer chaque ligne inchangée dans une deuxième table d’audit.

Comment mesurer l’importance d’une correction ?

Ne vous contentez pas de compter les lignes modifiées. Relancez la stratégie concernée avec les anciennes et les nouvelles données, en gardant le même code, les mêmes paramètres, les mêmes frais et les mêmes hypothèses d’exécution. Comparez les décisions et le chemin menant au résultat.

  1. Repérez dans les différences les instruments et les heures d’événement concernés.
  2. Déterminez quelles caractéristiques, quels signaux, quels ordres ou quels poids de portefeuille utilisent ces données.
  3. Rejouez la fenêtre valide la plus courte, en incluant toute période de calcul rétrospectif et l’état des positions ouvertes.
  4. Comparez les ordres, les exécutions, l’exposition, la rotation, le drawdown et la performance finale.

Par exemple, une correction du fournisseur qui modifie de 0.02 $ le plus haut d’une bougie de 1 minute peut toucher un million de lignes sans avoir le moindre effet sur une stratégie de momentum quotidienne. Une seule bougie corrigée au niveau d’un stop peut avoir plus d’importance. Mesurez l’impact sur les décisions : le nombre de données modifiées en est un mauvais indicateur.

Distinguez ces deux questions : « Puis-je reproduire le résultat à partir des données que j’ai sauvegardées ? » et « Cette version des données aurait-elle été disponible à la stratégie à l’époque ? » Un journal des modifications aide à répondre aux deux, mais la seconde question exige aussi des traces de disponibilité à un instant donné.

Quel est le coût de cette démarche, et quand en vaut-elle la peine ?

Le suivi des modifications augmente les besoins de stockage, le travail d’ingestion et le nombre de décisions opérationnelles. Les fournisseurs n’exposent pas toujours des versions stables, et certains flux historiques sont reconstruits périodiquement sans avis clair de correction. Vous ne pouvez pas consigner une modification que vous n’observez jamais.

Commencez par les données dont les révisions peuvent changer les conclusions de recherche : les bougies utilisées par la logique des stops, les actions ajustées en fonction des opérations sur titres, les données fondamentales disponibles à un instant donné, ainsi que les séries de taux de financement ou d’intérêt ouvert qui sont reconstituées. Un manifeste quotidien accompagné de sommes de contrôle des partitions peut suffire pour les grands jeux de données stables. Ajoutez des différences au niveau des champs lorsque les mises à jour sont fréquentes ou que les décisions de trading dépendent de données individuelles.

Les critiques ont raison : une archive complète et perpétuelle de chaque réponse du fournisseur peut coûter cher sans pour autant restituer ce que la source savait à l’époque. Il faut donc limiter l’audit aux données et aux décisions qui comptent, puis documenter les lacunes. Un instantané vous permet de relancer une expérience. Un journal des modifications vous permet d’expliquer pourquoi son résultat a évolué.

ingénierie des donnéesbacktestingreproductibilitérecherche quantitative
← Tous les articles