Documentation

Applications

Dernière mise à jour le 1. 3. 2019 par Kornel Mazur

Optimisation simple

L'idée derrière une optimisation est simple. Tout d'abord, vous devez disposer d'un système de négociation, qui peut être un simple croisement de moyennes mobiles, par exemple.

Dans presque tous les systèmes, il existe des paramètres (périodes indicatrices, constantes comparatives, etc.) qui déterminent le comportement du système. L'optimisation consiste à tester le système avec différentes valeurs de paramètres.

pour trouver les valeurs optimales de ces paramètres (qui donnent le profit le plus élevé ou le meilleur ratio Rendement/DD).

Exemple d'optimisation

Étape 1 : Chargement d'une stratégie d'optimisation

Tout d'abord, vous devez passer à la fenêtre Optimizer et charger la stratégie que vous souhaitez optimiser.

Pour cet exemple, nous utiliserons une stratégie simple de croisement d'EMA qui est longue lorsque l'EMA la plus rapide passe au-dessus de l'EMA la plus lente, et courte lorsque l'EMA la plus rapide passe en dessous de l'EMA la plus lente.

Une fois la stratégie chargée, elle est également ajoutée à la banque de données des résultats d'optimisation en tant que stratégie originale.

Vous pouvez double-cliquer sur la stratégie originale et aller ensuite dans Résultats -> Code source pour voir ses règles.

Veillez à vérifier le Attribuer des valeurs aux variables afin de voir que les variables LongEMAPeriod, LongEMAPeriod2, ShortEMAPeriod, ShortEMAPeriod2 sont utilisées pour stocker les paramètres de l'indicateur.

Dans notre optimisation, nous essaierons de trouver les valeurs optimales de ces paramètres.

Il y a encore un petit problème. Nous pouvons voir que la stratégie utilise des paramètres différents pour la direction longue et pour la direction courte.

Nous pouvons l'utiliser de cette manière si nous voulons trouver des valeurs optimales indépendamment pour le côté long et le côté court, mais pour notre exemple, nous aimerions utiliser le même paramètre pour le côté long et le côté court.

Nous pouvons le faire en utilisant l'autre case à cocher Générer des variables symétriques

Si vous cochez la case, le système utilisera les mêmes paramètres pour la direction longue et courte (à condition que les règles soient les mêmes).

Vous pouvez maintenant voir que la stratégie ne contient que les paramètres EMAPeriod, EMAPeriod2 qui sont utilisés pour les deux directions.

Étape 2 : Définition des valeurs d'optimisation

Pour définir les valeurs qui seront optimisées, nous devons aller dans Paramètres -> Paramètres

Paramètres - automatique

Une fois cette option sélectionnée, la plage de valeurs de tous les paramètres sera générée automatiquement à l'aide d'un processus de distribution défini par Distribution des valeurs (%). Cette valeur définit la fluctuation de la valeur du paramètre par incréments de %. Nombre maximal de pas définit le nombre d'incréments de % qui seront générés pour la valeur du paramètre.

Paramètres - manuel

Vous pouvez voir ici la liste de tous les paramètres de la stratégie qui sont disponibles pour l'optimisation et la modification manuelle.
L'optimisation consiste simplement à essayer différentes valeurs des paramètres d'entrée.

Pour chaque paramètre que vous souhaitez optimiser, vous devez vérifier la ligne du paramètre et sélectionnez Démarrage, Arrêter et Étape valeurs. L'optimiseur itère la valeur du début à la fin, en procédant par étapes.

La valeur originale est également configurable ; elle sera utilisée pour retester la stratégie originale. Vous pouvez utiliser cette valeur pour comparer les performances des nouveaux résultats avec les paramètres "originaux".

Les Total des combinaisons indique le nombre de tests à effectuer pour tester toutes les combinaisons de valeurs. Cette valeur peut être limitée en utilisant Optimisations maximales.

Remarque !

Il est possible que votre tableau de paramètres contienne beaucoup plus de paramètres, il pourrait ressembler à ceci :

Il s'agit d'une autre caractéristique puissante de StrategyQuant. Elle vous permet d'optimiser non seulement les paramètres de la stratégie, mais aussi d'autres options de trading, telles que le nombre de transactions à effectuer par jour, la fourchette de temps pour le trading ou même les changements d'indicateurs.

Ces paramètres font normalement partie des options de stratégie, mais vous pouvez également optimiser leurs valeurs.

La dernière chose que nous devons configurer est les données qui seront utilisées pour les tests. Pour cet exemple, nous pouvons choisir EURUSD sur l'échelle de temps H1 dans le champ Données tabulation.

Étape 3 : Exécution de l'optimisation

Avant de commencer le processus d'optimisation, nous devons décider comment StrategyQuant stockera les résultats. Il y a deux options pour cela. StrategyQuant peut soit Enregistrer toutes les optimisations dans une banque de données ou Ne stocker que le meilleur optimisation qui ne conserve dans la banque de données que la modification la plus performante de la stratégie.

Nous sommes maintenant prêts à lancer l'optimisation. Nous cliquerons sur Démarrage bouton.

Le moteur d'optimisation testera toutes les combinaisons possibles des paramètres d'entrée sélectionnés et enregistrera les résultats pour chaque combinaison dans la banque de données située au bas de l'écran.

Nous pouvons trier la banque de données par profit net et nous pouvons voir que les meilleures valeurs d'entrée en termes de profit maximum sont EMAPeriod = 9 et EMAPeriod2 = 40.

Remarque !

Certains résultats sont accompagnés d'un point d'exclamation à côté du titre de la stratégie. Cela signifie que pour des paramètres donnés, l'optimiseur a trouvé que la stratégie se comportait de manière étrange et qu'elle doit être revue manuellement de manière plus détaillée.

 

Interprétation des résultats

Nous avons maintenant des paramètres d'entrée qui ont été optimisés pour notre symbole et notre horizon temporel.

Ce que nous avons réellement fait, c'est trouver ce qui a fonctionné le mieux dans le passé. Nous devons être très prudents car les paramètres peuvent être idéaux pour les données historiques,

mais il n'y a aucune garantie que ce qui a fonctionné le mieux sur les données historiques fonctionnera également à l'avenir.

C'est ce qu'on appelle l'ajustement de courbe. En général, plus la stratégie a de paramètres, plus le risque d'ajustement de courbe est grand.

Il existe deux approches de l'ajustement des courbes :

  • s'assurer que la stratégie est robuste et qu'elle n'optimise pas du tout ses valeurs
  • s'assurer que la stratégie bénéficie d'une réoptimisation périodique

La question est donc la suivante : la réoptimisation périodique améliorera-t-elle les résultats de ma stratégie ?

Si oui, à quelle fréquence dois-je le faire ?

 

StrategyQuant peut vous donner des réponses à ces questions en utilisant une autre de ses fonctionnalités avancées - Optimisation de la marche en avant et la matrice de marche avant.

Cet article a-t-il été utile ? L'article était utile L'article n'était pas utile

S'abonner
Notification pour
0 Commentaires
Commentaires en ligne
Afficher tous les commentaires