24 août 2026 · recherche

Pourquoi mon backtest génère-t-il plus de transactions que ma stratégie en paper trading ?

Pourquoi mon backtest génère-t-il plus de transactions que ma stratégie en paper trading ?

Un backtest comptabilise souvent les transactions comme si un signal se transformait directement en position. Le paper trading intercale un ordre. Cet ordre peut rester en attente, être exécuté en partie, être annulé ou rejeté, ou rester actif après un changement de signal. Si votre stratégie simulée ignore ce cycle de vie, son nombre de transactions et son exposition peuvent n’avoir que peu de rapport avec ce qu’enregistre le compte de paper trading.

La solution pratique consiste à représenter les ordres comme des objets persistants, dotés d’états et d’horodatages. Un signal indique qu’il faut tenter une transaction ; il ne prouve pas qu’une transaction a eu lieu.

Pourquoi ma stratégie en paper trading effectue-t-elle moins de transactions que mon backtest ?

Commençons par les ordres qui n’ont jamais été exécutés. Un backtest peut supposer que chaque ordre à cours limité est exécuté dès que le marché atteint son prix. Sur un marché réel, le fait que le prix soit atteint ne permet pas de savoir si votre ordre était prioritaire dans la file d’attente, si le volume échangé était suffisant, ni si la cotation était toujours disponible lorsque l’ordre est parvenu à la plateforme.

Prenons une stratégie qui place un ordre d’achat à cours limité à $100 et l’annule au bout de 30 secondes. Le marché affiche $100.00, mais seule une petite quantité est échangée à ce prix et d’autres ordres sont prioritaires. Votre ordre peut être exécuté en partie, ou pas du tout. Un backtest fondé sur le simple contact du prix enregistre une position complète. Un compte de paper trading qui tient compte de la file d’attente peut n’enregistrer aucune exécution.

Les ordres au marché présentent un autre type d’écart. Un backtest peut exécuter la quantité entière à l’ouverture de la barre suivante, tandis que le paper trading rejette une quantité qui enfreint une règle de la plateforme ou l’exécute par morceaux à mesure que le carnet évolue. Une barre résume les transactions ; elle ne garantit pas que la totalité de votre ordre aurait pu être exécutée à un seul prix.

Que doit faire un backtest si le signal change avant l’exécution de l’ordre ?

Laissez l’ancien ordre actif jusqu’à ce que le simulateur reçoive et traite une demande d’annulation. Si le signal s’inverse alors qu’un ordre d’achat est en attente, la stratégie peut vouloir l’annuler et soumettre un ordre de vente. Cette intention ne supprime pas immédiatement l’ordre d’achat. Celui-ci peut être exécuté pendant le traitement de l’annulation, laissant le compte en position longue au moment même où le nouveau signal indique une position courte.

Modélisez cela comme une séquence : le signal change, la stratégie envoie une demande d’annulation, la plateforme la confirme ou signale une exécution, et ce n’est qu’ensuite que la stratégie connaît l’état final de l’ordre. Même un simple délai fixe peut révéler des courses critiques qu’un backtest avec annulation instantanée masque.

Pour un modèle volontairement simple, un délai d’annulation d’une seconde et un traitement au prochain événement peuvent être plus instructifs que de faire comme si l’annulation était instantanée. Le délai approprié dépend de la plateforme et du système ; l’essentiel est d’en représenter un. Pour un ordre au marché sans fenêtre d’annulation, la même question se pose pour les exécutions partielles et les confirmations tardives.

Quels états d’ordre un simulateur de paper trading doit-il enregistrer ?

Utilisez une petite machine à états et conservez l’horodatage de chaque transition. La terminologie exacte varie selon la plateforme, mais les distinctions essentielles restent les mêmes :

Enregistrez séparément la quantité exécutée et la quantité demandée, ainsi que les prix d’exécution et les frais. Un ordre partiellement exécuté est à la fois une transaction et un engagement actif pour le reliquat. Le considérer comme simplement ouvert ou simplement terminé fait perdre des informations nécessaires à la stratégie pour dimensionner sa prochaine action.

Événement d’ordreCe que la stratégie doit connaîtreRaccourci courant dans un backtest
Exécution partielleQuantité exécutée, quantité restante, prix moyenConsidérer l’ordre entier comme exécuté à un seul prix
Demande d’annulationHeure de la demande et confirmation finale de l’annulation ou de l’exécutionSupprimer l’ordre immédiatement
RejetMotif et validité d’une nouvelle tentativeSupposer que la transaction demandée a eu lieu
ExpirationMoment où l’ordre a cessé de pouvoir être exécutéLe laisser ouvert jusqu’à ce que le prix soit atteint plus tard

Comment comparer équitablement les transactions d’un backtest et du paper trading ?

Comparez d’abord les événements d’ordre, puis les positions, et enfin le P&L. Si le backtest a exécuté un ordre que le compte de paper trading n’a jamais exécuté, l’écart de P&L qui en résulte est une conséquence, pas le point de départ du diagnostic.

Pour chaque ordre prévu, faites correspondre les deux exécutions à l’aide d’un identifiant stable de décision de stratégie ou d’ordre. Examinez ensuite l’heure de soumission, le prix et la quantité demandés, la durée de validité, les exécutions, les annulations, les rejets, les frais et la position finale. Consignez aussi la raison de chaque absence d’exécution simulée : le prix n’a jamais atteint la limite, la file d’attente supposée devant l’ordre n’a pas été résorbée, ou l’ordre a expiré.

Un petit exemple permet de voir clairement la séquence. Le signal demande 10 unités. Les deux systèmes soumettent l’ordre à 10:00:00. Le backtest suppose une exécution complète à 10:00:01. Le paper trading exécute 4 unités à 10:00:01, reçoit une demande d’annulation à 10:00:02, puis signale l’exécution de 2 unités supplémentaires avant de confirmer l’annulation à 10:00:03. La comparaison fidèle est de 6 unités exécutées contre 10, avec 4 unités annulées. Ramener le tout à une seule « transaction » en faisant la moyenne masque l’exposition réellement portée par la stratégie.

Ai-je besoin d’un simulateur complet de plateforme d’échange pour bien faire ?

Non. Un backtest peut commencer avec quelques hypothèses explicites : le simple contact avec le prix suffit-il pour exécuter une limite, quel volume doit être échangé au-delà du prix pour résorber la file d’attente supposée, combien de temps les ordres restent-ils ouverts et comment les délais d’annulation sont-ils modélisés ? Exécutez la stratégie avec plusieurs paramètres plausibles. Si ses performances dépendent de l’exécution intégrale de chaque ordre en attente, vous aurez appris quelque chose d’utile sur le modèle.

Le paper trading ne constitue pas non plus une vérité de référence pour la qualité d’exécution. Il peut utiliser des exécutions simulées et ne pas représenter une véritable file d’attente. Son intérêt est plus limité ici : il permet de vérifier si la stratégie et son gestionnaire d’ordres s’accordent sur les quantités en attente, les annulations, la position et le comportement en cas de nouvelle tentative, au fil de l’arrivée des événements.

Un petit plaisir de ce travail : un bon journal d’ordres peut rendre banale une divergence qui semblait inexplicable. « Le deuxième ordre enfant a été exécuté après la demande d’annulation » est plus utile que « le paper trading a un comportement étrange ». Quand le backtest et le compte de paper trading divergent, suivez le cycle de vie des ordres avant de modifier le signal.

paper tradinggestion des ordresbacktestingexécutionrecherche sur les stratégies
← Tous les articles