Analyse de certains tests de robustesse dans StrategyQuant X on Forex

Introduction

Les tests de robustesse sont une composante importante des outils StrategyQuant X qui aident les utilisateurs à évaluer la stabilité, la fiabilité et l'adaptabilité de leurs stratégies de négociation dans diverses conditions de marché et incertitudes potentielles. .

 

Le principal objectif des tests de robustesse est d'évaluer les performances d'une stratégie commerciale dans différentes conditions de marché, différents scénarios et différents paramètres.

StrategyQuant contient plusieurs outils spécifiques pour évaluer la robustesse des stratégies. Dans ce document, nous analysons l'efficacité des outils sélectionnés. Cette évaluation permet de s'assurer que la stratégie n'est pas sur-optimisée pour des données données données et qu'elle peut s'adapter aux conditions changeantes du marché, augmentant ainsi la probabilité d'une performance commerciale réussie.

 

Un exemple de stratégie robuste et non robuste

La partie bleue de chaque graphique représente les données hors échantillon (inconnues), nous pouvons voir que la stratégie de gauche est également performante sur cette partie, alors que la stratégie de droite échoue sur les données inconnues - il est presque certain qu'elles sont ajustées à la courbe.jasne

 

Objectif de la recherche

L'objectif de l'étude est d'examiner l'efficacité de différents types de tests de robustesse dans StrategyQuant X en. 

Les résultats de cette étude devraient porter sur les points clés suivants :

  1. Comparaison des performances : comparer les performances des stratégies de négociation qui ont été soumises à différents tests de robustesse dans StrategyQuant X, en soulignant l'efficacité de chaque test dans l'identification des stratégies robustes.
  2. Prévention du surajustement : mesure l'efficacité de chaque test de robustesse pour minimiser le surajustement, en veillant à ce que les stratégies soient performantes à la fois sur les données de l'échantillon et sur les données hors échantillon.
  3. Performance commerciale réelle : étudier la corrélation entre les stratégies qui réussissent chaque test de robustesse et leur performance réelle dans des environnements commerciaux réels, ce qui donne un aperçu de la valeur pratique de ces tests.
  4. Adaptabilité aux changements du marché : évaluer la capacité de chaque test de robustesse à identifier les stratégies commerciales qui peuvent s'adapter aux conditions changeantes du marché et maintenir leurs performances dans le temps.
  5. Recommandations pour les combinaisons de tests : fournir des recommandations sur la combinaison optimale des tests de robustesse afin de maximiser l'identification de stratégies commerciales résistantes et adaptables tout en maintenant l'efficacité et la praticité.

 

En conclusion, l'étude devrait évaluer de manière approfondie l'efficacité des différents types de tests de robustesse dans StrategyQuant X et donner un aperçu de leurs forces, de leurs faiblesses et de leurs applications pratiques. 

Les résultats aideront les opérateurs et les investisseurs à mieux comprendre la valeur de chaque test et à prendre des décisions éclairées lors de l'élaboration et de la validation de leur stratégie commerciale.

 

Résultats

Le résultat de l'analyse est la constatation que les le test le plus efficace pour vérifier la robustesse de la stratégie dans les conditions choisies semble être de la tester sur plusieurs marchés. En testant la stratégie sur plusieurs marchés, nous sélectionnons les stratégies en fonction des valeurs moyennes les plus élevées des paramètres de stratégie donnés sur plusieurs marchés. En moyenne, ils améliorent la performance de la stratégie de 14%. En StrategyQuant, il est très facile de tester la robustesse d'une stratégie sur plusieurs marchés à l'aide de la fonction Test sur les marchés additionnels.  

La deuxième meilleure vérification de la robustesse est la randomisation Monte Carlo des données historiques.. Dans les pages suivantes, vous trouverez les résultats détaillés de notre analyse et la méthodologie que nous avons utilisée. L'analyse est conçue pour être utile aux utilisateurs du programme StrategyQuant X.

 

Vous pouvez en savoir plus sur tous les tests de robustesse de Strategy Quant X dans notre documentation.

 

 

Dans l'analyse, nous avons utilisé les paramètres et les types de tests de robustesse suivants :

 

 

Veuillez noter que ce résultat n'est valable que pour une configuration de construction et de test donnée que vous pouvez voir ci-dessous - forex, timeframe 4H, ensemble de symboles donné et paramètres de construction exacts.

