|
Astuces pour le développement de systèmes de trading
Développer des systèmes de trading profitables est une tâche difficile. Même après plusieurs années d’expérience en développement de systèmes, nous continuerons à nous faire dérouter sur le mauvais système. Voilà quelques astuces que j’ai apprises d’expérience.
Les limites de l’optimisation dans le test de système ?
L’une des erreurs les plus fréquentes qui est faite dans le domaine du test de système et de l’optimisation, est de sombrer dans le piège du sur-ajustement (over-fitting en anglais) des règles de trading à une série de données spécifique. Avant de vous enflammer à l’idée que vous avez peut-être bien trouvé le Saint Graal des systèmes de trading, vérifiez bien les points suivants.
Rappelez-vous que ce sont les attentes et les espoirs des gens qui contrôlent les prix des valeurs. Par conséquent, il ne paraît pas bien réaliste d’attendre d’un système mécanique qu’il puisse avec constance prédire les changements de leurs attentes. Nous vous suggérons d’utiliser les systèmes de trading en conjonction avec d’autres techniques d’analyse de l’investissement.
Surveillez avec attention le nombre de transactions générés par un test de système. S’il apparaît qu’il y a de nombreuses transactions et des profits généreux, assurez-vous que vous avez bien spécifié des commissions réalistes. Les résultats du test pourraient bien être différents une fois que vous aurez intégré ces nouvelles commissions.
Transactions gagnantes contre transactions perdantes
On attache facilement trop d’importance à la comparaison entre le nombre des transactions gagnantes (Winning Trades) et celui des transactions perdantes (Loosing Trades). Bien que cela puisse à l’occasion avoir de l’importance, nous vous suggérons d’attacher plus d’importance aux chiffres des gains moyens (Average Gain) comparés aux pertes moyennes (Average Loss). Un certain nombre de bons systèmes génèrent cependant plus de transactions perdantes que de gagnantes. Ce type de situation peut se produire si les gains sur la transaction gagnante moyenne sont bien plus élevés que les pertes sur la transaction perdante moyenne.
Si votre système spécifie que vous gagnez des intérêts dès que vous sortez d’une transaction, le processus d’optimisation peut aboutir au choix du système qui est le plus souvent neutre, ou non actif. Ce qui veut dire qu’un système qui perdrait sur chaque transaction réalisée pourrait néanmoins s’avérer être le meilleur système, pour peu qu’il soit neutre plus souvent que les autres.
Vous pourrez facilement vous en rendre compte en réglant l’Annual interest rate (" Taux d’intérêt annualisé ") à un niveau très fort (e.g., 100%) dans la boîte de dialogue System Testing Options (" Options de test de système ") et puis en lançant une optimisation.
Les pièges des fonctions Zig Zag et Lastvalue()
L’indicateur de Zig Zag utilise par construction rétrospectivement des données pour filtrer les transactions. Il ne montre que les mouvements de prix qui sont supérieurs ou égaux aux montants spécifiés. Mais pourtant, l’indicateur de Zig Zag détermine cela " après les faits " (un avantage que vous n’aurez pas en tant que trader). Gardez cela en mémoire, et soyez prudent quand vous utiliserez l’indicateur de Zig Zag dans le cadre d’un test de système. Il donnera des résultats qui ne sont pas reproductibles en véritable situation de trading.
La fonction Lastvalue() peut également voir dans le futur en ce qu’elle nous donne la dernière valeur du champ de données. Par exemple, un test de système pourrait être écrit qui baserait l’initiation d’une transaction sur la valeur future d’un prix ou d’un indicateur—quelque chose qui n’est pas accessible dans le monde réel. Bien que ce type de fonction ait un réel intérêt dans le cadre de choses comme la reconnaissance de structures, il ne devrait être utilisé que rarement, voire jamais, dans le cadre d’un test de système dès lors qu’il donnera au test de système une information impossible à obtenir dans la réalité.
Utiliser la ligne de capital de trading
L’equity line (" Ligne de capital de trading ") est un outil utile. Un coup d’œil rapide sur une ligne de capital de trading peut vous en dire beaucoup sur les performances d’un système de trading.
Vous remarquerez que quand une ligne de capital de trading est tracée, elle l’est sur le graphique sélectionné. Le graphique sélectionné n’est pas nécessairement le graphique sur lequel le test de système à été calculé.
La ligne de capital idéale devrait avoir une pente positive. Regardez avec attention la ligne de capital de trading. Des pointes abruptes indiquent que le système est inconstant et risqué. Un système qui génère d’énormes profits sur une transaction (e.g., qui était " court pendant le krach de 1987) est au mieux incertain.
Utiliser les commandes Couper/Copier/Coller
Pour accélérer la procédure d’écriture des tests de système, il est possible que vous trouviez les commandes Cut/Couper, Copy/Copier, Paste/Coller bien utilesVoir page suivante. Plus souvent qu’on ne pense, les règles de trading dans le cadre d’un même système seront très similaires, exception faite des opérateurs mathématiques. Etudiez les deux règles de trading suivantes pour un simple système de croisement de moyenne mobile.
Enter Long:
c > mov(c, 39, s)Close Long:
c < mov(c, 39, s)Vous remarquerez que la seule différence entre ces deux règles est l’opérateur (i.e., > et < ).
Au lieu de taper les deux règles, vous pourriez ne taper que la règle Enter Long (" Entrer long "), la bloquer (
SHIFT+RIGHT ARROW ), la copier (CTRL+C), et puis la coller (CTRL+V) dans la zone de texte de Close Long (" Clôturer long "). Bien entendu, l’intérêt réel des commandes couper et coller apparaît quand vous entrez des règles de trading bien plus longues que celles que nous avons utilisées dans l’illustration précédente.