Dimanche 19 mars 2006

Bonjour à tous,

 

Un grand nombre de stratégies de trading sont basées sur des principes de Trend Following. Les règles de base sont simples : identifier un trend haussier pour entrer long et un trend baissier pour entrer short.

 

La plupart des stratégies que l'on trouve dans la littérature s'appuient sur des moyennes mobiles associés à un ADX. L'ADX permet non seulement d'identifier un trend mais il permet de quantifier la force de ce dernier. En général les moyennes mobiles sont simplement là pour identifier le sens du trend. 

 

Afin de compléter l'arsenal de ces méthodes connues nous allons mettre au point un indicateur simple capable de nous fournir de manière réactive le sens et la force d'un trend. Cet indicateur, le HMASlope est directement dérivé d'une moyenne de Hull.

 

Le HMASlope est la mesure de la pente d'une moyenne de Hull. Le chart ci-dessous représente cet indicateur. Pour une meilleure lecture les barres sont colorées en vert lorsque HMASlope est positif et en rouge lorsque HMASlope est négatif.

 

 

 (Cliquer pour agrandir)

 

La pente est exprimée en pips, elle est égale à la différence entre deux points de la moyenne de Hull.

 

Nous allons maintenant créer un système basé exclusivement sur la force du trend. Plus le HMASlope est élevé en valeur absolue, plus le trend est puissant.

 

HMA Slope Variations

 

- HMASlope = pente de la HMA (30) exprimée en pips

- On entre en position uniquement entre 08h00 et 18h00 heure de paris

- On sort chaque soir sur la dernière barre

- Initial Stop Loss à 40 pips

 

- Buy Long if HMASlope > 80

- Sell Short if HMASlope < -80

- Sell if HMASlope < 20

- BuyToCover if HMASlope > -20

 

En clair pour les positions longues :

- On achète lorsque le HMASlope dépasse les 80 : achat sur accélération

- On revend lorsque le HMASlope repasse sous les 20 : vente sur ralentissement

Pour les positions short c'est exactement l'inverse.

 

Le Backtest porte sur EURUSD en 60 minutes sur 3 ans et demi. 

 

Performance Report

 

All Trades 333
Net Profit 26 080.00
Profit Factor 1.67
Winning Trades 52.25% Losing Trades 45.65%
Nb. Winning Trades 174 Nb. Losing Trades 152
Avg. Winning Trade 374.48 Avg. Losing Trade -257.11
Largest Winning Trade 1 330.00 Largest Losing Trade -430.00
Max. Consecutive Winning Trade 8 Max Consecutive Losing Trade 6
Payoff Ratio 1.46
Maximum Intraday Drawdown -2 985.00
Expectancy 78.32    

 

 

Equity Curve

 

 

 

 

Le pourcentage de trades gagnants ainsi que l'Expectancy  et surtout le Max Drawdown laissent penser que ce système peut être traité. L'Equity Curve nous le confirme, elle offre une base de travail confortable avec une seule véritable zone de drawdown dont le montant est toutefois limité à $3 000.

 

Avoir de bons résultats pour un système ne suffit pas, encore faut-il qu'il soit tradable. Pour cela deux conditions doivent être réunies :

 

- Des horaires d'entrée et de sortie de position réalistes : la contrainte d'entrée de 08h00 à 18h00 et la sortie en fin de journée sont là pour ça

 

- La présence d'un stop loss initial pour maîtriser son risque maximal par trade : ici il est mis à 40 pips, la taille de position peut alors être adaptée en fonction de ce risque

 

 

AddictFX

Les backtests de cet article sont réalisés sur Tradestation, mais peuvent tous être adaptés à Wealth-Lab ou Amibroker.

 

Attention : les résultats passés ne présagent en rien des résultats futurs. Effectuez vos propres études avant de mener toute opération financière. Le Forex est un marché à haut risque sur lequel vous pouvez perdre plus que votre capital.

 

par AddictFX publié dans : Backtests
Dimanche 27 novembre 2005

Bonjour à tous,

 

Lors du salon AT spécial Trading, Moustafa Belkhayate a présenté lors de sa conférence une forme de moyenne mobile qui semblait indiquer les points de retournement de façon à la fois réactive et efficace de visu. Qu'en est il ? 

 