C'est un travail pour l'avenir - que nous prévoyons de faire dans la continuité de cette série - que de vérifier si ce résultat est également valable pour d'autres actifs, d'autres délais et d'autres configurations de construction.

Introduction à l'analyse

Dans la partie suivante, j'ai préparé pour vous une étude sur laquelle j'ai travaillé pendant 2 mois. J'ai développé des dizaines de pages de code Python pour cette étude. Il s'agit d'un projet de grande envergure dans lequel vous devez travailler avec d'énormes ensembles de données, effectuer des opérations numériques, analyser les données et les interpréter par la suite. L'objectif était de comprendre comment un test de robustesse particulier peut aider à sélectionner des stratégies qui sont plus susceptibles de produire des résultats robustes à l'avenir. Le document suit la logique de la procédure dans l'analyse.

Tout d'abord, nous chargeons 5 ensembles de données avec des classements généraux de stratégies de blocage pour chaque test de robustesse. Par ensemble de données, nous entendons 100 000 stratégies sélectionnées sur la base d'un classement très général.

Je répéterai cette procédure pour différentes périodes de temps

 

  • 2003 - 2017 + 2 années réelles hors échantillon ( 1.1.2017 - 31.12.2018)
  • 2004 - 2018 + 2 années réelles hors échantillon ( 1.1.2018 - 31.12.2019)
  • 2005 - 2019 + 2 années réelles hors échantillon ( 1.1.2019 - 31.12.2020)
  • 2006 - 2020 + 2 années réelles hors échantillon ( 1.1.2020 - 31.12.2021)
  • 2007 - 2021 + 2 années réelles hors échantillon ( 1.1.2021 - 31.12.2022)

 

Chaque ensemble de données a été défini comme IS = 30% et OOS 70%, la durée réelle de l'échantillon étant de 2 ans.

Exemple sur l'image ci-dessous : La série de données 2003-2017 se termine le 31.12.2016 et comporte une véritable période hors échantillon de deux ans, du 1.1.2017 au 31.12.2018. 

 

En d'autres termes, nous simulerons la génération de stratégies avec la fin de la génération en 2017, 2018, 2019, 2020, 2021. Après chaque fenêtre temporelle, les stratégies suivront dans ce que l'on appelle la véritable sortie de l'échantillon. ( + 2 ans )

Tout d'abord, nous générons des ensembles de données sans tests de robustesse, puis nous appliquons à chaque ensemble de données des tests sélectionnés sur des périodes hors échantillon.

Pour chaque période hors échantillon, je sélectionne les stratégies dans le top 1% des valeurs avec la métrique de stratégie de test de robustesse donnée, je trouve la performance de ces stratégies dans la période hors échantillon, et je compare leur performance à toutes les stratégies dans la période hors échantillon. J'obtiens les données pour chaque période et je sais alors comment un test de robustesse donné peut aider en moyenne.

A la fin de l'article, vous trouverez un tableau dans lequel j'ai décrit les tests qui fonctionnent le mieux... et vice versa, ce que je n'ai en aucun cas confirmé. Vous pouvez utiliser ce tableau pour créer votre propre stratégie. Les tests qui ont été confirmés doivent absolument être inclus dans votre flux de travail.

Commençons...

 

Paramètres du constructeur et description du jeu de données

Datasets

Tout d'abord, nous générons 5 ensembles de données. Par ensemble de données, nous entendons 100 000 stratégies sélectionnées sur la base d'un classement très général.

J'ai filtré les stratégies générées par SQX en fonction de ces critères de base :

 

Je répéterai cette procédure pour différentes périodes de temps

  • 2003 - 2017 + 2 années vraies hors échantillon
  • 2004 - 2018 + 2 années vraies hors échantillon
  • 2005 - 2019 + 2 années vraies hors échantillon
  • 2006 - 2020 + 2 années vraies hors échantillon
  • 2007 - 2021 + 2 ans Vrai hors échantillon

 

Chaque ensemble de données a été défini comme IS = 30% et OOS 70%, la durée réelle de l'échantillon étant de 2 ans.

 

Configuration du constructeur - réglage du type de stratégie

