|
Pour optimiser un système il faut exécuter des tests multiples tout en faisant varier un ou plusieurs paramètres dans le cadre de règles de trading données.
Le tutoriel du testeur de système
donne un exemple d’optimisation, celui du nombre d’unités de temps à utiliser pour calculer une moyenne mobile dans le cadre d’un système de trading simple. Dans cet exemple, les tests sont exécutés en utilisant des moyennes mobiles allant de 10 à 50 unités de temps, et par incrément de 5 unités de temps à la fois. Nous vous recommandons de vous reporter à ce tutoriel afin de comprendre plus clairement le principe de l’optimisation.Chaque système de trading peut avoir jusqu'à 10 variables d’optimisation (auxquelles on se réfère comme OPT1, OPT2... jusqu’à OPT10). (Les variables OPT ne sont pas valides dans le cadre d’un indicateur personnalisé.) Pour optimiser un système, vous remplacez des constantes numériques dans le cadre de règles de trading données par des variables OPT. Vous spécifiez ensuite la fourchette que vous voulez voir balayée par la variable OPT (minimum, maximum, et step/pas). Quand vous testez un système qui contient des variables OPT, vous voyez MetaStock exécuter des tests multiples en utilisant chacune des combinaisons d’optimisation possibles.
Spécifier les variables d’optimisation
Pour spécifier le range que prendront les variables d’optimisation dans le cadre de vos règles de trading, cliquez sur le bouton Optimize (" Optimiser ") dans la boîte de dialogue System Editor (" Editeur de système ").
Nouveau
. Le bouton New (" Nouveau ") vous permet d’ajouter une nouvelle variable OPT et d’éditer ses propriétés.Edition
. Le bouton Edit (" Edition ") permet d’afficher les Variable Properties (" propriétés des variables "). C’est là où vous pouvez éditer le minimum, le maximum, et le step/pas de la variable OPT sélectionnée.Effacer
. Le bouton Delete (" Effacer ") permet d’effacer la variable OPT sélectionnée. Vous remarquerez que vous ne pouvez pas effacer une variable OPT qui est utilisée dans une règle de trading.Nombre total de tests
. La zone Total Tests (" Nombre total de tests ") donne le nombre total de tests que le test de système optimisé exécutera.Boîte de dialogue Propriétés des variables
La boîte de dialogue Variable Properties (" Propriétés des variables ") est utilisée pour spécifier le choix des variables OPT.
Nom
. La zone d’entrée Name (" Nom ") donne la variable OPT que vous éditez.Description
. Vous pouvez entrer dans la zone Description (" Description ") une description optionnelle de la variable.Minimum
. Entrez ici la valeur minimum retenue pour la variable OPT.Maximum
. Entrez ici la valeur maximale retenue pour la variable OPT.Pas
. Entrez dans la zone Step (" Pas ") la taille du pas, autrement dit le montant de l’incrément de la variable OPT. Par exemple, si l’étendue entre le minimum et le maximum va de 10 à 50 et que la taille du pas est de 10, la variable OPT sera remplacée par les valeurs 10, 20, 30, 40, et 50.Exemples d’optimisations
La règle de trading Enter Long/entrer les longs suivante achète quand la clôture est au-dessus de sa moyenne mobile à 10 unités de:
Enter Long:
CLOSE > mov(CLOSE, 10, SIMPLE)Si vous ne connaissez pas le nombre d’unités de temps optimal à utiliser pour le calcul de la moyenne mobile, vous pourrez remplacer le "10" de la règle ci-dessus par une variable d’optimisation comme nous le montrons ci-dessous:
Enter Long:
CLOSE > mov(CLOSE, OPT1, SIMPLE)L’étendue couverte par OPT1 (e.g., 5 à 20 par pas de 5) est spécifiée en sélectionnant le bouton Optimize (" Optimiser ") dans la boîte de dialogue System Editor (" Editeur de système "). Quand vous testerez ce système, MetaStock exécutera des tests multiples, remplaçant à chaque fois la variable OPT1 par la valeur d’optimisation suivante (comme nous le montrons ci-dessous).
Enter Long:
CLOSE > mov(CLOSE, 5, SIMPLE){Test #1)Après avoir terminé de tester ce système, il y aura quatre rapports (un pour chaque valeur d’optimisation).
Quand des variables d’optimisation sont utilisées, le nombre de tests exigé pour essayer chaque combinaison de valeurs d’optimisation peut être déterminé en multipliant entre eux le nombre des tests exécutés pour chaque variable OPT.
L’exemple suivant illustre l’utilisation de multiples variables d’optimisation:
Enter Long:
rsi(14) > OPT1OPT1: minimum = 20, maximum = 40, step = 10 {3 tests}
OPT2: minimum = 70, maximum = 80, step = 10 {2 tests}
Dans l’exemple ci-dessus, OPT1 peut prendre trois valeurs possibles (i.e., 20, 30, et 40) tandis qu’OPT2 a deux valeurs possibles (i.e., 70 et 80). Cette combinaison nécessite l’exécution de six tests différents (trois fois deux) comme nous le voyons ci-dessous:
N° Test |
OPT1 |
OPT2 |
1 |
20 |
70 |
2 |
30 |
70 |
3 |
40 |
70 |
4 |
20 |
80 |
5 |
30 |
80 |
6 |
40 |
80 |
Le nombre de tests peut vite atteindre un chiffre énorme (jusqu'à un maximum de 32.000). Par exemple, considérez le système suivant de croisement de moyenne mobile:
Enter Long:
cross(C, mov(C, OPT2, E))OPT1: minimum = 1, maximum = 100, step = 1 {100 tests}
OPT2: minimum = 1, maximum = 100, step = 1 {100 tests}
Dans l’exemple ci-dessus, OPT1 et OPT2 ont chacun 100 valeurs possibles. Cette combinaison exige que 10.000 tests différents (100 fois 100) soient exécutés! Même sur un ordinateur puissant, ce système relativement simple (quoique fortement optimisé) pourra prendre des heures à être effectué.
Une méthode plus appropriée pour optimiser ce système pourrait consister à resserrer l’étendue et/ou à accroître la taille des pas afin de réduire le nombre de tests.
Le nombre de tests qu’il faut pour essayer chaque combinaison d’optimisation est affiché en bas de la boîte de dialogue Optimization Variables (" Variables d’optimisation ").