Récemment, Moustafa Belkhayate m'a retransmis les codes Tradestation de certains de ses indicateurs, dont celui qui nous intéresse ici, le "BAM Gauss Filter".

 

Voici tout d'abord ce à quoi ressemble ce dernier (sur EURUSD à 60 minutes) :

 

(Cliquer pour agrandir)

 

A première vue l'indicateur semble être a la fois réactif et peu sujet aux bruits. Le passage du rouge au bleu est un signal d'achat et le passage du bleu au rouge un signal de vente.

 

Avant d'en effectuer le backtest j'ai tout de même procédé à quelques comparaisons. En effet lors de la conférence cet indicateur me rappelait étrangement le "Gauss" intégré à Tradestation. J'ai donc voulu en savoir plus en comparant simplement les deux courbes.

 

Ci dessous : charts EURUSD 60 minutes avec en haut un "BAM Gauss Filter" et en bas l'indicateur "Gauss" livré dans Tradestation.

 

(Cliquer pour agrandir)

 

Ces deux indicateurs sont parfaitement identiques et pour cause puisqu'il s'agit du même code à peu de choses près. Donc pour le moment rien d'original. Le Gauss Filter de Tradestation ayant déjà été largement étudié par certains intervenants des Forums Tradestation.

 

J'ai également effectué ci-dessous une comparaison entre le BMA Gauss Filter (rouge/bleu), une moyenne mobile simple (bleu clair), une moyenne exponentielle (vert) et une moyenne mobile de Hull (jaune). Afin d'être comparables en elles toutes ces moyennes sont fixées avec une période de 20.

 

(Cliquer pour agrandir) 

 

On constate que la moyenne de Hull est moins sujette aux changements de direction que le filtre de Gauss tout en ayant une réactivité quasi identique. L'énorme avantage de la moyenne de Hull par rapport à toutes les autres saute ici aux yeux : elle a tendance à marquer des retournements sur des zones extrêmes des prix. Là où le filtre de Gauss se maintient au milieux des barres, la moyenne de Hull s'en éloigne jusqu'à se rapprocher des extrêmes, c'est à dire notamment des supports et résistances. Ce n'est pas systématique, mais ceci ouvre des perspectives sur une utilisation différente. Elle peut ainsi servir de proxy pour les prix afin, par exemple, de calculer un RSI filtré ou tout autre oscillateur basé sur les close (en ajoutant une moyenne de Hull sur les High et Low il est même possible d'en déduire une nouvelle forme de stochastique).

 

Etudions maintenant  les résultats de backtest d'une stratégie simple basée sur les changements de direction indiqués par le BMA Gauss Filter.

 

- Buy Long if BMA Gauss Filter turn up

- Sell Short if BMA Gauss Filter turn down

 

Pour ce Backtest nous allons directement effectuer une optimisation permettant de voir si il existe au moins une plage de valeurs profitable. La recherche combinatoire fait varier la période de 10 à 100 par pas de 10 et les pôles de 1 à 3 par pas de 1 (en plus de la période, le nombre de pôles est un des paramètres du Filtre de Gauss).

 

Ci dessous les résultats de la recherche sur EURUSD 60 minutes (sur 3 ans avec un spread de 3 pips) ainsi que le chart de la meilleure combinaison :

 

 

 

 

Les résultats obtenus sont éloquents puisqu'il n'y a strictement aucune combinaison profitable et la moins pire d'entre elle est simplement catastrophique. Sur d'autres Time Frame les résultats ne sont guère meilleurs.

 

Dans le même esprit j'ai également effectué la même recherche sur la moyenne de Hull pour un résultat à peu près similaire.

 

On peut déduire de tout ceci quelque chose que l'on sait déjà tous mais qui continue de nous piéger régulièrement. Le biais visuel est le pire ennemi du trader. Ainsi un indicateur présenté comme "extraordinaire" peut n'être qu'une simple illusion. Certes il est toujours possible de se dire : "oui mais en filtrant ainsi, en ajoutant telle confirmation, etc ... peut être que les résultats peuvent s'améliorer", il n'en demeure pas moins que seuls les tests numériques doivent valider une approche quelqu'elle soit. Ceci ne signifie pas qu'il faille faire du trading systémique pour autant. Un trader discrétionnaire utilisera des résultats numériques (stats ou backtests) pour valider son ressentis du marché, pour apprendre à mieux connaître la dynamique des prix. Rien que le fait de connaitre le range moyen sur 1h de l'EURUSD est déjà une information numérique utile à tous y compris au trader discrétionnaire qui sait combien il peut espérer de son trade.  

 

