Bonjour à tous,
Tous les logiciels de construction de systèmes offrent des fonctionalités de recherche combinatoire (Optimisation).
Nous allons illustrer ici la manière de rechercher les meilleures périodes pour le système de croisement de moyennes mobiles étudié dans l'article précédent.
Attention
Je vous présente ceci uniquement pour illustrer les fonctions d'Amibroker, cette procédure a plus souvent pour effet de produire du Curve Fitting, c'est à dire de l'adaptation aux données passées, que de fournir un véritable calibrage du système pour l'avenir. C'est notamment le cas pour ce système de moyennes mobiles. Les valeurs trouvées ne valent que pour les données passées, elles n'ont que peu de chances de fonctionner dans l'avenir.
Il est toutefois possible, dans certains cas, d'utiliser l'optimisation de manière réellement profitable.
Voici les quelques utilisation de l'optimisation qui ne permet pas d'améliorer un système :
- Recherche des meilleures valeurs d'indicateurs, quelque soit le critère (Equity, % drawdown, K-Ratio, ...)
- Recherche des meilleures combinaisons d'indicateurs
Ces approches mênent plus souvent au Curve Fitting qu'à une amélioration réelle.
Voici maintenant des utilisation qui peuvent être plus profitables :
- Vérification de la stabilité à travers les différentes plages de valeurs
- Sélection des plages de valeurs aux résultats cohérents et corrects
- Elimination des plages de valeurs les plus désastreuses (ex : moyennes beaucoup trop courtes ou beaucoup trop longues)
- Recherche des meilleures plages horraires et des meilleurs jours
Les plages horraires ont en effet un vai sens de marché, contrairement à la période d'une moyenne mobile. Sur le Forex certaines heures sont bien plus volatiles que d'autres et ce de manière récurente. La récurence existe, elle est le plus souvent due aux annonces faites à heures fixes. L'optimisation est là pour vous aider à mieux la cibler.
Recherchons maintenant la meilleure plage de valeur (tel qu'il ne faut pas le faire Pour les raisons expliquées ci-dessus). Pour celà on utilise l'Optimizer d'Amibroker en placant dans le script les lignes suivantes :
l_range = Optimize ("Long Period", 60, 10, 100, 5);
s_range = Optimize ("Short Period", 30, 5, 100, 5);
L'Optimizer nous calcule toutes les combinaisons en nous donnant l'ensemble des statistiques dans un tableau de réponse. Il suffit ensuite d'effectuer des tris sur les statistiques pour cibler celles que l'on cherche.
Afin de mieux sentir la stabilité du système il est important de regarder le Graphe 3D. Il est par défaut positionné sur le Net profit mais peut être associé à n'importe laquelle des nombreuses autre statistiques (Drawdown, Sharpe, ...).
Optimization 3D Graph - Net Profit
Voici maintenant le résultat du Backtest pour la combinaison de moyennes mobiles 70/25 ayant le meilleur Ratio de Sharpe
Equity Curve
Statistics
Statistics All trades Long trades Short trades Initial capital 10000.00 10000.00 10000.00 Ending capital 53200.02 40970.01 22230.01 Net Profit 43200.02 30970.01 12230.01 Net Profit % 432.00 % 309.70 % 122.30 % Exposure % 14.47 % 6.91 % 7.55 % Net Risk Adjusted Return % 2986.37 % 4480.93 % 1618.96 % Annual Return % 25.62 % 21.22 % 11.52 % Risk Adjusted Return % 177.09 % 307.01 % 152.45 % All trades 28 14 (50.00 %) 14 (50.00 %) Avg. Profit/Loss 1542.86 2212.14 873.57 Avg. Profit/Loss % 154.29 % 221.21 % 87.36 % Avg. Bars Held 65.46 67.43 63.50 Winners 15 (53.57 %) 8 (28.57 %) 7 (25.00 %) Total Profit 71410.02 44550.00 26860.02 Avg. Profit 4760.67 5568.75 3837.15 Avg. Profit % 476.07 % 556.88 % 383.71 % Avg. Bars Held 94.33 88.38 101.14 Max. Consecutive 6 6 5 Largest win 10340.00 9350.00 10340.00 # bars in largest win 157 116 157 Losers 13 (46.43 %) 6 (21.43 %) 7 (25.00 %) Total Loss -28210.00 -13579.99 -14630.00 Avg. Loss -2170.00 -2263.33 -2090.00 Avg. Loss % -217.00 % -226.33 % -209.00 % Avg. Bars Held 32.15 39.50 25.86 Max. Consecutive 4 2 3 Largest loss -4640.00 -4640.00 -3520.00 # bars in largest loss 20 20 32 Max. trade drawdown -9289.99 -7600.00 -9289.99 Max. trade % drawdown -99.49 % -99.49 % -98.22 % Max. system drawdown -15890.00 -13390.00 -15349.99 Max. system % drawdown -51.22 % -64.87 % -51.39 % Recovery Factor 2.72 2.31 0.80 CAR/MaxDD 0.50 0.33 0.22 RAR/MaxDD 3.46 4.73 2.97 Profit Factor 2.53 3.28 1.84 Payoff Ratio 2.19 2.46 1.84 Standard Error 3552.60 6794.19 6187.80 Risk-Reward Ratio 2.15 0.75 0.41 Ulcer Index 13.77 32.04 17.14 Ulcer Performance Index 1.47 0.49 0.36 Sharpe Ratio of trades 0.70 0.94 0.43 K-Ratio 0.10 0.04 0.02
Ce système optimisé présente des résultats sensiblement meilleurs que l'original.
Le Profit Factor atteind 2,53 contre 2,02. Le Ratio de Sharpe 0,70 contre 0,55. Le RRR atteind 2,15 contre 1,49 et le %Win ainsi que l'Average Profit sont meilleurs.
Attention, il ne s'agit encore une fois que d'un exemple illustratif. Ne confondez pas un système optimisé avec un meilleurs système. Le fait d'être parvenu à ce résultat par le tuning des paramètres d'indicateurs moyennés devrait vous amener à le rejetter d'emblée. Il s'agit de simple curve fitting.
Dans les prochains articles et dans la continuité des fondements nous aborderons les célèbres RSI, MACD et Stochastiques.
AddictFX
Attention : les résultats passés ne présagent en rien des résultats futurs. Effectuez vos propres études avant e mener toute opération financière. Le Forex est un marché à haut risque sur lequel vous pouvez perdre plus que votre capital.