Aller au contenu

Coûts de transaction dans les backtests

Simuler exécutions, commissions et coûts dans un backtest sans compter deux fois spread et slippage, avec un exemple du brut au net.

Citer cette entrée

Cette référence cite l’entrée de Cyclepedia. Les documents utilisés sont indiqués dans les sources de l’entrée.

Les coûts de transaction dans les backtests sont les frais et effets d’exécution qui séparent le résultat théorique du résultat simulé. Le signal et le choix de l’ordre utilisent les informations déjà disponibles. Après l’envoi, le simulateur reconstitue chronologiquement les événements suivants : les cotations et volumes ultérieurs peuvent déterminer une exécution simulée sans être révélés à l’avance à la stratégie. Les paramètres du modèle de coûts doivent aussi être estimés sans utiliser la période évaluée.

À qui s’adresse cette page — À quiconque passe de signaux théoriques à des ordres simulés et veut savoir si l’avantage théorique résiste à la mise en œuvre. Soustraire une commission fixe ne suffit pas lorsque spread, impact, prêt de titres, financement et probabilité d’exécution varient selon l’instrument, le moment et la quantité.

En termes simples — Le signal indique ce que l’on souhaiterait acheter ou vendre. Le modèle de coûts demande si, quand, en quelle quantité et à quel prix il aurait réellement été possible de le faire.

Des prix de référence aux 88 euros nets100 actions · entrée et sortie complètes · valeurs hypothétiques. Écarts déjà dans les exécutions : −4 −4. Commissions à part : −4. Autres frais exclus.Des prix de référence aux 88 euros nets100 actions · entrée et sortie complètes · valeurs hypothétiquesÉcarts déjà dans les exécutions : −4 −4. Commissions à part : −4. Autres frais exclus.1Théorique1002Entrée−43Sortie−44Exécuté925Commissions−46Net88Cyclepedia · schéma pédagogique conditionnel, ni prévision ni promesse
Opération hypothétique de 100 actions : les écarts intégrés aux prix d’exécution ne sont pas déduits deux fois.

Du signal au résultat net

Pour une position clôturée, un calcul vérifiable part des prix et quantités d’exécution simulés :

résultat net = résultat aux prix d’exécution − commissions et autres frais non encore inclus

Si les prix d’exécution intègrent spread, slippage ou impact, ces composantes ne sont pas soustraites à nouveau. La comparaison avec un portefeuille théorique aux prix de référence mesure l’écart de mise en œuvre, ou implementation shortfall. Elle exige un même horizon de valorisation et une même devise, les quantités demandées et exécutées et des références horodatées. La composante d’un ordre non exécuté est une comparaison contrefactuelle, pas une nouvelle commission à retirer du résultat effectif. Cette distinction suit la discussion SEC de 2003, §§ II.A et III.B, consacrée aux transactions sur titres des fonds, et non à un modèle universel.

Composante Ce qu’elle représente Principaux déterminants
Commissions et frais courtier, plateforme, compensation, bourse et taxes applicables instrument, marché, volume, grille tarifaire
Spread coût de franchissement de l’écart bid/ask liquidité, horaire, volatilité, type d’ordre
Slippage écart entre exécution et benchmark déclaré latence, gap, profondeur, séquence des événements
Impact de marché mouvement associé à sa propre demande de liquidité taille, participation, urgence, volatilité, résilience
Délai et coût d’opportunité mouvement pendant que l’ordre attend ou reste incomplet durée, limite, concurrence, signal qui se dégrade
Exécution partielle et non-exécution quantité exécutée inférieure à la quantité souhaitée priorité, profondeur, annulations, plateforme
Prêt de titres disponibilité, rappel et frais d’emprunt pour une vente à découvert demande d’emprunt, offre, spécificité du titre
Financement et marge financement des positions, collatéral et levier taux, devise, décote, durée, intermédiaire
Roll et base clôture et réouverture de contrats ou d’expositions courbe, calendrier, spread entre échéances, liquidité

D’autres éléments peuvent inclure conversion de devises, droits de timbre ou fiscalité. Ils ne doivent entrer que dans le périmètre pertinent, selon une règle documentée.

La marge est une garantie ou exigence de capital, pas une dépense à déduire intégralement à chaque période. Intérêts et coût de financement du capital immobilisé se modélisent séparément. Pour le roll, on comptabilise exécutions et frais des contrats ; l’écart de prix entre échéances ne devient pas automatiquement une commission supplémentaire, surtout s’il figure déjà dans la courbe de résultat.


Pourquoi un coût fixe n’est pas universel

L’hypothèse d’« un tick par transaction » peut être un scénario pédagogique, pas une propriété du marché. Le même ordre change de coût entre enchère et marché continu, conditions normales et stress, titre liquide et micro-cap, ordre passif et agressif. Le slippage peut même être favorable ou défavorable par rapport au benchmark ; cela ne rend pas l’impact gratuit et ne garantit pas la répétition de l’amélioration.

Lorsque les données le permettent, le modèle devrait donc dépendre :

  • de la quantité et du montant de l’ordre ;
  • du volume disponible et du taux de participation ;
  • du spread et de la profondeur observables ;
  • de la volatilité et du régime temporel ;
  • du côté, du type d’ordre, de l’urgence et de la durée ;
  • de la plateforme, de la devise et de la classe d’actifs ;
  • de l’état du prêt de titres, du financement et du contrat.