Cet indicateur réactif mériterait tout de même une étude plus approfondie. Pas à travers des filtres basés sur d'autres indicateurs mais à travers quelques règles simples et une étude de son %Q (présenté la semaine dernière). Nous y reviendrons.

 

Nous reviendrons également sur la moyenne de Hull et ses différentes utilisations possibles.

 

Tous les codes Tradestation de cet article se trouvent dans la Newsletter transmise aux abonnés.

 

AddictFX

 

Les backtests de cet article sont réalisés sur Tradestation, mais peuvent tous être adaptés à Wealth-Lab ou Amibroker.

 

Attention : les résultats passés ne présagent en rien des résultats futurs. Effectuez vos propres études avant de mener toute opération financière. Le Forex est un marché à haut risque sur lequel vous pouvez perdre plus que votre capital.

 

par AddictFX publié dans : Backtests
Dimanche 13 novembre 2005

Bonjour à tous,

 

Suite aux remarques de Jay, je publie aujourd'hui la seconde partie du Backtest de la stratégie de Breakout sur une journée, à sorties graduelles. Dans l'article précédent j'avais testé une sortie avec Stop Loss et Take Profit progressif. Aujourd'hui il s'agit de tester une sortie avec Take Profit fixe et Stop Loss progressif, nous aurons ainsi mis à l'épreuve toutes les combinaisons de sorties possible à niveau fixe.

 

 

Daily Breakout with 45/20/40 Exit

 

Tout d'abord nous allons évaluer la suggestion de Jay, à savoir une sortie de toute la position sur take profit de 45 pips et de la moitié de la position sur stop loss en deux temps, respectivement à -20 et -40 pips.

 

 

Performance Report

 

All Trades 642
Net Profit 21 650.00
Profit Factor 1.16
Winning Trades 33.33% Losing Trades 66.67%
Nb. Winning Trades 214 Nb. Losing Trades 428
Avg. Winning Trade 717.99 Avg. Losing Trade -308.41
Largest Winning Trade 2 640.00 Largest Losing Trade -590.00
Max. Consecutive Winning Trade 5 Max Consecutive Losing Trade 14
Even Trades 0
Maximum Intraday Drawdown -8 625.00
Expectancy 33.72

 

 

Equity Curve

 

 

 

A la vue de l'Equity Curve, cette stratégie semble difficilement tradable, les corrections sont trop profondes et peuvent rapidement faire perdre confiance. Avec une expectancy de 33.72, un MIDD de -8 625 pour pour un net Profit de $21 650 sur deux lots il s'agit là d'une des pires versions du système.

 

Après une optimisation afin de rechercher des valeurs plus adaptées nous arrivons à un Take Profit de 80 pips pour des stop loss graduels respectivement à 30 et 60 pips.

 

 

Daily Breakout with 80/30/60 Exit

 

Performance Report

 

All Trades 629
Net Profit 42 020.00
Profit Factor 1.24
Winning Trades 31.32% Losing Trades 68.68%
Nb. Winning Trades 197 Nb. Losing Trades 432
Avg. Winning Trade 1 120.15 Avg. Losing Trade -413.54
Largest Winning Trade 2 640.00 Largest Losing Trade -640.00
Max. Consecutive Winning Trade 7 Max Consecutive Losing Trade 14
Even Trades 0
Maximum Intraday Drawdown -18 695.00
Expectancy 66.80

 

 

Equity Curve

 

 

 

Même si l'expectancy et le Net Profit sont deux fois supérieur, le MIDD augmente considérablement, rendant le système impossible à trader.

 

L'optimisation a été effectuée en faisant varier les stop loss, et take profit de 10 à 100 par pas de 10. Notons qu'un pas de 5 ne changerait rien, du moins si le système est stable, les résultats avec un Take profit à 45 ne doivent pas être très différents des résultats pour 40 et 50 sans quoi le système ne serait pas viable. Il n'y a qu'un niveau de stop loss définit, le second est simplement le double du premier. Pour vous rendre compte de l'effet des paramètres voici le fichier de résultats que vous pouvez importer dans Excel : Breakout Optimize Results

 

 

Voici un chart pour illustrer cette stratégie :

 