J'ai généré un type de stratégie simple pour une période de 4 heures. La stratégie ne peut entrer que par Enter At market. J'ai fixé le stop loss et l'objectif de profit sur la base de l'ATR. Je n'ai utilisé que des indicateurs intégrés et que des conditions. Les stratégies pouvaient avoir un maximum de deux conditions d'entrée... 

Nous avons choisi le cadre temporel de 4 heures, mais mon expérience m'a appris que les cadres temporels, les marchés et les configurations individuels peuvent avoir leurs particularités, de sorte qu'il n'est pas possible de tirer des conclusions générales après une seule analyse. L'objectif de l'étude était de montrer les tendances lors de l'utilisation des tests de robustesse afin de préparer le flux de travail pour une analyse plus approfondie et de soulever des questions à débattre.

La création et le nettoyage d'un ensemble de données aussi important (5* 100 000) demandent beaucoup de temps et d'efforts. J'ai créé les stratégies sur 2 stations de travail AMD Threadripper 2950 avec 32 processeurs. Il a fallu environ 12 jours pour créer la stratégie avec un projet personnalisé.

Les spreads, les swaps sont fixés en fonction du courtier Darwinex, tous les spreads sont augmentés de 0,5 pip ou arrondis à l'unité supérieure. Pour chaque transaction, une commission de 2,2 USD a été prélevée.

 

 

Évaluation de la qualité des stratégies générées lorsque les tests de robustesse n'ont pas été utilisés

Dans la figure suivante, nous pouvons voir les caractéristiques qualitatives de chaque ensemble de données de stratégies créées pour une période donnée.

 

Dans le cadre de la colonne verte nous disposons des valeurs des paramètres de stratégie obtenues au cours de la période hors échantillon

 

  • Nombre de strates - le nombre de stratégies dans un ensemble de données donné
  • Pas de blocs uniques - nombre de stratégies avec des blocs d'entrée uniques
  • Profit Factor Avg. - facteur de profit moyen de l'ensemble des 100 000 stratégies au cours de la période hors échantillon
  • Ret DD/Ratio Moyenne - la moyenne du ratio Ret DD de l'ensemble des 100 000 stratégies pendant la période hors échantillon
  • Moy. Commerce Moy. - moyenne de la moyenne des transactions de l'ensemble des 100 000 stratégies au cours de la période hors échantillon
  • Ratio de distribution Moyenne - moyenne du ratio de distribution de l'ensemble des 100 000 stratégies au cours de la période hors échantillon
  • Moy. Heures dans le commerce Moy. - le nombre moyen d'heures de position ouverte de 100 000 stratégies dans la période hors échantillon
  • Nombre moyen de transactions par mois Nombre moyen de transactions par mois - moyenne Moyenne des transactions par mois de l'ensemble des 100 000 stratégies dans la période hors échantillon. Trades par mois de l'ensemble des 100 000 stratégies dans la période hors échantillon

 

Dans la colonne bleue nous avons les valeurs des stratégies dans le vrai hors échantillon période 

 

  • Profit Factor Avg. - moyenne du facteur Profit de l'ensemble des 100 000 stratégies dans la période réelle hors échantillon
  • Commerce moyen Commerce moyen - moyenne des transactions moyennes de l'ensemble des 100 000 stratégies dans la période réelle hors échantillon
  • Ratio Ret/DD Moyenne - la moyenne des Ret DD/Ratio de l'ensemble des 100 000 stratégies dans l'échantillon réel hors échantillon 
  • Ratio de distribution Moyenne - moyenne du ratio de distribution de l'ensemble des 100 000 stratégies dans la période réelle hors échantillon
  • Moy. Heures dans le commerce Moy.   le nombre moyen d'heures de position ouverte de 100 000 stratégies dans la période réelle hors échantillon
  • Nombre moyen de transactions par mois Transactions par mois Moyenne des transactions par mois  - moyenne des transactions moyennes par mois de l'ensemble des 100 000 stratégies dans la période réelle hors échantillon. Trades par mois de l'ensemble des 100 000 stratégies dans la période réelle hors échantillon

 

Comme nous pouvons le voir sur le graphique ci-dessus, les stratégies perdent leur performance dans les vraies périodes hors échantillon. Remarquons l'instabilité de la performance des stratégies dans les périodes hors échantillon.

 

