Évaluer les performances commerciales des stratégies

Un problème courant pour un trader est de savoir quand sa stratégie a perdu l'avantage, ou en bref, quand il y a une situation qui ne correspond pas aux stratégies actuelles. Les stratégies générées par l'exploration de données peuvent voir leurs performances se dégrader assez rapidement, et ces extraits peuvent aider à analyser de telles situations. Cet épisode est l'introduction d'une série d'articles dans lesquels je présenterai de nouveaux extraits de WHAT-IF pour nous aider à traiter ce problème. Dans les épisodes suivants, nous présenterons également des extraits basés sur une logique de contrôle statistique de la qualité et, enfin, nous mènerons une étude pour déterminer si ces extraits réduisent statistiquement le profil de risque des stratégies.

Dans la partie d'aujourd'hui, j'ai préparé un extrait qui permet au développeur de la stratégie de mesurer le drawdown maximum dans la période in-sample (la période d'entraînement) et de mettre fin à la stratégie lorsqu'elle atteint la valeur en pourcentage de ce drawdown dans la période out-of-sample.

.

J'ai préparé deux versions de l'analyse "WHAT-IF".

 

1. logique de formation et de test

Dans l'extrait WHAT-IF, vous pouvez définir le seuil de pourcentage du pourcentage de réduction dans l'échantillon. Par exemple, vous pouvez choisir 50% de IS DD ou 150% de IS DD. Enfin, la stratégie se désactive pendant la période hors échantillon lorsqu'elle atteint le pourcentage de baisse mesuré dans l'échantillon DD.

2. Logique de formation/validation/test

Cet extrait de WHAT-IF fonctionne avec la logique de test de formation/validation. Cette méthode d'analyse est basée sur la méthode "hold-out". Dans cette méthode de sélection des modèles, l'ensemble de données est divisé en trois ensembles différents : formation, validation et test.

Source : https://vitalflux.com/hold-out-method-for-training-machine-learning-model/

 

L'extrait "What If" comporte deux modules.

 

  1. L'écart maximal est mesuré dans la partie de formation des données, et la stratégie cesse d'opérer dans les parties de validation et de test des données après avoir atteint l'écart maximal de formation.
  2. Le snippet WHAT-IF détermine le drawdown maximum dans la partie des données de validation et arrête les transactions dans la partie des données de test après avoir atteint le pourcentage de drawdown mesuré dans la partie des données de validation.

 

Dans Strategy Quant X, vous pouvez définir l'entraînement/la validation/le test dans la section Données.

 

Pour plus d'informations sur l'utilisation et la mise en place de formations/validations/tests, vous pouvez consulter le site suivant ici.

 

Examinons l'utilisation de ces extraits dans la pratique :

 

Formation/Test d'un extrait d'analyse d'hypothèses

 

Dans la figure ci-dessus, nous voyons un backtest d'une stratégie RSI simple divisé en une période in-sample et une période out-of-sample. Nous pouvons voir que la stratégie atteint le drawdown maximum dans la période hors échantillon.

 

Après avoir utilisé l'extrait WHAT-IF, nous pouvons voir ce qui se passe lorsque la stratégie quitte la transaction après avoir atteint 50% du drawdown maximum de la partie échantillon des données. La stratégie dans Out of sample terminera le trade plus tôt que prévu. En bas de la base de données, nous pouvons voir comment les statistiques de chaque stratégie ont changé. Le drawdown de la stratégie What If Out Of Sample est plus faible.

 

Formation/Validation/Test de l'extrait WHAT-IF

 

Snippet fonctionne selon deux modes :

Mode = 1

Fonctionne selon l'hypothèse que la stratégie de négociation est désactivée lorsque la valeur en pourcentage de l'écart maximal de la période d'entraînement est atteinte. Cette logique est appliquée à la fois à la période de validation et à la période de test.

Mode = 2  

Fonctionne avec l'hypothèse que la stratégie de trading est désactivée lorsque la valeur en pourcentage du drawdown maximum est mesurée dans la période de validation. Cette logique est appliquée dans la période de test.

 

 

Backtest de base

Dans la figure suivante, nous voyons le backtest initial de la stratégie divisé en Formation/Validation/Test.

 

 

Mode = 1

Après avoir utilisé l'extrait WHAT-IF, nous constatons que la stratégie n'a pas réussi à atteindre 50% de son drawdown mesuré dans la période de formation. 50% du drawdown n'a été atteint que dans la partie test des données, où le trading a été arrêté.

 

Mode = 2

Dans ce mode, j'ai fixé un drawdown de 100% dans la partie validation des données. Dans la partie test, la stratégie a atteint un drawdown de 100% assez rapidement et s'est arrêtée.

 

Ces extraits de "WHAT-IF" constituent une introduction au sujet. L'objectif est d'élaborer l'ensemble du flux de travail. En ce qui concerne la mise en œuvre dans les plateformes, → la solution ci-dessus peut être mise en œuvre dans MT4/MT5 et également dans Tradestion/Multicharts. Quoi qu'il en soit, en termes de modularité, la meilleure plateforme est Metatrader 5.

À la fin du blog, j'aimerais ouvrir une discussion sur les idées qui pourraient être intégrées dans les snippets. Si vous avez des idées, veuillez les poster dans la discussion en dessous de l'article, ou directement à [email protected].

 

Les deux extraits de What if que vous pouvez télécharger ici.

 

clonex / Ivan Hudec

Ivan Hudec — “ Clonex ” sur le forum

