Vous n'êtes pas identifié(e).

#1 17-08-2024 14:19:20

Climax
Administrateur
Inscription: 30-08-2008
Messages: 6 243
Windows 10Firefox 129.0

Combien de temps faut-il tester une stratégie de trading ?


temps-pour-tester-une-strategie.webp

Tester un système de trading consiste à évaluer ses performances sur une certaine période et dans différents environnements de marché.

La durée de la période de test peut avoir un impact significatif sur les résultats et la confiance dans le système.

Plusieurs variables clés entrent en jeu pour déterminer la durée du test d'une stratégie ou d'un système de trading.

Il s'agit en fait de savoir :

  • Quel est l'avantage de la stratégie de trading ?

  • Quelle est sa fréquence ?

  • Quel est son rendement ?

Ces questions se répartissent en dix catégories distinctes.

Points clés à retenir :

➡️ Tester dans différentes conditions de marché

  • Assurez-vous que votre stratégie est testée dans divers environnements de marché (haussier, baissier, volatil) afin d'en évaluer la robustesse.

➡️ Taille suffisante de l'échantillon de transactions

  • Plus il y a de transactions, plus les résultats sont statistiquement significatifs.

  • 3 variables principales : la marge, la fréquence, le paiement

  • Les systèmes à faible fréquence, avec des marges et des paiements plus faibles, nécessitent des périodes plus longues.

➡️ Simulations de Monte Carlo

  • Les simulations de Monte Carlo peuvent être utilisées comme exercices pour estimer le temps nécessaire pour que votre avantage en matière de trading se manifeste, en tenant compte du caractère aléatoire et de la variance.

➡️ Tenir compte des coûts réels

  • Tenez compte des coûts d'exécution, des contraintes de liquidité et de l'impact sur le marché dans vos tests afin d'obtenir des résultats réalistes.

➡️ Évitez l'ajustement excessif

  • Testez avec des données hors échantillon et utilisez l'analyse « walk-forward » pour confirmer que votre stratégie est réellement robuste.