Il y a des années où le facteur Profit moyen des stratégies dans le vrai hors échantillon est supérieur à 1 et il y a des années ( 2018 / 2019 / 2020 ) en dessous de 1. En d'autres termes, les stratégies sont en moyenne perdantes. De même, des valeurs instables et faibles sont observées dans le cas de la moyenne des transactions et du ratio Ret/DD. Trade et du ratio Ret/DD. 

Payout Ratio , Avg. Heures dans le commerce et Moyenne des transactions par mois sont relativement similaires dans l'échantillon et dans l'échantillon réel. Trades per month sont relativement similaires dans l'échantillon et dans l'échantillon réel. 

 

Dans la figure ci-dessous, nous voyons dans l'encadré vert le changement absolu ("delta") entre le hors échantillon et le vrai hors échantillon de ces paramètres de stratégie : 

  • 1TP9Facteur d'ajustement ( link)
  • Ratio Ret/DD (lien)
  • Avg. Commerce( lien)
  • Ratio de distribution (lien)

Dans la partie gauche (cadre vert), nous voyons le delta (différence) des mesures sélectionnées entre le hors échantillon et le vrai hors échantillon.

 

Dans la partie droite (cadre bleu), nous pouvons voir le coefficient de corrélation de Sheppard dans le cas du facteur Profit, du ratio de paiement, de la moyenne des transactions, du ratio Ret/DD entre les valeurs de ces indicateurs dans l'échantillon et dans l'échantillon réel. Nous pouvons constater que les corrélations pour Profit Factor, Avg. Trade, Ret/ DD Ratio sont assez faibles et instables. En d'autres termes, les faibles valeurs indiquent une faible valeur prédictive entre les valeurs hors échantillon et les valeurs hors échantillon réelles.

 

Les analyses d'autres ensembles de données et d'autres types de stratégies montrent que les performances des stratégies avec et sans blocs d'action sur les prix sont différentes. Je vais maintenant diviser l'ensemble des données de stratégie 5*100 000 en ensembles de données 

  • Stratégies avec UNIQUEMENT blocs d'action de prix sans indicateurs
  • Stratégies avec blocs d'indicateurs et d'actions de prix

 

Examinons à nouveau l'ensemble de données de base partitionné

 

Stratégie d'ensemble de données avec indicateurs + blocs d'action de prix

 

 

Dans les images ci-dessous, nous pouvons voir les mêmes statistiques que ci-dessus, mais affichées pour les stratégies où il peut y avoir Blocs d'indicateurs et d'actions de prix. La structure des données affichées est exactement la même que celle de l'analyse de l'ensemble des données ci-dessus.

 

Stratégie de l'ensemble de données uniquement avec des blocs d'actions de prix

Les images ci-dessous montrent les caractéristiques de base de l'ensemble de données. Uniquement avec des blocs d'action de prix.

 

Brève comparaison des deux ensembles de données

Mon hypothèse est basée sur une analyse similaire des indices et suppose que les stratégies avec UNIQUEMENT des blocs d'action sur les prix sont plus performantes à la fois en dehors de l'échantillon et en dehors de l'échantillon réel. Il s'avère que dans cette analyse, l'hypothèse n'a pas été respectée et que la meilleure performance des stratégies avec des indicateurs et des blocs d'action sur les prix est maintenue. Il est à noter que pour les stratégies hors échantillon, la performance est meilleure pour les stratégies avec UNIQUEMENT des blocs d'action sur les prix, et pour les stratégies hors échantillon réel, la performance est pire pour les stratégies avec uniquement des blocs d'action sur les prix. Bien que nous puissions trouver quelques différences, elles ne sont pas très significatives et cohérentes.

 

Évaluer la qualité des stratégies générées lorsque des tests de robustesse ont été utilisés

L'ensemble de données de référence se compose de stratégies qui satisfont aux exigences de base en matière de retrait de l'échantillon et nous n'avons pas effectué de tests de robustesse. La question suivante est de savoir si nous pouvons obtenir des résultats statistiquement meilleurs entre le vrai hors échantillon avec les stratégies sélectionnées par rapport à l'ensemble de données de base du vrai hors échantillon (sans tests de robustesse, uniquement avec les classements de base mentionnés ci-dessus) en effectuant les tests de robustesse sélectionnés.

 

Description de la procédure d'évaluation de l'efficacité des tests de robustesse