Je suis trader depuis 15 ans et je développe des stratégies avec StrategyQuant X depuis 2014. Aujourd’hui, je me consacre à trois activités : je développe et teste en conditions réelles des stratégies automatisées, j’enrichis la plateforme SQX elle-même avec des indicateurs personnalisés, des extraits de code et des outils Python dédiés à l’apprentissage automatique et à la recherche quantitative, et j’aide d’autres traders à atteindre leurs objectifs plus rapidement — sans qu’ils aient à commettre les mêmes erreurs coûteuses que celles que j’ai commises au fil des années.
La plupart des stratégies de trading au détail semblent très prometteuses lors des backtests, mais s'effondrent en conditions réelles. Mon travail va à l'encontre de cette tendance : je développe des stratégies honnêtes, validées et suffisamment robustes pour qu'on puisse leur confier de l'argent réel. Je décris ce processus — avec ses bons et ses mauvais côtés, ainsi que le surajustement dont personne ne parle — sur mon site, algotrading.space.
Si vous souhaitez approfondir vos connaissances en matière de validation, de développement SQX sur mesure ou de création d'un véritable avantage concurrentiel grâce aux données et au code, c'est là que je partage toutes ces informations.  www.algotrading.space

11 Commentaires
Le plus ancien
Le plus récent Le plus populaire
Négociant en abeilles
2. 3. 2022 10:01

Bonjour Clonex,

Merci pour le résumé et les extraits. Avez-vous envisagé d'utiliser une méthode d'ajustement d'une distribution telle que le bêta, puis d'utiliser les propriétés statistiques pour arrêter les transactions en cas d'écart dépassant le seuil autorisé/choisi ? Tim Masters en parle dans ses livres.

Remerciements
Négociant en abeilles

Négociant en abeilles
Répondre à  clonex / Ivan Hudec
2. 3. 2022 16h51

Quelles méthodes SQC envisagez-vous pour votre prochaine recherche ?

Emmanuel
11. 4. 2022 6:03 pm

Excellent ! !!!!! Merci beaucoup Clonex pour ce travail formidable ! !!!!

hannahis
14. 6. 2022 7:52 pm

"Un problème courant pour un trader est de savoir quand sa stratégie a perdu l'avantage, ou en bref, quand il y a une situation qui ne correspond pas aux stratégies actuelles. Les stratégies générées par l'exploration de données peuvent voir leurs performances se dégrader assez rapidement..." Les stratégies générées par l'extraction de données peuvent voir leurs performances se dégrader assez rapidement..." Le cycle de la cerise sur le gâteau ne progresse pas... un cycle sans fin d'essais et d'échecs... Quelqu'un s'est-il déjà assis et a-t-il réfléchi aux raisons pour lesquelles les stratégies perdent souvent leur avantage (en particulier les stratégies générées par l'extraction de données qui ne sont pas basées sur une théorie commerciale solide) ? A moins de s'asseoir et de réfléchir sérieusement, nous serons toujours en train de courir après le vent et de faire des erreurs.... Lire la suite "

Dernière modification le 4 années il y a par hannahis
hannahis
Répondre à  hannahis
14. 6. 2022 8:11 pm

Vous ne serez plus en train de chercher ou de trouver des stratégies robustes. Vous connaîtrez les ingrédients des stratégies robustes et commencerez à les construire (sans plus avoir besoin de chercher parce que vous saurez comment jouer avec les teneurs de marché, la clé pour développer des stratégies robustes). Les logiciels ne connaissent pas les manipulations de marché, ils ne regardent que les données mais pas l'intention derrière les données (manipulation de marché). Ainsi, en examinant uniquement les données (historiques) sans comprendre la manipulation du marché, le logiciel ne saura pas ce qu'il faut rechercher, quelles sont les caractéristiques qu'il est important d'avoir, etc.

Adam Kundrát
Répondre à  hannahis
8. 8. 2022 8:06 am

La ligne de pensée est intéressante et très probablement juste en ce qui concerne le fait que les teneurs de marché ont essentiellement des intentions de négociation différentes de celles des négociants habituels. Je ne suis pas sûr que vous ayez mis un signe égal entre les activités des teneurs de marché et la manipulation du marché, mais je pense que oui. La question est alors de savoir si la manipulation est une activité intentionnelle ou plutôt une activité résultant de l'existence des teneurs de marché ? L'une ou l'autre et compte tenu de vos réflexions, les questions seraient les suivantes : (1) peut-on trouver des stratégies rentables ? Sur la base de vos réflexions, je pense que la réponse est OUI, mais votre réponse est négative.... Lire la suite "

Adam Kundrát
8. 8. 2022 8:20 am

Bonjour Clonex, merci pour votre article. Je ne suis pas sûr de pouvoir saisir toute la signification de votre ajout, mais ai-je bien compris que le résultat de votre test compare essentiellement le DD le plus élevé dans l'ensemble de données de l'échantillon à la valeur définie actuelle du DD d'une stratégie de trading sur le compte réel et arrête le trading de la stratégie lorsque la valeur définie est dépassée ? Par exemple, DD dans l'échantillon = $1.000, valeur prédéfinie = 130% du DD dans l'échantillon = $1.300. Lorsque la stratégie dépasse la valeur prédéfinie du DD ($1.300) sur le compte réel, MT4/MT5 ferme toutes les transactions.... Lire la suite "

SteveChou
9. 3. 2023 4:06 am

C'est une bonne idée qui permet au trader de savoir combien de temps sa stratégie échouera après avoir été créée.
Mais j'ai une suggestion pour améliorer cette évaluation.
Il peut changer le DD de référence du résultat de la stratégie originale au résultat de Monte Carlo 95% (ou %).
Parce que nous savons que le résultat de MC peut prédire le résultat de la stratégie possible à l'avenir.
Par conséquent, si le résultat de référence peut être modifié en résultat MC, il sera peut-être meilleur.
Il s'agit simplement d'une idée de réflexion.

Poursuivre la lecture