Une fonction simple croissant avec la participation peut être plus transparente qu’une simulation complexe non calibrée. La complexité doit suivre les données, pas les précéder.


Ordres et exécutions causales

La chaîne correcte est : données disponibles → signal → ordre → interaction avec le marché → exécution → position. Une barre OHLC quotidienne ne révèle ni la séquence intrajournalière ni la quantité disponible. Si le maximum et le minimum franchissent à la fois stop et objectif, le backtest ne peut choisir rétrospectivement l’issue favorable. Il faut des données plus granulaires ou une règle prudente déclarée.

Pour un ordre à cours limité, « prix touché » ne signifie pas automatiquement exécuté : des ordres peuvent précéder le sien dans la file ou le volume être insuffisant. Pour un ordre au marché, le prix n’est pas garanti et peut franchir plusieurs niveaux. Latence et exécutions partielles modifient quantité, risque et signaux ultérieurs. Ces contraintes doivent respecter la chaîne décrite dans la page sur la fuite de données et le biais d’anticipation.


Capacité de la stratégie

La capacité est l’échelle au-delà de laquelle le rendement net, le risque ou la fidélité au signal se détériorent sensiblement. Ce n’est pas un montant fixe valable indéfiniment. Elle dépend des actifs, du turnover, de la concentration, de l’horizon, de l’encombrement et du mode d’exécution.

Un contrôle pratique recalcule le test pour plusieurs niveaux de capital ou de participation. Il enregistre pour chacun :

Sortie Pourquoi elle compte
quantité demandée et exécutée sépare le souhait de la position obtenue
pourcentage du volume mesure la pression relative sur le marché
coût moyen et marginal montre la non-linéarité de l’échelle
ordres incomplets révèle les signaux non implémentables
rendement net et drawdown mesure la détérioration économique
temps de liquidation relie capacité et risque de sortie

La capacité ne se démontre pas en comparant uniquement la taille moyenne au volume moyen : journées de stress, instruments concentrés et sorties simultanées peuvent dominer le risque.


Protocole de modélisation

  1. Définir le benchmark. Préciser prix et horodatage servant à mesurer l’exécution.
  2. Produire des ordres explicites. Quantité, côté, type, limite, durée et priorité logique doivent découler du signal.
  3. Aligner calendriers, contrats et données. Point-in-time: Rejouer les événements chronologiquement : l’exécution doit être compatible avec l’acceptation de l’ordre et la liquidité alors disponible ; les données ultérieures ne doivent pas entrer dans les décisions antérieures.
  4. Appliquer des coûts explicites vérifiables. Versionner tarifs, changements de régime et devise.
  5. Modéliser spread et impact sans doublon. Déclarer benchmark et fonction retenue.
  6. Autoriser exécutions partielles et non-exécutions. La position utilise les quantités effectivement simulées.
  7. Ajouter les coûts de détention pertinents. Emprunt de titres et financement suivent taux et durée ; la marge est une contrainte de capital. Le roll suit contrats et calendrier.
  8. Calibrer sur le réel lorsque c’est possible. Comparer les exécutions réelles aux prévisions par catégorie d’ordre ; le paper trading reste une simulation et ne prouve ni file, ni impact, ni exécutabilité réels.
  9. Exécuter des scénarios. Scénarios de base, favorable et sévère font varier des déterminants observables, pas des multiplicateurs présentés comme lois.
  10. Tester plusieurs échelles. Publier courbe des coûts et rendement net en fonction du capital ou de la participation.
  11. Geler le modèle avant l’OOS. Paramètres et règles employés hors échantillon ne doivent pas être adaptés à son résultat.

Exemple recalculable — Achat hypothétique de 100 actions en euros, position entièrement clôturée, sans financement, fiscalité ni dividendes. Références : 100 à l’entrée et 101 à la sortie, soit 100 × (101 − 100) = 100 euros théoriques. Exécutions simulées : 100,04 et 100,96, soit 92 euros. Les commissions de 2 euros par côté donnent 92 − 4 = 88 euros nets. L’écart est de 4 euros à l’entrée + 4 à la sortie + 4 de commissions = 12 euros. Les 8 euros intégrés aux exécutions ne sont pas retirés à nouveau comme spread ou slippage.

Dans un autre cas, un ordre de 20 000 unités exécuté pour 12 000 puis 5 000 laisse 3 000 unités non exécutées : taux d’exécution de 85 %. La position comptabilisée est de 17 000 unités ; le résultat théorique des 3 000 manquantes appartient à la comparaison de mise en œuvre, sur un horizon déclaré. Changer d’échelle exige de recalculer prix et quantités.


Limites et communication

L’impact contrefactuel ne s’observe pas avec précision : on ne peut voir le marché sans son propre ordre. Les modèles calibrés en période calme peuvent échouer sous stress ; les cotations ne reconstituent pas toujours la file ; les historiques de prêt et de financement peuvent être incomplets. Un backtest ne doit donc pas présenter le coût comme une vérité ponctuelle, mais comme une estimation conditionnelle accompagnée d’hypothèses, d’intervalles et de scénarios.

Le rendement brut reste utile pour étudier le signal ; le rendement net sert à évaluer son implémentabilité. Les publier ensemble, avec turnover, quantité, taux d’exécution et capacité, montre où le résultat se crée ou se perd.


Références

Liens connexes