Le processus d'analyse

  1. Effectuer un test de robustesse spécifique pour les périodes hors échantillon dans chaque ensemble de données
  2. Sélection des meilleures valeurs 1% d'un test de robustesse donné sur la base de sa valeur dans la métrique de stratégie dans l'échantillon hors échantillon.
  3. Mesurer le facteur Avg. Profit d'une sélection donnée sur un échantillon réel hors échantillon
  4. Comparez le facteur Avg. Profit d'une sélection donnée sur le vrai hors échantillon avec le Facteur Profit Moy. Profit sur l'ensemble de la base de données des vrais hors échantillons
  5. Étant donné que nous disposons d'un total de 5 ensembles de données sur des périodes différentes, nous faisons la moyenne des résultats et traçons le delta percentile moyen entre les valeurs de l'ensemble de données de base (sans utiliser le test de robustesse) et celles de l'ensemble de données pour lequel nous avons utilisé le test de robustesse.

 

Remarque. Je n'ai pas exclu les valeurs aberrantes de l'analyse.

 

Mesures de la stratégie

Nous surveillerons la performance des tests de robustesse sur ces paramètres :

  • 1TP9Facteur d'ajustement
  • Rapport Ret/DD
  • Moyenne. Commerce

 

Tests de robustesse utilisés

Nous analyserons les tests de robustesse suivants

 

  • Ratio OOS/IS
  • Méthodes de retest de Monte Carlo : Sélection aléatoire des données historiques de l'OHLC
  • Méthodes de retest de Monte Carlo : Sélection aléatoire des paramètres de la stratégie - périodes
  • Monte Carlo Randomize Trades Manipulation : Randomiser l'ordre des transactions 
  • Ratio Monte Carlo Méthodes de retest : Méthodes de Retreat Carlo : Randomisation des paramètres de la stratégie - Périodes vs. mesures hors échantillon 
  • Méthodes Ratio Monte Carlo Retest : Paramètres : Randomiser les données historiques OHLC par rapport aux paramètres hors échantillon 
  • Ratio Monte Carlo Randomize Trades Manipulation : Randomize Trades Ordre vs. mesures hors échantillon 
  • Moyenne des indicateurs de stratégie sur les autres marchés

 

Remarque : Le test Monte Carlo Randomize Strategy Parameters ne s'applique qu'aux stratégies comportant des indicateurs et des blocs d'action sur les prix. Nous n'appliquons pas ce test aux stratégies ne comportant que des blocs d'action sur les prix, car nous randomisons UNIQUEMENT les périodes des indicateurs donnés.

 

Description des paramètres

 

Examinons brièvement la manière dont nous avons défini les différents tests de robustesse.

 

Ratio des mesures OOS/IS

 

Le rapport entre les mesures hors échantillon et les mesures dans l'échantillon.

 

Moyenne des matrices des marchés additionnels

Nous avons effectué des backtests sur les marchés en utilisant la partie hors échantillon des données pour chaque ensemble de données. Il montre la valeur moyenne d'une mesure donnée à partir de backtests sur tous les marchés supplémentaires. 

Vous pouvez télécharger ces extraits sur notre serveur de partage ici.

Nous avons testé ces marchés :

  • GBPJPY
  • EURJPY
  • GBPUSD
  • USDJPY

 

Méthodes de retest de Monte Carlo : Randomiser les données historiques de l'OHLC

Nous avons utilisé Randomize OHLC history data, qui a été ajouté dans la version 136. Les paramètres sont indiqués dans l'image ci-dessous.

 

Méthodes de retest de Monte Carlo : Randomiser les paramètres de la stratégie - Périodes

Pour le test des paramètres de stratégie aléatoires, j'ai utilisé un extrait modifié où seules les périodes des paramètres étaient aléatoires. 

 

 

Monte Carlo Randomize Trades Manipulation : Randomiser l'ordre des transactions 

Résultats des vraies pertes pour les 1% de stratégies qui ont obtenu les meilleures valeurs de test de robustesse ( 99ème percentile ) 

Dans la figure ci-dessous, nous voyons les mesures de robustesse triées par Avg. Profit Factor in true out of sample vs. Avg.Profit Factor All in true out of sample in the dataset with aucun test de robustesse n'a été appliqué.

 