➡️ Dépend du type de stratégie

  • Compte tenu de considérations pratiques, des années et des décennies de backtesting se justifient généralement pour les stratégies de trading à long terme (par exemple, le trading de position, l'investissement).

  • Pour les stratégies à plus court terme pour lesquelles les données et les transactions sont nombreuses (par exemple, le HFT ou la tenue de marché sur des marchés très liquides ou certaines applications de trading), un horizon temporel plus court peut suffire.

Avantage, Fréquence, Paiement

Une stratégie de trading réussie repose sur trois variables principales : L'avantage, la fréquence et le paiement.

Avantage

L'avantage fait référence à la supériorité d'une stratégie sur le marché, généralement exprimée par la probabilité de gagner une transaction.

Même un petit avantage, comme gagner 51 % du temps, peut être rentable sur de nombreuses transactions.

Néanmoins, il dépend de la valeur attendue de la transaction.

Un taux de gain de 51 % peut être excellent lorsque la récompense est égale ou supérieure à la pénalité pour s'être trompé, mais peut être défavorable lorsque la pénalité est supérieure à la récompense.

Fréquence

La fréquence indique à quelle fréquence la stratégie effectue des transactions.

Les stratégies à haute fréquence peuvent tirer parti plus rapidement de petits avantages, car le nombre de transactions permet à l'avantage de se manifester au fil du temps.

À l'inverse, les stratégies à faible fréquence ont besoin d'un avantage plus important ou de meilleurs gains pour être efficaces.

Rémunération

La rémunération est le rapport moyen entre les gains et les risques de chaque transaction.

Un taux de distribution élevé signifie que les bénéfices des transactions gagnantes dépassent largement les pertes des transactions perdantes.

Même avec un avantage modeste ou une fréquence plus faible, un paiement élevé peut rendre une stratégie rentable.

Équilibre entre les trois variables

Il est essentiel d'équilibrer ces trois variables.

Une stratégie avec un faible avantage peut tout de même réussir si elle effectue des transactions fréquentes ou si son paiement est élevé.

Une stratégie dont la fréquence des signaux est faible peut néanmoins s'avérer efficace si elle dispose d'un avantage important et d'un paiement de qualité.

De même, une stratégie à faible paiement peut être intéressante si l'avantage est plus important et si la fréquence des signaux est plus élevée.

Dans l'ensemble, la compréhension et l'optimisation de l'avantage, de la fréquence et du paiement garantissent la robustesse de votre stratégie et sa capacité à générer des rendements réguliers.

Simulations de Monte Carlo sur le temps nécessaire à l'apparition d'un avantage en matière de trading

Commençons par quelques simulations de Monte Carlo.

Celles-ci peuvent constituer une excellente technique pour comprendre combien de temps il faut pour qu'un avantage de trading devienne apparent.

En simulant des milliers de résultats possibles en fonction de votre avantage de trading (la probabilité de gain et le montant moyen gagné ou perdu par transaction), vous pouvez observer comment le solde de votre compte de trading évolue au fil du temps.

Dans ce contexte, l'avantage de trading, la taille de la mise et le nombre de transactions sont des variables essentielles.

L'avantage reflète le léger avantage (ou désavantage) que vous avez dans chaque transaction, tandis que la taille de la mise détermine l'impact financier de chaque transaction.

Le nombre de trades simule la fréquence des transactions et le passage du temps sur le marché.

En effectuant ces simulations, vous pouvez voir combien de temps il faut généralement pour que les bénéfices cumulés l'emportent sur la variance naturelle des résultats.

Même avec un avantage positif, le résultat de chaque transaction est soumis au hasard, de sorte qu'il peut s'écouler de nombreuses transactions avant que l'avantage ne devienne statistiquement significatif.

L'approche de Monte Carlo vous aide à estimer l'éventail des résultats et à comprendre la patience nécessaire pour qu'un avantage se manifeste dans des conditions de transaction réelles.

Code

Nous avons 3 variables :

  • probabilité de gain et de perte

  • montant de la mise (100 $ par transaction dans ce cas)

  • essais (transactions/période de temps)

Voici notre code :


import numpy as np

import matplotlib.pyplot as plt

# Paramètres

win_prob = 0.501 # Probability of winning

lose_prob = 0.499 # Probability of losing

bet_amount = 100 # Amount bet per round

trials = 10000 # Number of trials/trades – i.e., passage of time

# Simulation de Monte Carlo

def monte_carlo_simulation(trials, win_prob, lose_prob, bet_amount):

# Simuler les résultats de chaque essai (1 pour la victoire, -1 pour la défaite)

outcomes=np.random.choice([1, -1], size=trials, p=[win_prob, lose_prob])



# Calculer le résultat de chaque pari

results=outcomes*bet_amount



# Calculer la somme cumulée des résultats pour suivre l'évolution du solde dans le temps.

balance=np.cumsum(results)



returnbalance

# Exécuter la simulation

balance = monte_carlo_simulation(trials, win_prob, lose_prob, bet_amount)

# Tracé

plt.figure(figsize=(10, 6))

plt.plot(balance)

plt.title("Monte Carlo Simulation of Trading System with 50.1% Edge")

plt.xlabel("Number of Bets")

plt.ylabel("Cumulative Balance ($)")

plt.grid(True)

plt.show()

Avantage de 50,01 %

Nous pouvons voir qu'avec un avantage de 50,01%, il est si petit qu'il n'est pas très différent d'un fonctionnement sans avantage.

Il y a un peu plus de 50 % de chances de gagner de l'argent sur 10 000 trades, mais cela peut très bien basculer dans l'autre sens, comme cela a été le cas ici.

monte-carlo-50.png

Avantage 50,05 %

L'avantage de 50,05 % présente un schéma meilleur mais similaire où, sur un nombre suffisant d'essais, vous pouvez toujours être dans le rouge.

Sur 100 000 essais, il est très probable que vous soyez dans le noir, mais l'avantage est si faible que la variance peut l'emporter sur des horizons à court et moyen terme.

monte-carlo-50-05.png

Avantage de 50,1 %

Un avantage de 50,1 % comporte encore beaucoup de variance, mais 50,1 % représente suffisamment de compétences pour prendre de l'avance sur 10 000 trades.

Dans cette simulation, nous avons gagné environ 7 000 $ (en utilisant une mise de 100 $ pour les gains et les pertes), soit 0,70 $ par transaction.

monte-carlo-50-1.png

Avantage de 50,5 %

Avec un avantage de 50,5 %, il y a eu quelques pertes initiales (environ 2 000 dollars de moins pendant deux points au cours des 1 500 premiers essais), mais la situation s'est améliorée au fil du temps.

Cela montre que ce type d'avantage est précieux, mais qu'il s'accompagne d'une grande volatilité.

En moyenne, vous gagnez toujours moins d'un dollar par transaction après 10 000 essais et la variance est importante.

Il s'agit d'une situation gagnante, mais qui serait psychologiquement difficile pour de nombreux traders.

Cela pourrait être analogue à l'avantage de la maison au blackjack avec une stratégie de base parfaite, si le blackjack rapporte 3:2.

Le casino gagnera au fil du temps avec un grand nombre de mains et de tables, mais les joueurs peuvent avoir de la chance à court terme - ce qui peut signifier, de manière réaliste, plus de 1 000 à 2 000 mains pendant certaines périodes.

monte-carlo-50-5.png

Avantage de 51 %

Avec un avantage de 51 %, il peut encore y avoir des milliers d'essais où vous perdez de l'argent.

Par exemple, nous étions en hausse dès les premières étapes, mais nous avons ensuite plafonné ou empiré jusqu'à l'essai 5 000 environ avant la prochaine étape de hausse.

Il y a encore eu une forte baisse après l'essai 8 000 avant qu'une forte série de gains ne montre la qualité de cet avantage.

Il faut cependant reconnaître qu'il y aura des baisses et des périodes creuses avec un avantage de 51 %.

monte-carlo-51.png

Avantage de 52 %

C'est avec un avantage de 52 % que les résultats commencent à s'améliorer.

Avec une marge de 50,5 %, nous n'avons gagné qu'environ 1 $ par transaction dans cette simulation, mais nous avons atteint près de 3,50 $ par répétition dans le cas présent.

monte-carlo-52.png

Avantage de 53 %

Vous pouvez voir qu'à 53 % avec un paiement égal, la compétence devient beaucoup plus influente que la variance.

monte-carlo-53.png

Avantage de 54 %

Au fur et à mesure que l'avantage atteint 54 %, la probabilité d'une perte sur 1 000 essais devient de plus en plus faible.

Et au-delà de 10 000 essais, la rentabilité est une quasi-certitude.

monte-carlo-54.png

Avantage de 55 %

Lorsque nous atteignons 55 %, l'avantage sur un grand nombre d'essais est extrêmement fort et devient de plus en plus linéaire.

monte-carlo-55.png


Examinons l'ensemble des variables qui entrent en ligne de compte pour déterminer la durée de l'essai d'une stratégie de trading.

1. Les conditions du marché

Diverses phases du marché

Veillez à ce que le système soit testé dans différents environnements de marché, tels que les marchés haussiers, les marchés baissiers, les marchés latéraux, les périodes de croissance forte ou faible, les périodes d'inflation forte ou faible et les périodes de volatilité forte ou faible.

Cela permet de comprendre la robustesse et l'adaptabilité de la stratégie.

Saisonnalité

Si le marché ou l'actif faisant l'objet de la transaction est soumis à des effets saisonniers, la période de test doit couvrir plusieurs saisons afin de saisir ces variations.

2. Fréquence des transactions

Nombre de transactions

Plus le système génère de transactions, plus la période de test requise peut être courte.

Un système de trading à haute fréquence peut être testé sur une période plus courte, tandis qu'un système dont les transactions sont peu fréquentes peut avoir besoin d'une période plus longue pour générer suffisamment de données.

Fréquence des signaux

Les systèmes qui effectuent des transactions sur la base de signaux fréquents (par exemple, les stratégies intrajournalières) peuvent nécessiter moins de temps de calendrier, mais tout de même un nombre important de transactions à tester.

Évolutivité

Cela va dans le sens de ce que nous venons de mentionner, mais plus vous pouvez tester d'essais, plus vite vous pouvez atteindre le long terme et comprendre si vous avez quelque chose de viable.

Impact du bruit du marché

Les systèmes de trading à haute fréquence sont plus susceptibles d'être influencés par le bruit du marché, qui peut fausser les résultats sur de courtes périodes.

Tester sur un nombre suffisant de transactions permet de filtrer le bruit et de révéler la performance sous-jacente de la stratégie.

3. Stabilité du système

Cohérence des résultats

Testez le système suffisamment longtemps pour observer si ses performances sont constantes dans le temps.

Cela permet de déterminer si la rentabilité du système est stable ou si elle est due à des marchés temporairement favorables.

Drawdowns

Une période de test plus longue peut révéler le comportement du système lors de drawdowns importants, ce qui permet de mieux comprendre son profil de risque.

4. Signification statistique

Taille de l'échantillon

Un nombre suffisant de transactions est nécessaire pour que les résultats soient statistiquement significatifs.

Pour les systèmes comportant moins de transactions, un délai plus long peut être nécessaire pour obtenir une taille d'échantillon statistiquement valable.

Dans l'ensemble, la durée des tests doit être adéquate pour fournir une puissance statistique suffisante afin de détecter les véritables performances du système de trading.

Cela réduit la probabilité d'erreurs de type II (incapacité à détecter un effet réel) et permet de s'assurer que l'avantage du système n'est pas manqué en raison d'un manque de données.

Sur un échantillon suffisamment long, on commence à savoir si une stratégie est efficace ou non.

Par exemple, les actions sont un bon pari depuis plus de 200 ans.

actions-200-ans.png

Intervalles de confiance

Les essais doivent durer suffisamment longtemps pour que l'on puisse raisonnablement être sûr que les performances du système ne sont pas dues au hasard.

Cela implique souvent le calcul d'intervalles de confiance pour les rendements du système.

Variabilité des rendements

Des tests sur une période plus longue permettent de mieux comprendre la variabilité des rendements.

Un échantillon de taille suffisante permet d'estimer avec précision l'écart-type des rendements, ce qui est important pour comprendre le risque associé au système de trading.

Distribution des rendements

Si les rendements du système sont supposés suivre une distribution normale, un échantillon plus important permet de valider cette hypothèse.

Les tests effectués sur une période plus longue permettent de comprendre la distribution approximative des rendements, ce qui rend les déductions statistiques plus fiables.

Toutefois, les rendements financiers ont généralement des queues plus lourdes que ce qu'implique la distribution normale.

5. Durée du backtest

Disponibilité des données historiques

La disponibilité des données historiques peut limiter la période de test.

Un plus grand nombre de données permet un backtest plus long et plus complet.

Pertinence des données

La période choisie doit être pertinente par rapport aux environnements de marché actuels et futurs.

Par exemple, les données des années 1980 ne sont pas forcément pertinentes pour les marchés d'aujourd'hui.

Tests de résistance à l'aide de données synthétiques

  • Forward Testing - L'utilisation de données synthétiques permet d'effectuer des tests à terme dans des conditions de marché extrêmes simulées, ce qui permet d'évaluer la résilience du système.

  • Diversification des scénarios - Générer divers scénarios hypothétiques, tels que des krachs boursiers soudains ou des pics de volatilité. Cela permet d'évaluer les performances du système lorsque les données historiques sont insuffisantes.

  • Amélioration de la robustesse - Les tests de résistance effectués à l'aide de données synthétiques permettent de comprendre que la stratégie de trading n'est pas seulement optimisée ou adaptée aux marchés passés, mais qu'elle est suffisamment robuste pour faire face à des événements futurs imprévus.

6. Dynamique du marché

Régimes de marché

Le système doit être testé dans différents régimes de marché (par exemple, avant et après la crise financière, avec des taux d'intérêt bas et élevés) afin de comprendre ses performances dans divers environnements économiques.

Changements technologiques

Les avancées technologiques dans le domaine du trading (par exemple, le trading algorithmique) peuvent modifier le comportement du marché, de sorte que les tests doivent couvrir des périodes précédant et suivant des changements significatifs dans l'infrastructure du marché.

7. Gestion des risques

Risque de ruine

Tester le système suffisamment longtemps pour évaluer la probabilité d'une défaillance complète du système (risque de ruine), en particulier dans des conditions de marché extrêmes.

Durée du drawdown

Tenir compte de la durée maximale du drawdown observé pendant les tests pour déterminer si le système peut se rétablir dans un délai raisonnable.

Dimensionnement des positions

Les tests doivent inclure l'évaluation de diverses stratégies de dimensionnement des positions ou de paris afin de déterminer l'impact des différentes tailles de paris sur le risque global et les pertes potentielles.

Un bon dimensionnement des positions permet de minimiser le risque de ruine et d'améliorer la capacité du système à supporter des environnements de marché défavorables.

Risque de queue

Évaluez les performances du système dans des scénarios extrêmes, souvent appelés « risque de queue ».

Les tests doivent tenir compte d'événements rares mais catastrophiques afin de s'assurer que la stratégie est prête à faire face à des pertes extrêmes et qu'elle n'échoue pas dans des conditions inattendues.

Rendements ajustés au risque

Les tests doivent également porter sur le calcul des performances ajustées au risque, telles que les ratios de Sharpe et de Sortino.

Ces mesures permettent de mieux comprendre si les rendements sont proportionnels au risque pris, ce qui garantit que la stratégie n'est pas seulement rentable, mais aussi efficace dans la gestion du risque.

Penser le risque de manière globale

Le risque peut avoir de nombreuses significations.

Il existe des approches basées sur la volatilité, le risque de queue, les drawdowns, la période de récupération, l'asymétrie, l'aplatissement, et bien d'autres choses que le risque peut englober.

8. Optimisation et surajustement

Test hors échantillon

Veillez à ce que le système soit testé sur des données hors échantillon (données non utilisées dans la phase de développement) afin de vérifier s'il n'y a pas de surajustement.

Des périodes de test plus longues peuvent aider à déterminer si le système est réellement robuste ou s'il est simplement surajusté par rapport aux données historiques.

Analyse "walk-forward"

Utilisez l'analyse en marche avant pour simuler les performances en temps réel sur différentes périodes et réduire le risque de surajustement.

9. Contraintes du monde réel

Coûts d'exécution

Tenir compte des dérapages, des commissions et des autres coûts de transaction, qui peuvent varier dans le temps.

Des périodes de test plus longues peuvent révéler l'impact de ces coûts avec plus de précision.

Contraintes de liquidité

Le système doit être testé sur une période suffisamment longue pour tenir compte des variations de liquidité du marché, qui peuvent affecter l'exécution des transactions et les performances du système.

Vitesse d'exécution des ordres

Testez le système pour évaluer comment les différentes conditions du marché affectent la vitesse d'exécution des ordres.

Les retards d'exécution, en particulier sur les marchés à évolution rapide, peuvent avoir un impact sur la rentabilité et le risque. Il est donc essentiel d'évaluer cet aspect sur des périodes variables.

Impact sur le marché

Des transactions plus importantes peuvent faire bouger le marché, en particulier dans des environnements moins liquides.

Les tests doivent évaluer l'impact de la taille des transactions sur les prix du marché et sur les performances globales du système, afin de s'assurer que la stratégie reste viable lorsqu'elle est mise à l'échelle.

Écart entre l'offre et la demande

L'écart entre les cours acheteur et vendeur peut s'élargir en période de volatilité ou de faible liquidité, ce qui augmente le coût d'entrée et de sortie des positions.

Des tests effectués dans différentes conditions permettent de comprendre comment la fluctuation des écarts affecte les rendements nets et si le système peut rester rentable dans différents scénarios d'écarts.

10. Facteurs comportementaux et psychologiques

Le système doit être testé suffisamment longtemps pour qu'il corresponde au confort psychologique du trader.

Si un système subit des drawdowns prolongés ou des périodes de sous-performance, le trader risque de ne pas pouvoir le suivre.

Dans l'ensemble

La durée appropriée pour tester un système de trading varie en fonction de ces facteurs.

En général, une période de test plus longue dans des environnements de marché variés permet d'avoir une plus grande confiance dans la robustesse et la fiabilité du système.

Pour les stratégies de trading à long terme, il est pratique d'effectuer des tests rétrospectifs sur des années ou des décennies.

En revanche, les stratégies à plus court terme, pour lesquelles les données sont abondantes et les transactions fréquentes, peuvent souvent être testées efficacement sur une période plus courte.

compte-demo.png


Le trading de CFD implique un risque de perte significatif, il ne convient donc pas à tous les investisseurs. 74 à 89% des comptes d'investisseurs particuliers perdent de l'argent en négociant des CFD.

Hors ligne

Utilisateurs enregistrés en ligne dans ce sujet: 0, invités: 1
[Bot] CCBot

Pied de page des forums