Cliquer pour agrandir

 

 

Nous avons donc fait le tour des sorties à niveau fixe. Nous pourrions nous dire qu'il resterais malgré tout une infinité d'autres possibilités, comme des sorties sur croisement de moyenne mobile, SAR ou autre, nous pourrions passer une vie entière à tester toutes les combinatoires de sortie. Comment alors savoir si ce ne serait pas une pure perte de temps ? Comment savoir si il existe au moins une approche réellement profitable sans avoir à tout tester ? en d'autre terme comment évaluer la qualité intrinsèque et le potentiel réel de l'entrée par un Breakout, indépendamment de la méthode de sortie utilisée ?

 

Réponse dans le prochain article. 

 

AddictFX

 

Les backtests de cet article sont réalisés sur Tradestation, mais peuvent tous être adaptés à Wealth-Lab ou Amibroker.

 

Attention : les résultats passés ne présagent en rien des résultats futurs. Effectuez vos propres études avant de mener toute opération financière. Le Forex est un marché à haut risque sur lequel vous pouvez perdre plus que votre capital.

 

par AddictFX publié dans : Backtests
Dimanche 6 novembre 2005

Bonjour à tous,

 

J'ai rencontré Jay (pseudo sur mataf) au salon de l'AT spécial trading, ce dernier m'a suggéré d'essayer de modifier les stratégies de price breakout sur une journée en effectuant non seulement des take profit progressif mais également des stop loss progressifs. Il est vrai que je n'ai testé que le premier type de sortie. L'intérêt d'effectuer un stop loss en deux fois (une sortie à 30 pips et la seconde à 60 pips par exemple) est de laisser un peu d'espace aux prix pour revenir vers une zone profitable.

 

Le test suivant reprend les principes de l'article "Backtest Stratégies de Breakout Part V" (entrée sur la cassure des plus haut/plus bas de la veille) en remplaçant le stop loss fixe et le trailing stop par deux stop loss fixés à 30 et 60 pips. De même deux take profit sont fixés respectivement à 60 et 120 pips.

 

Performance Report

 

All Trades 771
Net Profit 42 890.00
Profit Factor 1.24
Winning Trades 44.10% Losing Trades 55.90%
Nb. Winning Trades 340 Nb. Losing Trades 431
Avg. Winning Trade 643.56 Avg. Losing Trade -408.17
Largest Winning Trade 1 320.00 Largest Losing Trade -640.00
Max. Consecutive Winning Trade 13 Max Consecutive Losing Trade 14
Even Trades 0
Maximum Intraday Drawdown -16 385.00
Expectancy 55.63

 

 

Equity Curve

 

 

 

 

La stratégie présente des performances très moyennes. L'expectancy de 55 et le MIDD à -16 385 en font un système nettement moins bon que ceux utilisant un stop loss unique. J'ai également testé un échelonnement des sorties allant jusqu'à 5 stop/loss, 5 take/profits optimisés. Aucune combinaison n'est véritablement intéressante. Toutes restent moins performantes que celles à stop loss unique.

 

AddictFX

 

Les backtests de cet article sont réalisés sur Tradestation, mais peuvent tous être adaptés à Wealth-Lab ou Amibroker.

 

Attention : les résultats passés ne présagent en rien des résultats futurs. Effectuez vos propres études avant de mener toute opération financière. Le Forex est un marché à haut risque sur lequel vous pouvez perdre plus que votre capital.

par AddictFX publié dans : Backtests
Dimanche 23 octobre 2005

Bonjour à tous,

 

J'avais indiqué dans le Backtest Volatility Breakout Part III l'utilisation du %b, hors il s'agit de l'écartement des bandes en pips et non du %b définit par John Bollinger. Je vais donc retoucher l'article et renommer cet indicateur "BB Range".

 

Sous Tradestation il se définit par :

 

BB_Range = (BollingerBand(Close,20,2) - BollingerBand(Close,20,-2)) * PriceScale;

 

Encore toutes mes excuses pour cette erreur.

 

AddictFX

par AddictFX publié dans : Backtests
Dimanche 9 octobre 2005

Bonjour à tous,

 

Dans ce troisième volet consacré à l'étude de la stratégie 3B ((Bollinger Band Breakout), une stratégie de Volatility Breakout, nous allons aborder un filtre basé sur la volatilité.

 