Dans les colonnes bleues et blanches, nous voyons la comparaison pour chaque période au cours de laquelle nous avons généré l'ensemble de données.

 

Note explicative du tableau

  • Ratio OOSIS : Ratio OOS/IS
  • MCRHD : - Méthodes de retest de Monte Carlo : Randomiser les données historiques de l'OHLC
  • MCRSP : - Méthodes de Monte Carlo Retest : Randomisation des paramètres de la stratégie - Périodes
  • MCRTO : - Monte Carlo Randomize Trades Manipulation : Ordre aléatoire des transactions  
  • Ratio MCRHD Monte Carlo Randomize Données historiques vs. métriques hors échantillon
  • Ratio MCRHD : Ratio Monte Carlo Méthodes de retest : Randomisation des données historiques OHLC par rapport aux mesures hors échantillon
  • Ratio MCRSP : Rapport entre les paramètres de la stratégie de randomisation de Monte Carlo et les paramètres hors échantillon.
  • Ratio MCRTO : Ratio Monte Carlo Randomize Trades Manipulation : Randomize Trades Ordre vs. métriques hors échantillon
  • MM( OOS ) - Moyenne de la mesure de la stratégie sur des marchés supplémentaires 

 

Comment évaluer le tableau ci-dessus

La première colonne du cadre bleu à gauche indique l'année 2017. Profit Factor Avg. représente le facteur de profit moyen de 1% (99e percentile) des stratégies sélectionnées après le test de robustesse. Profit Factor All Avg. représente le facteur de profit moyen de toutes les stratégies dans un vrai donné hors échantillon.

Nous avons donc sélectionné les stratégies en fonction du test de robustesse dans l'échantillon, mais nous comparons les résultats de ces stratégies dans l'échantillon réel. Le delta est la variation absolue des valeurs moyennes.

Dans les cases bleues, vous trouverez toutes les périodes (ensembles de données) dans lesquelles nous avons mené l'étude, et dans la dernière colonne rouge, vous verrez le pourcentage de variation de la moyenne des stratégies sélectionnées sur la base du test de robustesse et de l'ensemble de l'ensemble des données.

 

Interprétation des résultats

Parmi les trois indicateurs examinés, la performance multi-marché des stratégies arrive en tête.

  • MM (OOS) : AddMAvg.TradeAvg (Portefeuille) + 15.24%
  • MM (OOS) : AddMReturnDDRatioAvg (Portefeuille) + 9.62%
  • MM (OOS) : AddMAvg.TradeAvg (Portefeuille) +8.24%

 

Le quatrième test de robustesse efficace est la sélection de stratégies 1% selon MCRHD : Avg. Trade (MC retest, Conf. level 95%), qui augmente la performance de 7,8% en moyenne.

Les deux autres sont 1. TV : Commerce moyen (OOS), 1. Trade (OOS), 1. TV : Profit Factor (OOS). Si nous devions sélectionner 1% des stratagèmes en fonction de ces mesures stratégiques, le facteur de profit dans les OOS augmenterait d'environ 6% en moyenne. Les métriques OOS/IS sont également très performantes.

 

Là encore, j'applique les tests de robustesse UNIQUEMENT aux stratégies filtrées dans le processus de construction à l'aide des critères suivants. 

  • 1TP9Facteur d'ajustement ( IS ) > 1,3
  • Nombre moyen de transactions par an ( IS ) > = 15 Transactions par an ( IS ) > = 15
  • Nombre moyen de transactions par an ( OOS ) > = 15 Transactions par an ( OOS ) > = 15
  • Bénéfice net ( OOS ) > 0

 

Comme il s'agit de stratégies dans le cadre desquelles nous n'avons pas appliqué de filtrage avancé, nous n'avons pas simulé un flux de travail fondamental. Par conséquent, veuillez considérer les résultats comme une indication de la tendance.

 

L'amélioration des performances des mesures de base à OOS est également due au fait que nous n'avons utilisé que des classements de base lors de la création des ensembles de données. En d'autres termes, les critères que nous avons utilisés ont été fixés de manière à générer le plus grand nombre de stratégies rentables le plus rapidement possible. Dans la prochaine partie, nous ouvrirons la possibilité de simuler les classements actuels et d'appliquer des tests de robustesse à ces stratégies.

 

