Backtest sur futures : coûts, replay et walk-forward

Un backtest sur futures applique une règle à des données historiques avec un modèle d’exécution explicite. Pour une stratégie d’orderflow, distinguez les tests sur barres, le replay des transactions et la reconstruction du carnet d’ordres. Chacun répond à des questions différentes sur ce qui pouvait être observé et exécuté.

Senzoukria · Guides · Mis à jour en septembre 2026


Définir la règle avant de choisir les paramètres

Consignez l’instrument, le contrat, le fuseau horaire de la session, la construction des barres et le moment du signal. Une règle de trading au footprint exige des observations exécutées au bid et à l’ask ; une règle de heatmap exige la profondeur historique. Ni l’une ni l’autre ne se reconstruit à partir de bougies ordinaires.

Conservez la politique de roll et le rapport de couverture. Un trou dans les données n’est pas un marché immobile. Un niveau relevé sur une échéance ne se reporte pas sur une autre sans traiter l’écart de prix entre les contrats.

Tests sur barres, replay des transactions et replay du carnet

ModèlePeut évaluerN’établit pas
Barres OHLCRègles sur barre clôturéeSéquence intrabarre, exécutions dans la file
Replay des transactionsExécutions enregistréesProfondeur historique manquante
Replay du carnetÉvénements de profondeur dans la couvertureVotre exécution hypothétique avec certitude

Si le stop et l’objectif se trouvent tous deux dans la même barre, l’OHLC n’indique pas lequel a été touché en premier. Précisez la politique du moteur. Un prix limite touché par une transaction ne prouve pas que votre propre ordre aurait été exécuté.

Les coûts peuvent inverser un résultat

Exemple illustratif : une espérance brute de 2,5 ticks, moins 0,5 tick de slippage à l’entrée, 0,5 à la sortie et 0,8 tick d’équivalent frais aller-retour, laisse 0,7 tick net. Un tick de slippage total supplémentaire donne −0,3 tick. Ce sont des entrées hypothétiques, pas une performance mesurée de la plateforme.

Convertissez les frais avec la valeur réelle du tick de l’instrument. Séparez les frais par contrat des frais par ordre, et évitez d’omettre ou de compter deux fois le spread.

Le walk-forward sans fuite d’information

  1. Fixez à l’avance la durée d’entraînement, la durée de test et la méthode de sélection des paramètres.
  2. Ajustez sur l’entraînement seulement et figez les paramètres retenus.
  3. Évaluez la fenêtre suivante en incluant les coûts et les trades perdants.
  4. Avancez dans l’ordre chronologique en conservant chaque résultat hors échantillon.
  5. Gardez une période finale intacte pour les décisions qui n’ont pas déjà été calibrées sur ces résultats.

Retenir la meilleure de nombreuses configurations introduit un biais de sélection. The Probability of Backtest Overfitting étudie ce problème. Une analyse de robustesse met les résultats à l’épreuve ; elle ne garantit pas les profits futurs.

Le registre de l’expérience

  • Version de la règle, paramètres et nombre de configurations essayées.
  • Source, contrat, dates, session et intervalles manquants.
  • Moment de l’entrée, politique pour les barres ambiguës, frais et slippage.
  • Découpage entraînement/test, résultats nets et drawdown par fenêtre.
  • Un critère de rejet et la sensibilité à des coûts plus élevés.

Une estimation de Hurst ou un régime de GEX peut motiver une hypothèse. Il ne remplace pas la trace de ce qui était connu au moment de la décision.

La recherche dans Senzoukria

Utilisez le scripting pour les indicateurs et les règles, puis le backtest historique pour les stratégies JavaScript et Python prises en charge. Le modèle d’exécution historique repose sur les barres ; il ne reconstruit pas la priorité dans la file. Le C++ dispose d’un runtime distinct, sans backtest historique.

Le replay et l’exécution chez le broker sont des étapes distinctes. L’autopilote live, optionnel, exige un armement explicite et un compte Rithmic compatible. Un backtest ne l’arme pas et ne prouve pas l’autorisation d’une prop firm. Conservez le registre de recherche dans le journal de trading.

Commencez par le trading quantitatif pour débutants.

Questions fréquentes

Peut-on backtester une stratégie d’orderflow ?
Oui, si les données historiques contiennent les entrées nécessaires. Les règles footprint exigent le volume exécuté au bid et à l’ask ; les règles de profondeur exigent l’historique du carnet. Des barres OHLC ne permettent pas de retrouver les ticks ou la profondeur manquants.
Qu’est-ce que le test walk-forward ?
Vous choisissez les paramètres sur une fenêtre d’entraînement, vous les figez pour une fenêtre de test ultérieure, puis vous avancez dans l’ordre chronologique. La règle de sélection reste fixe et aucune information future ne doit entrer dans l’entraînement.
Un backtest rentable prouve-t-il un avantage statistique ?
Non. Les hypothèses d’exécution, les coûts, les trous de données, le biais de sélection et l’évolution des conditions de marché peuvent invalider le résultat. Publiez les résultats hors échantillon et les configurations qui ont échoué.
Quels langages permettent un backtest historique ?
Senzoukria prend en charge le backtest historique de stratégies JavaScript et Python dans l’application desktop. Le scripting C++ utilise un runtime WebAssembly distinct et ne propose pas de backtest historique.