Dans la seconde partie, avec l'ADX et le RSI nous avons utilisé des filtres directionnels. Ces derniers nous évitent d'entrer en position dans des zones de trading range. Toutefois si les prix décalent en suivant un trend mais avec une volatilité insuffisante nous serons toujours confrontés à un risque important de fausses cassures de volatilité. 

 

Afin d'éviter ceci nous allons utiliser la distance entre les bandes de bollinger comme mesure de la volatilité. Nous utiliserons les variations du BB Range, qui est l'indicateur d'écartement des bandes de Bollinger ramené en points.

 

 

Bollinger Band Breakout System with ADX and BB Range Filter

 

Nous commençons par simplifier le système initial en ne prenant plus position sur le croisement des bandes par les prix mais sur un Close simplement supérieur ou inférieur aux bandes. De plus nous supprimons l'utilisation du SAR. Ces deux modifications ne changent que peu de choses aux résultats du système de base mais permettent de le simplifier.

 

Nous maintenons le filtre directionnel ADX et y ajoutons un test de variation à la hausse du BB Range de plus de 50 points sur deux barres.

 

 

Indicateurs :

     - Moyenne mobile arithmétique 20

     - Bandes de Bollinger à 2 écarts types

     - ADX (12)

     - BBRange

 

Positions Longues :

Si on clôture au dessus de la Bande de Bollinger haute : Achat à l'ouverture de la barre suivante

Filtres :

     - ADX (12) > 20 

     - BBRange - BBRange [2] > 50

Vente Stop sur cassure de la moyenne mobile 20 barres

 

Positions Short :

Si on clôture sous la Bande de Bollinger basse : Vente Short à l'ouverture de la barre suivante

Filtres :

     - ADX (12) > 20 

     - BBRange  - BBRange  [2] > 50

Rachat Stop sur cassure de la moyenne mobile 20 barres

 

 

Caractéristiques du Backtest

 

Paire de devises : GBPUSD

Time Frame : 60 Minutes

Période : 2 ans

Spread : 3 pips

 

Le système est testé sur GBPUSD en raison du fait qu'il s'agit de la paire de devise la plus volatile et donc la plus à même de bien répondre à des cassures de volatilité.

 

 

Performance Report

All Trades 139
Net Profit 27 210.00
Profit Factor 2.03
Winning Trades 50.36% Losing Trades 48.92%
Nb. Winning Trades 70 Nb. Losing Trades 68
Avg. Winning Trade 765.86 Avg. Losing Trade -388.24
Largest Winning Trade 4 510.00 Largest Losing Trade -1 120.00
Max. Consecutive Winning Trade 5 Max Consecutive Losing Trade 7
Payoff Ratio 1.97
Maximum Intraday Drawdown -3 945.00
Expectancy 195.76

Equity Curve

 

 

 

 

 

Les résultats obtenus sont très intéressants et proches en terme de performances de la version ADX et RSI. Le pourcentage de trades gagnants de 50%, le profit factor de 2.03, l'Expectancy de 195 et surtout la MIDD de $3 945 en font un système bien plus tradable que la version d'origine.

 

 

Bollinger Band Breakout System with Volatility Based Exit

 

Modifions maintenant cette variante ADX, BB Range en changeant la méthode de sortie. Au lieu d'effectuer une sortie sur la moyenne mobile 20, nous allons utiliser une cassure de volatilité, cette dernière étant calculée à partir de Bandes de Bollinger à un écart type.

 

 

Indicateurs :

     - Moyenne mobile arithmétique 20

     - Bandes de Bollinger à 2 écarts types

     - Bandes de Bollinger à 1 écart type

     - ADX (12)

     - BBRange 

Positions Longues :

Si on clôture au dessus de la Bande de Bollinger haute : Achat à l'ouverture de la barre suivante

Filtres :

     - ADX (12) > 20 

     - BBRange  - BBRange  [2] > 50

Vente Stop sur cassure de la Bande à un écart type inférieure

 

Positions Short :

Si on clôture sous la Bande de Bollinger basse : Vente Short à l'ouverture de la barre suivante

Filtres :

     - ADX (12) > 20 

     - BBRange  - BBRange  [2] > 50

Rachat Stop sur cassure de la Bande à un écart type supérieure

 

 

Performance Report

 

 

All Trades 130
Net Profit 33 780.00