Dans l'image ci-dessous, je joins une version simplifiée du graphique ci-dessus.

Type de test de robustesse Amélioration moyenne % du facteur Profit dans la période True Out of Sample par rapport au facteur Profit dans la période Out of Sample
Performance multi-marchés 12.11
Méthodes de retest de Monte Carlo : Randomiser les données historiques de l'OHLC 4.71
Ratio des mesures hors échantillon par rapport aux mesures dans l'échantillon 4.61
Mesures hors échantillon (moyenne du facteur Profit, moyenne des échanges, facteur Profit) 4.61
Ratio des méthodes de retest de Monte Carlo : Randomisation des données historiques de l'OHLC par rapport aux mesures hors échantillon 3.59
Monte Carlo Randomize trades Manipulation : Ordre de randomisation des transactions 3.44
Ratio de manipulation des transactions aléatoires de Monte Carlo : Ordre des transactions aléatoires vs. mesures hors échantillon 2.13
Méthodes de retest de Monte Carlo : Randomiser les paramètres de la stratégie - Périodes -6.06
Rapport entre les paramètres de la stratégie aléatoire de Monte Carlo et les mesures hors échantillon -9.09

 

La figure ci-dessus montre l'amélioration moyenne du facteur prfot pour un type de robustesse donné. Le résultat est la première des trois mesures utilisées pour évaluer les tests de robustesse (Moyenne du facteur Profit, Moyenne des échanges, Facteur Profit).

 

Performance multi-marchés ( OOS ) donnerait une amélioration moyenne de 12% du facteur de profit de la stratégie dans la véritable période hors échantillon. Le deuxième le meilleur test de robustesse est le Méthode Monte Carlo Retest : Randomiser les données historiques OHLC se traduirait en moyenne par une amélioration de 4,7% du facteur de profit de la stratégie au cours de sa véritable période hors échantillon.

 

Idées, améliorations et étapes futures

Dans l'analyse ci-dessus, nous avons utilisé des paramètres de base pour la sélection des stratégies. Existe-t-il des paramètres de stratégie ayant une valeur prédictive plus élevée ? Ce problème peut être résolu à l'aide de différentes méthodes. Nous allons nous inspirer de certaines méthodes d'apprentissage automatique pour les problèmes d'extraction de caractéristiques. La logique de base est que nous mesurons la relation entre les métriques de stratégie hors échantillon et la relation entre la dépendance des variables dans le vrai hors échantillon.

 

Coefficient d'information maximal

Il s'agit d'une méthode non paramétrique permettant d'évaluer les relations linéaires et non linéaires entre les variables. Dans le graphique ci-dessous, nous voyons la relation entre les variables sélectionnées (colonne de gauche) de la population hors échantillon et la population de l'UE. 1TP9Facteur d'ajustement de l'échantillon réel dans chacun des ensembles de données. Il s'agit de calculs très préliminaires, mais il convient de noter que ni le facteur Profit, ni la moyenne des transactions, ni le ratio Ret/DD ne figurent dans les premières positions. Ces informations nous permettent de conclure qu'il existe de meilleures mesures stratégiques pour prédire les performances futures des startups qui ne font pas partie de l'échantillon.

 

Nous étendrons l'analyse donnée en plusieurs étapes

 

  • Nous pourrions analyser les blocs d'entrée et leur avantage moyen au fil des périodes. De cette manière, on peut sélectionner les blocs qui sont efficaces et qui maintiennent une performance stable.
  • La sélection en cas de ratios OOS /IS peut être mieux réalisée qu'avec la méthode du percentile.
  • Nous pouvons essayer de trouver de meilleures mesures de stratégie pour sélectionner les stratégies avec des bords plus élevés.
  • Nous pouvons simuler le flux de travail sélectionné et appliquer des tests de robustesse aux stratégies obtenues (par exemple, nous choisissons des stratégies avec un facteur de profit OOS /IS > 0,9 , un facteur de profit IS > 1,3 et nous leur appliquons des tests de robustesse).
  • Nous pouvons analyser des combinaisons de ces tests de robustesse.
  • La norme pour de telles analyses est la validation croisée. Dans la partie suivante, nous effectuerons une validation croisée au sein d'un ensemble de données, mais aussi sur d'autres ensembles de données. (Par exemple, nous testerons un ensemble de données généré sur EUR USD sur USD/JPY). 
  • Nous pouvons utiliser un cadre plus strict dans les tests de robustesse
  • Nous pouvons utiliser plus de marchés pour le test multimarché. Pour cette analyse, nous avons utilisé 5 marchés
  • Nous définirons les différents tests de Monte Carlo de manière plus stricte. Les paramètres de la stratégie de randomisation de Monte Carlo peuvent être définis séparément de manière plus stricte.  
  • Nous pouvons utiliser des techniques plus rigoureuses pour quantifier l'avantage des tests de robustesse
  • Nous pourrions ajouter à l'analyse des valeurs sélectionnées des indicateurs Optimisation Profiles et SPP Median, Optimisation séquentielle. Après la version 138, nous ajouterons l'analyse de l'efficacité de WFO.
  • J'ai utilisé un réglage de IS 30% et OOS 70% suivi de True OS 2 ans. Il est possible d'expérimenter ici. Nous pouvons utiliser d'autres paramètres IS et OOS pour appliquer des tests de robustesse sur des périodes d'échantillonnage. Les possibilités sont nombreuses.

 

