25 septembre 2026 · recherche

Comment savoir si les données de marché d’un backtest étaient réellement négociables ?

Comment savoir si les données de marché d’un backtest étaient réellement négociables ?

Une ligne de données de marché peut être parfaitement exacte et pourtant ne pas constituer un élément probant exploitable pour un backtest. La transaction a bien eu lieu, le prix est correct et l’horodatage est valide ; mais le flux a peut-être transmis l’information en retard, un fournisseur l’a peut-être corrigée après coup, ou le marché coté n’était peut-être pas accessible à votre stratégie.

Pour savoir si des données historiques étaient négociables, ne vérifiez pas seulement leur horodatage d’événement. Vous devez savoir ce que décrit la ligne, quand elle est devenue disponible pour le système, quelle plateforme ou quel instrument elle représente, et si la cotation ou la transaction pouvait raisonnablement servir à exécuter votre ordre.

Un prix historique exact suffit-il pour un backtest ?

Non. L’exactitude répond à la question : « Quel prix la source a-t-elle fini par enregistrer ? » Un backtest doit aussi répondre à celles-ci : « Qu’est-ce que ma stratégie pouvait savoir au moment de sa décision ? » et « Qu’est-ce qu’elle pouvait exécuter ? » Ce sont des questions distinctes.

Imaginez qu’une transaction crypto soit enregistrée à 12:00:00.120, mais que le flux de votre fournisseur de données ne la transmette à votre processus qu’à 12:00:00.480. Une stratégie qui prend une décision à .200 ne peut pas utiliser cette transaction, même si son horodatage d’événement précède la décision. Si le fichier historique ne conserve que l’heure de l’événement, le backtest peut attribuer discrètement à la stratégie une information que son processus en production n’aurait pas encore reçue.

Heure ou champCe que cela indiqueÉchec du backtest en cas d’absence
Heure de l’événementQuand la plateforme indique que l’événement s’est produitConfondre l’heure du marché et la disponibilité pour la stratégie
Heure de réceptionQuand votre collecteur a reçu le messageUtiliser des données retardées comme si elles étaient arrivées instantanément
Séquence ou identifiant de mise à jourLa place de l’événement dans l’ordre du fluxAppliquer les mises à jour dans le désordre ou en omettre certaines sans le voir
Heure de révisionQuand une valeur historique corrigée est devenue connueEffectuer le backtest avec une valeur absente du flux d’origine

Si vos archives ne contiennent pas les heures de réception, reconnaissez cette lacune. Vous pouvez tester une hypothèse de latence ou limiter vos conclusions à une étude fondée sur l’heure des événements. Vous ne pouvez pas reconstituer exactement l’ensemble d’informations disponible à partir d’horodatages qui n’ont jamais été enregistrés.

Comment savoir si une cotation était exécutable ?

Commencez par le marché auquel votre ordre aurait été envoyé. La meilleure offre à l’achat et à la vente consolidée peut résumer plusieurs plateformes ; cela ne prouve pas que votre compte avait accès à la quantité affichée, que la cotation était toujours présente à l’arrivée de votre ordre, ni que la plateforme aurait accepté votre type d’ordre.

Pour un ordre au marché, un prix moyen d’exécution tient généralement de la fiction. Une estimation plus utile consiste à parcourir le carnet visible en fonction de la taille de l’ordre, puis à ajouter les frais et une hypothèse de latence ou d’impact. Si vous ne disposez que des données du meilleur niveau, limitez la portée de votre conclusion : vous pouvez estimer le premier niveau, mais pas déduire une profondeur qui n’a jamais été enregistrée.

Pour un ordre à cours limité, le fait que le prix soit touché ne signifie pas que l’ordre a été exécuté. Les ordres placés avant le vôtre peuvent d’abord absorber la quantité disponible. La position dans la file d’attente est généralement impossible à connaître à partir de snapshots ordinaires ; une règle d’exécution fondée sur le simple contact du prix doit donc être considérée comme un scénario optimiste, et non comme la preuve de ce qui s’est passé.

Une bougie de 1 minute peut vous indiquer que le plus bas a franchi votre limite. Elle ne vous dit pas si votre ordre en attente est arrivé sur la plateforme avant que le plus bas soit atteint, quelle quantité y a été échangée, ni quelle taille de file d’attente se trouvait devant vous.

Que dois-je vérifier avant de me fier à une archive de données de marché ?

Je commence par vérifier les propriétés les plus élémentaires. Elles révèlent davantage de recherches défectueuses qu’un modèle d’exécution sophistiqué ajouté à un flux défaillant.

Cette dernière vérification semble presque trop élémentaire. J’ai un jour passé une matinée à chercher une apparente évolution du régime de volatilité, qui s’est révélée due à un changement d’unité dans un champ de quantité après la migration d’un flux. Le graphique était magnifique ; l’unité, elle, était incorrecte.

Comment vérifier si la disponibilité des données change le résultat ?

Effectuez un petit test de sensibilité autour du seuil de décision de la stratégie. Décalez les données exploitables selon des délais réalistes, écartez les mises à jour dont la continuité de séquence est rompue, et comparez les exécutions en vous appuyant sur le carnet de la plateforme concernée lorsque vous en disposez. Présentez le résultat initial et le résultat dégradé. Si un léger délai suffit à effacer l’effet, la stratégie dépend peut-être d’un avantage informationnel que votre dispositif de collecte ne peut pas fournir de manière fiable.

Prenons un exemple concret : supposons qu’un signal se déclenche lorsque la meilleure offre à l’achat augmente d’un tick. Rejouez-le une fois avec l’heure de l’événement de la plateforme et une fois avec l’heure de réception du collecteur. Si la version fondée sur l’heure de l’événement génère 40 transactions, contre 27 pour celle fondée sur l’heure de réception, cet écart fait partie des éléments probants de la stratégie. La performance obtenue avec chaque rejeu en fait aussi partie. Ne dissimulez pas le rejeu le moins favorable sous prétexte que ses données sont moins élégantes.

Le trading simulé est une étape de vérification utile, car il révèle les retards de flux, les cotations périmées, les erreurs de correspondance des symboles et les filtres des plateformes dans le même circuit opérationnel que celui de votre système de recherche. Il ne reproduira toujours pas toutes les files d’attente ni tous les impacts sur le marché. Gardez cette limite à l’esprit.

Que signifie « données négociables » en pratique ?

Cela signifie que le backtest peut expliquer quand une observation s’est produite, quand la stratégie a pu l’utiliser, de quel marché elle provenait et quels éléments d’exécution étayent l’hypothèse de remplissage. Une série de prix propre constitue un point de départ. La recherche devient crédible lorsque ses hypothèses de temporalité, d’accès et d’exécution résistent à l’examen, et que le résultat reste cohérent même après les avoir rendues moins favorables.

données de marchébacktestingingénierie des donnéesexécutiontrading simulé
← Tous les articles