Un backtest a affiché un rendement annualisé de 20 %. Il utilisait 8 ans de données, 1,640 transactions et un découpage walk-forward propre. Puis nous avons remplacé l’historique actuel du fournisseur par les valeurs enregistrées à l’époque, et l’avantage est tombé à 3 %.
Le chiffre surprenant n’était pas le rendement initial. C’étaient les 17 points de pourcentage qui dépendaient de données révisées. Ce biais rétrospectif peut se cacher dans les publications économiques, les fondamentaux des entreprises, la composition des indices et même des données de marché en apparence simples. Les données historiques vous disent ce que la source indique aujourd’hui. Un jeu de données à date vous indique ce que votre stratégie aurait pu savoir à l’époque.
Pourquoi les données historiques peuvent-elles changer après les faits ?
Certaines valeurs sont d’abord des estimations, puis sont corrigées. Une statistique économique publiée le vendredi peut être révisée le mois suivant. Une entreprise peut retraiter un chiffre de résultats. Un fournisseur de données peut corriger une cotation erronée, compléter un intervalle manquant ou remplacer une valeur préliminaire par une valeur définitive. Une base de données qui ne conserve que la valeur la plus récente donne l’impression que ces changements ont toujours été exacts.
C’est important lorsqu’une stratégie classe des entreprises selon leur chiffre d’affaires publié ou intervient sur un marché après une publication de données prévue. Si elle voit le chiffre corrigé plusieurs mois à l’avance, le backtest lui fournit une information qui n’était pas disponible sur le marché au moment de la décision. Le calcul du signal peut être irréprochable ; son entrée provient toujours de la mauvaise version de l’historique.
Il y a un piège facile à éviter : un champ nommé date désigne souvent la période couverte par une valeur, et non le moment où elle est devenue disponible. Une ligne de chiffre d’affaires trimestriel datée du 31 mars n’a peut-être été publiée qu’en mai. L’étiquette concerne la période d’activité, pas l’ensemble d’informations dont disposait la stratégie.
Quel horodatage un backtest doit-il utiliser ?
Suivez séparément la période de validité de la valeur et son heure de disponibilité. Dans la mesure du possible, conservez aussi l’heure de publication et l’heure d’ingestion. Une stratégie ne peut exploiter une valeur qu’après sa publication et sa réception par le système ; si ces heures diffèrent, utilisez la plus tardive pour une simulation prudente.
| Horodatage | Ce qu’il indique | Utilité |
|---|---|---|
| Heure de validité | La période ou l’événement auquel la valeur se rapporte | Regroupe les observations selon l’élément mesuré |
| Heure de publication | Le moment où la source a publié cette version | Empêche une publication d’apparaître avant d’exister |
| Heure d’ingestion | Le moment où votre système a reçu la version | Prend en compte les retards de livraison et les réintégrations tardives |
Par exemple, imaginons que les ventes trimestrielles d’une entreprise couvrent la période de janvier à mars, soient publiées le 8 mai à 16:15, heure de l’Est, et arrivent dans votre espace de recherche à 16:17. Une stratégie qui prend sa décision à la clôture du 8 mai ne peut pas utiliser ce rapport si sa décision à la clôture a été prise à 16:00. Une stratégie qui décide le lendemain matin le peut. La date de fin du trimestre ne permet pas de répondre à ces questions.
Comment vérifier si les révisions déterminent le résultat ?
Exécutez deux fois la même stratégie : une fois avec la version des données disponible à chaque décision historique, et une fois avec l’historique révisé le plus récent. Gardez les hypothèses d’exécution, l’univers et le code fixes. La différence mesure la sensibilité aux révisions ; ce n’est pas une nouvelle comparaison de stratégies.
Examinez ensuite l’origine de l’écart. Les performances changent-elles les jours de publication ? Les plus grandes différences se concentrent-elles sur quelques entreprises ayant retraité leurs chiffres ou sur des observations corrigées ? La stratégie intervient-elle avant l’heure de publication concernée ? Un audit ciblé des événements explique souvent davantage qu’un nouveau graphique des rendements cumulés.
Ces chiffres sont un exemple, pas une pénalité universelle. Le résultat utile est une comparaison par paires pour votre stratégie, avec les mêmes transactions et les mêmes coûts dans la mesure du possible. Si la version révisée affiche un résultat nettement supérieur, déterminez quels champs et quelles dates expliquent l’écart avant de vous fier au chiffre mis en avant par le backtest.
Que doit consigner un audit des données à date ?
Commencez par les champs réellement utilisés par votre stratégie. Pour chacun, identifiez la source, la signification de l’horodatage, la politique de révision et la possibilité de récupérer les versions antérieures. Demandez au fournisseur comment les corrections sont représentées : lignes remplacées, nouvelles lignes de version ou journal d’audit distinct. Le mot « historique » sur une page produit ne suffit pas à trancher.
- Stockez chaque version avec son horodatage de publication ou de première disponibilité.
- Associez les caractéristiques aux décisions à l’aide de l’heure de disponibilité, et non des étiquettes de période.
- Conservez un instantané figé ou une version de la source pour pouvoir reproduire les exécutions.
- Signalez les valeurs reçues tardivement, révisées ou dépourvues d’un historique fiable.
Gardez aussi un périmètre réaliste. Si votre stratégie utilise uniquement les transactions et les barres de l’exchange, les révisions des données économiques peuvent être sans importance. En revanche, les corrections de barres et les réintégrations de données par les fournisseurs peuvent compter, surtout lorsqu’un signal dépend d’un marché peu liquide ou d’une fenêtre événementielle précise.
Quand l’historique à date n’est pas disponible
Ne traitez pas discrètement la valeur d’aujourd’hui comme si c’était celle d’hier. Signalez la limite du champ, excluez-le des conclusions qui dépendent de sa disponibilité historique ou appliquez un délai prudent en montrant l’effet sur le résultat. Une approximation avec délai peut être utile pour la recherche, à condition que le délai soit explicite et que la limite accompagne le résultat.
Le rôle du backtest est de reconstituer une décision à partir des informations disponibles à l’époque. Si vos données ne montrent que la version la plus récente, le résultat a une limite qu’il faut reconnaître : il permet de tester la stratégie sur l’historique reconstitué aujourd’hui, mais pas d’établir exactement ce qu’un agent historique aurait pu voir.
← Tous les articles

