Filtre de corrélation - Analyse personnalisée
En particulier lors de l'utilisation de l'évolution génétique et/ou de tâches d'optimisation dans votre flux de travail, les stratégies peuvent parfois être fortement corrélées, non seulement en raison de la tâche de construction, mais aussi en raison d'autres tâches.
Ce filtre peut être ajouté à un projet personnalisé Project en tant que tâche à n'importe quel stade de votre flux de travail afin de supprimer les stratégies corrélées.
Cette analyse personnalisée accepte un argument d'entrée qui correspond au seuil de corrélation qui sera appliqué. Lorsque la corrélation entre deux stratégies est supérieure au seuil, la stratégie ayant le score de fitness le plus élevé des deux sera conservée et l'autre ne sera pas incluse dans la banque de données cible.
La corrélation est calculée sur la base des pertes et profits quotidiens.
Si vous spécifiez des banques de données source et cible différentes, seules les stratégies non corrélées seront copiées dans la banque de données cible.
Si vous souhaitez que l'analyse supprime les stratégies corrélées d'une banque de données, vous pouvez définir la même banque de données comme source et cible, et activer l'option "Filtrer par les résultats de l'analyse personnalisée. Si vrai, les stratégies qui ne passent pas seront supprimées".
Cette démarche s'inspire de l'exemple du plugin Filter by Correlation, cf. https://strategyquant.com/doc/programming-for-sq/filter-by-correlation-plugin-example/.
et en remarquant que dans le discord de SQX et dans le forum, beaucoup recherchaient cette fonctionnalité (moi y compris).
dans quel dossier faut-il copier ce snippet et compiler ?
Il doit être placé dans le répertoire SQX\user\extend\Plugins
info : le fichier .sxp doit être importé par l'outil Import Extension dans l'éditeur de code et compilé. il nécessite SQX build 140 ou plus.
Je pense que c'est un bon filtre. Je pense que ce filtre devrait être intégré au produit.
Je suis d'accord avec vous
Bonjour Kevin, Tout d'abord merci pour votre partage dans la base de code à propos de CorrelationFilter dans l'analyse personnalisée.
J'ai essayé de l'utiliser, mais j'ai toujours des stratégies dupliquées, au maximum 2 ou 3 stratégies uniques après plusieurs cycles dans mon custom. Voir l'exemple. Est-ce que c'est possible qu'il y ait une erreur dans CorrelationFilter ? Merci d'avance Jean
Bonjour, je n'ai pas réussi à reproduire cette erreur.
Pour la mise en œuvre du calcul de corrélation lui-même, l'analyse personnalisée utilise des fonctions déjà fournies par le code SQX de base.
Merci Kevin !
Hi Kevin. Is there any possibility how to change the Correlation period based on daily profit and loss to monthly?
Could I change int period =CorrelationPeriodTypes.DAY to
int period =CorrelationPeriodTypes.MONTH
In the Snipet in order to set the required period?