Où irons-nous dans les analyses ultérieures après la publication de la version finale 137 ?

  • Nous pourrions analyser tous les indicateurs externes et les règles de caractère basées sur eux. Au cours des dernières années, nous avons ajouté plusieurs indicateurs et extraits de grande qualité dont la valeur prédictive est nettement supérieure à celle des indicateurs intégrés dans SQX.
  • Il est possible de tester différentes longueurs de True Of Sample, différents paramètres d'entrée et de sortie et différentes périodes. J'ai choisi 2 ans de True Of Sample pour avoir un échantillon statistiquement plus significatif dans l'analyse.

 

Conclusion et recommandation

Dans la partie introductive, nous avons suggéré que le test le plus efficace du cadre temporel 4 heures sur l'EURUSD est de tester une stratégie multi-marchés - robustesse multi-marchés. Nous avons constaté que certaines mesures de stratégie peuvent avoir une valeur prédictive plus élevée que d'autres. Nous avons constaté que la randomisation des données historiques peut également conduire à des améliorations intéressantes. 

Je reviendrai sur cet ensemble de données dans un article en octobre, où nous essaierons d'appliquer certaines des améliorations mentionnées à la fin de l'article. Ensuite, nous ferons une série de données similaires en novembre et décembre avec les améliorations et nous nous concentrerons sur les stratégies et l'échelle de temps horaire des indices.

 Toutes les suggestions et critiques constructives sont les bienvenues.

 

S'abonner
Notification pour
10 Commentaires
Le plus ancien
Le plus récent Le plus populaire
Commentaires en ligne
Afficher tous les commentaires
Redlock55
17. 10. 2023 8:02 pm

Article intéressant. Merci beaucoup. Question : avez-vous pensé à utiliser le R-Square comme fonction d'aptitude ?

Nous vous remercions,

Rouge

DIEGO SANTOS
17. 10. 2023 8:49 pm

"Excellent article. Comme toujours ! Avez-vous utilisé des critères pour sélectionner les devises ? Une corrélation spécifique ?"

Merci de votre attention !

ytu
ytu
18. 10. 2023 12:03 pm

Excellent article, merci beaucoup.
Question : pouvons-nous également inclure l'effet de l'Edge Ratio dans le test de robustesse sur le marché des changes ?

ytu
ytu
Répondre à  clonex / Ivan Hudec
30. 10. 2023 1:14 pm

Pourquoi ne pas utiliser la même approche que celle décrite dans ce blog ?
https://strategyquant.com/blog/edge-ratio-in-strategyquant-x

Mikael Wendelsten
26. 10. 2023 5:23 pm

Ce type de travail est très bon, mais en fin de compte, nous voulons savoir quels tests donnent une véritable valeur dans le trading en direct, car si vous les exécutez tous, cela prend du temps et pratiquement aucune stratégie n'en sort.
Mikael

sina
sina
1. 11. 2023 7:31 am

Bonjour, Quelle fourchette de corrélation entre les paires de devises doit-on utiliser lors du choix d'un Multi Market ? Les paires de devises dont la corrélation est proche de zéro doivent-elles être utilisées pour les tests de robustesse ?

Poursuivre la lecture