Sélectionner les meilleures stratégies par groupe d'entrées
StrategyQuantPlugins
Regroupe les stratégies par indicateurs d'entrée et sélectionne les N meilleures par groupe selon des critères configurables. Idéal pour filtrer de grandes banques de données et ne conserver que les meilleures stratégies par combinaison d'indicateurs d'entrée.
Voici l'article mis à jour avec le troisième argument :
Sélectionner les meilleures stratégies par groupe d'indicateurs d'entrée avec arguments
Description
Ce snippet d'analyse personnalisée traite une banque de données et sélectionne automatiquement les N meilleures stratégies de chaque groupe partageant la même combinaison d'indicateurs d'entrée.
Il est très utile lorsque vous disposez d'une vaste banque de données contenant de nombreuses stratégies construites à partir de composants similaires. Plutôt que de les comparer manuellement, ce snippet les regroupe selon leurs conditions d'entrée et ne conserve que les N meilleures stratégies de chaque groupe, classées selon un critère d'évaluation configurable.
Fonctionnement
Le snippet utilise la colonne intégrée Entry Indicators de la banque de données pour identifier les indicateurs utilisés par chaque stratégie dans ses conditions d'entrée. Les stratégies partageant exactement les mêmes indicateurs d'entrée sont considérées comme faisant partie du même groupe. Au sein de chaque groupe, les stratégies sont classées selon le critère sélectionné et les N meilleures sont retenues.
Toutes les stratégies retenues sont copiées dans la banque de données cible (Target). La banque de données source (Source) reste inchangée.
Prérequis
Aucun snippet supplémentaire n'est requis. Toutes les dépendances sont incluses dans l'installation standard de SQX.
Instructions de configuration
Copiez le code ci-dessous dans un nouveau snippet Custom Analysis dans CodeEditor et nommez-le SelectBestByEntryGroupArgs
Compilez le snippet
Créez un nouveau Custom Project
Ajoutez une nouvelle tâche de type Custom Analysis
Dans la configuration de la tâche, définissez Full databank analysis sur SelectBestByEntryGroupArgs
Définissez votre banque de données source (Source databank, celle contenant toutes vos stratégies)
Définissez votre banque de données cible (Target databank, où les stratégies retenues seront copiées)
Assurez-vous que l'option Filter by results of custom analysis est désactivée
Configurez éventuellement le champ Input args (voir ci-dessous)
Exécutez le projet
Arguments d'entrée (Input args)
Le snippet accepte trois paramètres facultatifs séparés par des virgules : le critère d'évaluation, le nombre de meilleures stratégies à sélectionner par groupe (minimum 1, maximum 10), et le type d'échantillon à utiliser pour les calculs.
Format : Criterion,N,Sample
Exemples :
(vide) — 1 meilleure stratégie par groupe, ratio Ret/DD, échantillon complet (valeurs par défaut)
RetDD — 1 meilleure par groupe selon le ratio Ret/DD, échantillon complet
RetDD,3 — 3 meilleures par groupe selon le ratio Ret/DD, échantillon complet
RetDD,3,IS — 3 meilleures par groupe selon le ratio Ret/DD, In Sample
Sharpe,5,OOS — 5 meilleures par groupe selon le ratio de Sharpe, Out of Sample
Calmar,10,Full — 10 meilleures par groupe selon le ratio de Calmar, échantillon complet
Critères disponibles :
RetDD — Ratio Ret/DD (par défaut)
Sharpe — Ratio de Sharpe
ProfitFactor — Profit Factor
NetProfit — Profit net (absolu)
Calmar — Ratio de Calmar
WinRate — Pourcentage de trades gagnants
Drawdown — Drawdown absolu le plus faible (le plus bas est le meilleur)
Types d'échantillons disponibles :
Full — Échantillon complet (Full Sample, par défaut si omis)
IS — In Sample
OOS — Out of Sample
Exemple
Si votre banque de données Source contient 42 stratégies réparties sur 17 combinaisons différentes d'indicateurs d'entrée, et que vous réglez les arguments d'entrée sur RetDD,2,OOS, votre banque de données Target contiendra après l'exécution du snippet jusqu'à 34 stratégies — les 2 meilleures selon le ratio Ret/DD calculé sur les données Out of Sample de chaque groupe. Les groupes ne comportant qu'une seule stratégie n'en apporteront qu'une seule.
Code
Code dans l'en-tête de l'article.
Avertissement
Ce snippet est fourni uniquement à des fins éducatives et de recherche. Il ne constitue pas un conseil financier ni une recommandation de négocier un instrument financier quelconque. Les performances passées de toute stratégie sélectionnée par cet outil ne préjugent pas des résultats futurs. À utiliser à vos propres risques. Validez toujours les résultats de manière indépendante avant d'utiliser une stratégie en trading réel.
Merci de nous avoir suivis. À bientôt pour la prochaine version.
José Carlos