ProRealTime
Un Forum pour discuter des méthodes de trading que nous utilisons, de nos recherches...

Backtest : Pour ou contre les optimisations

par falex » 23 avr. 2014 15:00

Hi everyone,

Depuis quelques temps j'échange avec un membre émérite du forum et nous ne sommes pas d'accord sur l'utilité et la pertinence des modules d'optimisations des outils de backtest.

Perso je suis pour mais il faut avori conscience des limites.

Typiquement quand j'ai une idée de trade (enfin disons d'un setup) et que je peux le coder dans le module de backtest de prt, j'essaye toujours de faire jouer le backtest une première fois sans optimisations, l'idée brute de fonderie tel que mes yeux et mon cerveau l'ont vu et/ou imaginer.
Ensuite je passe phase debuging :
1) je regarde si mon backtest n'a pas d’erreur (des bougies ou des gains/pertes qui ne devrait pas exister, ou des entrées non prise ou prise par erreur.

Là une fois le code stable et propre par rapport à mon idée je passe en phase optimisation
2) soit j'optimise les paramètres d'entrées (une heure, un nombre de Bougie, une période d'un indicateur)
et je regarde ce qui influence le plus les résultats.
2') soit j'optimise les paramètres de sortie (idem à ceu d'entrée, TP/SL fixe ou nombre de Bougie, une période de moyenne mobile, autre, ...)
2'') Soit j'optimise les positions, c-à-d, que je ne change rien aux critère d'entrées/sortie mais je joue sur le nombre de lot engagé en fonction des gain et pertes précédentes.

Une fois que j'ai parcouru ces 3 "grand" domaine, j'évalue quel est la meilleur optimisation pour avoir un setup qui fonctionne selon mes critère (plus grand gain ou plus grand nombre de trade gagnant, ou gain moyen le plus élevé, ou nombre minimal de trade, ...)

Chaque critères apportent son lot d'optimisation et recherche l'optimal par rapport au passé. Évidement je prend comme critère implicite que le passé = le futur.

Donc oui j'optimise les variable "importantes" du setup, mais non je n'optimise pas l'ensemble des variables à ma disposition car là ça ne voudrait plus rien dire.

Et vous qu'en pensez-vous ?
Comment faites-vous ?

Re: Backtest : Pour ou contre les optimisations

par bobbyO » 23 avr. 2014 15:37

Salut,
Question intéressante.
Intuitivement, je suis de nature très méfiant vis-à-vis des optimisations de backtest car c'est le meilleur moyen d'avoir un système qui marche à un instant T et qui ne marche plus ensuite.

Personnellement, j'opte pour une autre démarche :
1. je programme mes indicateurs avec des paramètres approximatifs (exemple, j'utilise la mm100 dans mon backtest alors qu'utiliser la mm120 serait mieux sur une durée et une ut donnée)
2. Je programme ma sortie en fonction du déroulement du trade. Mon principe est de savoir sortir dans n'importe quelle situation
3. Je mesure mon % de réussite et le R moyen (moyenne des gains sur les pertes) dans chaque ut testée
4. Je backteste dans une vingtaine d'ut car un de mes autres principes est d'être agile en terme d'ut. Selon la volatilité ou autre paramètre, à certains moments il faudra être en UT15 ou UT10 et je peux appliquer mon modèle en ut très courte, genre 30 ticks, 5 ticks ...

Donc en résumé, pas d'optimisation sauf éventuellement pour déterminer mon paramètre approximatif du 1 mais en aucun cas, je l'inclus à mon modèle

D'une manière générale, l'optimisation est vraiment compliquée car le nombre de paramètres optimisables est sans fin et sont de plus de temps en temps incompatibles entre eux.

Mais je redis : débat qui m’intéresse au plus haut point. :merci:

Re: Backtest : Pour ou contre les optimisations

par falex » 23 avr. 2014 15:56

Interessant car très très rarement je backtest l'ut.

Perso je pars du principe que quand on trade dans une ut on y reste, mais rien n'empèche d'avoir un setup dans une ut et un autre dans une autre.

A bien te lire j'ai quand même l'impression que nous partageons le point de vue : Oui à l'optimisation, non à la sur-optimisation.
Et que la limite enter opti et sur-opti est au libre-arbitre de chacun.

J'ai en règle générale entre 1 et 3 variables que je fais varier en même temps, mais bien souvent elles sont liées : Si je backtest un setup avec des TP et SL, je vais forcément avoir les deux en optimisation même si je pense que ça ne représente qu'une seul variable global.

Re: Backtest : Pour ou contre les optimisations

par bobbyO » 23 avr. 2014 16:43

Oui on est peut-être pas loin. D'ailleurs, il est possible que ce soit utile pour modéliser un MM donné, il y a beaucoup moins de risques de sur-optimisation
Pour les ut, 2 choses :
- Quand je suis dans une ut, j'y reste mais j'ai des indicateurs qui représente une ut différente. Exemple un macd 19,26,9 est supposé être de base pour l'ut tradée mais si j'utilise 45, 225, 30 elle représentera approximativement l'ut 5 fois supérieure, ce qui est utile pour accompagner les mouvements forts. C'est d'ailleurs une des lacunes de prt, c'est pouvoir obtenir un indicateur d'une autre ut dans le programme, on est obligé de contourner
- Quand je parle de "plusieurs ut", l'idéal pour moi est d'être alerté lors d'un signal se déclenchant dans n'importe quelle ut. Je mets mon modèle en route et j'attends un signal. Ah tiens en voilà un dans l'ut 5', Ah tiens en voilà un dans l'ut 60 ticks. C'est un de mes souci du moment : comment réaliser ces alertes sans avoir 1 fenêtre par ut possible

Re: Backtest : Pour ou contre les optimisations

par falex » 23 avr. 2014 17:00

optimisation que je viens de tester :
exclure les jour férié.
Typiquement le 25/12 ou le 01/01 ig ne cote absolument pas les indices donc pas de souci, par contre le lundi de paques (21 avril cette année) ig quote les indices avec leur méthode "de nuit".

Entre le spread de 6,2, le manque de volatilité et le fait que je ne traderais pas ces jours, j'ai fait un bout de code qui exclu ces jours "batard".
ça élimine quelques trades et surtout ça donne des stats plus vrai.

---
Oui j'ai souvent vu des traders mettre des MM X fois plus grande pour "simuler" une MM d'une ut supérieur.

C'est mathématiquement totalement faux mais dans l’absolue ça te donne la position de la MM avec une marge d'erreur de 10 à 20%, why not ...

Re: Backtest : Pour ou contre les optimisations

par Arnaud_vh » 23 avr. 2014 21:21

Pour ma part quand j'élabore une stratégie/setup, j'essaie de toujours passer par la case backtest car même si le module backtest a parfois des ratés ça permet de bien cerner certains principes.
Dans ma démarche je fais un peu du falex, je teste d'abord l'idée brut pour me faire un point de repère puis je passe à l'optimisation.
Je suis d'accord qu'optimiser à outrance est contre productif la plupart du temps, j'ai essayé !
Par contre ça permet de dégager des quasi certitudes sur l'influence de certains paramètres sur un setup donné et de fixer des valeurs limites à certains paramètres.
Ca permet de fait de classer les paramètres par ordre d'influence et de coder "en dur" ceux qui ont un effet marginal.
Alors c'est vrai que si on veut une stratégie et un set de paramètres qui fonctionne dans toutes les UTs, ça réduit l'intérêt d'optimiser.
En général mes optis tournent toujours autour de la volatilité et de la taille des fenêtres d'observations.

NB: Pour répondre à la question concernant la manipulation de plusieurs ut dans la même fenêtre il me semble que ça arrive avec la prochaine version de prt

Re: Backtest : Pour ou contre les optimisations

par bobbyO » 23 avr. 2014 22:28

Arnaud_vh a écrit : NB: Pour répondre à la question concernant la manipulation de plusieurs UT dans la même fenêtre il me semble que ça arrive avec la prochaine version de PRT
Cool. Merci pour l'info

Re: Backtest : Pour ou contre les optimisations

par falex » 23 avr. 2014 23:07

Oui j'ai vu ça dans le texte de présentation de la version 10.2 de prt.

h**ps://http://www.prorealtime.com/fr/nouveautes-de-ProRealTime-

On peut tester la beta de la 10.2 et rien que sur l'affichage des bulles du codes et tout plein de petites choses qui change pas mal et améliore grandement la lissibilité de l'interface.

Re: Backtest : Pour ou contre les optimisations

par bobbyO » 24 avr. 2014 15:14

:oops:
Je n'ai pas trouvé d'info sur ce multi-ut. Dans quelle catégorie voyez-vous ça ?

Re: Backtest : Pour ou contre les optimisations

par Ice. » 24 avr. 2014 18:08

bobbyO a écrit :
Arnaud_vh a écrit : NB: Pour répondre à la question concernant la manipulation de plusieurs UT dans la même fenêtre il me semble que ça arrive avec la prochaine version de PRT
Cool. Merci pour l'info
Ah Oui ce serait génial !!

Pour ma part, je considère que les backtests sont utiles dans la mesure où ça balance pas mal de stratégie qu'on pensait gagnantes à la poubelle. Après pour celles qui fonctionnent plutôt bien en théorie, je les épluches à la main (bon je vous cache pas que c'est long de backtester manuellement, même quelques jours :musique: ) et je tire les conclusions ensuite. Donc pour l'aide à l'optimisation : oui, je pense que c'est un bon outil.

Re: Backtest : Pour ou contre les optimisations

par kieran » 24 avr. 2014 18:16

Quand je gagne, je trouve les backtests super. Quand je perds avec le backtest, je le trouve pas terrible. :lol:

Personellement, j'utilise une optimisation sur le rsi mais j'ai remarqué que cela ne marche pas tout le temps. Cela marche à 50 % voir plus. J'ai de bons résultats sur renault et le cac40 en rsi optimisé. Si l'action ou l'indice continue à baisser avec un rsi qui est en zone de survente, alors, il vaut mieux être en vente à découvert sur plusieurs semaines car la tendance est cassé.
Le rsi optimisé (avec ses bornes et nombres de jours optimisés sur une période de temps) me donne un signal d'achat quand le rsi repasse sa borne inférieure à la hausse.

Re: Backtest : Pour ou contre les optimisations

par bobbyO » 24 avr. 2014 19:58

kieran a écrit :Quand je gagne, je trouve les backtests super. Quand je perds avec le backtest, je le trouve pas terrible. :lol:

Personellement, j'utilise une optimisation sur le rsi mais j'ai remarqué que cela ne marche pas tout le temps. Cela marche à 50 % voir plus. J'ai de bons résultats sur renault et le cac40 en rsi optimisé. Si l'action ou l'indice continue à baisser avec un rsi qui est en zone de survente, alors, il vaut mieux être en vente à découvert sur plusieurs semaines car la tendance est cassé.
Le rsi optimisé (avec ses bornes et nombres de jours optimisés sur une période de temps) me donne un signal d'achat quand le rsi repasse sa borne inférieure à la hausse.
Et bien là, je pense que tu es dans la sur-optimisation, c'est à dire la recherche de paramètres qui fonctionnent à l'instant T sur une action ou indice donnés mais il est très probable que sur d'autres actions ou dans 3 mois ce ne soit plus le cas

Re: Backtest : Pour ou contre les optimisations

par Benoist Rousseau » 24 avr. 2014 20:30

c'est un débat éternel en bourse, proche de croyances religieuses :)
Ni pour ni contre, chacun fait ce qu'il peut.

Personnellement je n'y crois pas du tout car on backteste une série passée et en triturant on trouve toujours par trouver une série gagnante. Je donne souvent cette image : c'est comme une table finale de poker au championnat du monde de poker où on connait l'ordre de sortie des cartes. On finira toujours par trouver la combinaison idéale pour être champion du monde de poker tous les backtests sont gagnants dans le passé. Dans le présent... ils peuvent être gagnants mais le sont ils plus que le hasard ? Je pense que cela pouvait avoir plus de pertinence il y a 10 20 ans, la bourse était plus linéaire, moins violente, donc cela s'appliquait mieux à mon sens.

Si on cherche un Graal pour gagner de l'argent comme "je laisse tourner la machine et l'argent rentre tout seul", c'est perdu d'avance. Par contre pour repérer des récurrences, cela peut faire gagner du temps. Ensuite, la récurrence exploitable pour en tirer de l'argent, c'est du discrétionnaire pour moi.

Bref je ne suis pas croyant :)

Re: Backtest : Pour ou contre les optimisations

par blAst » 26 avr. 2014 06:00

Exactement comme Benoist, pour la non-croyance et l'illustration, donc rien à rajouter je paraphraserai.
Avec un bémol, coup d'épée dans l'eau surtout au niveau des modèles stratégiques avancés mais en incrustant du money management et en travaillant bien tous les aspects trading je suis plus optimiste.

D'une expérience personnelle, ce dont j'ai le plus conscience aujourd'hui est l'alternance des mutations de marché et je l'ai aperçu par des backtests de logiques simples ou compliquées de manière flagrante, tant, que les oscillations et décrochages de logiques sont archi fréquents sur toutes les UT (continuation d attestation d'un brassage de génie) et indomptables au sens où il n'est pas possible d'anticiper le timing des changements ni de tabler sur les nouvelles "natures" de marché car beaucoup trop diversifiées (même si on peut noter grossomodo des classifications ou ranger les variantes : l'avantage marche, ne marche plus, ou alterne vers une efficacité nulle)
En fait je suis persuadé que le marché est devenu si compétotof que toute brêche tend à retourner fréquemment sous l'équilibre et en conclusion j'envisage toute méthodologie avec des retombées sous la forme de sinusoides d'un oscilloscope... (+ - + - + -)
Pour ainsi dire je suis en accord avec les analyses du Docteur Schwager (vidéo dans un autre sujet) qui relate que l'on a intéret à piocher (picking) des modèles ou des gestions (secteur, etc, toujours modèle du sinusoide type ramassage de "valeur", potentiel dans un creu) sous performantes par le passé
[youtube]https://youtu.be/GdgVwV0Sm58[/youtube]
....désolé c est flippant mais je serai particulièrement inquiet à mettre mon argent sur un principe qui performe et qui n'est pas un minimum "intelligent", de longue date encore plus. Et l'inverse, miser sur des chevaux malades, demande beaucoup de corones et va à l'encontre de la volonté de se rassurer et de satisfaire nos envies cartésiennes... pourtant, semble y avoir une cohérence au tout dans uple cadre d'un jeu à somme "quasi" nulle (hors courtage) ouvert et maintenant globalisé.
Comme Benoist, durant les temps anciens le discours n'était pas le même, beaucoup plus de stabilité. De vieux traders m'ont raconté glander en suivant de vulgaires croisements et inversions de MACD, une uthopie aujourd'hui.

Parceque rien n'est tout noir et que l'apprentissage passe aussi par la modélisation de concepts même lorsque les réalisations sont en fait des éliminations et des mises au ban ;)

Je ne suis pas le seul à le dire/penser, mais une façon de créer des automates robustes tient à procéder via walk-forward optimisation plutôt que backtests aveugles dont le risque de suroptimisation et de "curve fitting" est accru (rien que le choix d'une UT est une forme d'optimisation pouvant être ravageuse)
Vous devez connaitre, cela consiste à optimiser sur des échantillons fixes et roulants, puis de jouer ces paramètres en live sur des données non-vues, et ainsi de suite.... on tente donc de s'adapter à l'évolution du marché gentiment, sorte d'intelligence artificielle maigrichonne.
Pour moi la seule façon de créer des systèmes un peu valable... de simples backtests étant archi-dangeureux.
Beaucoup de plateformes proposent le walk-forward optimisation (quelques fois buggés, gaffe) : TradeStation, Amibroker, NinjaTrader, MultiCharts, etc

Sinon de la doc pour dégrossir vaguement le principe :
h**p://http://www.profitableautotrading.com/2012/11/improve-trading-strategies-through-walk-forward-analysis/

Il y a plusieurs façons d'ancrer les périodes d'optimisations sur données connues, illustration ici (déso tout en anglais :( )
h**p://http://www.multicharts.com/trading-software/index.php/Walk_Forward_Optimization

Re: Backtest : Pour ou contre les optimisations

par blAst » 26 avr. 2014 06:25

falex a écrit :optimisation que je viens de tester :
exclure les jour férié.
Typiquement le 25/12 ou le 01/01 IG ne cote absolument pas les indices donc pas de souci, par contre le lundi de paques (21 avril cette année) IG quote les indices avec leur méthode "de nuit".

Entre le spread de 6,2, le manque de volatilité et le fait que je ne traderais pas ces jours, j'ai fait un bout de code qui exclu ces jours "batard".
ça élimine quelques trades et surtout ça donne des stats plus vrai.

Attention à cause des cotations continues et simulées sur certains historiques cfd à risque limité mais pas que, je rajouterai la nécessité de filtrer les jours historiques ou les marchés ont eu des horaires de fermetures tronquées (parfois midi/14h ou 1h à quelques heures plus tôt le soir lors de jours spéciaux, de fêtes, etc) ainsi que la prise en compte des changements d'heures d'été-hiver qui changent le timing des comportements (surtout sur des backtests forex ou les imbrications du DST sur l'ensemble des zones géographiques peut expliquer pas mal de contre-performances)

En fait pour faire des backtests vraiment sérieux, sans faille, c'est ARCHI compliqué et vraiment un travail d'orfèvre.

A notre petit niveau amateur surtout .... j'avais donc créé des indics pour révéler tous ces tracas : détection des dates et des natures de jours spéciaux à problèmes pour ensuite les isoler ou adapter dans les codes, et surtout test de la qualité des historiques que nous utilisons et là on tombe des nus...
Même avec des historiques de qualité (exemple, CQG) on révèle quantité d'aspérités (trou de cotations, absence de bougies, données OHLC bidons, incohérentes, etc) ...une fois j'en ai révélé 1000 sur un historique de forte granularité. En pourcentage de temps, 1000 erreurs c rien mais une seule bougie avec un OHLC très excentré et flamboyant, ou plusieurs petites anomalies cumulées peut vraiment berner une equity curve sans parfois qu'on s'en apperçoive.
Sur PRT ya quelques années, j'avais révélé un état catastrophique des données. Les indices US avaient des datas à l'ouest qui me sortaient de purs résultats pas du tout réplicables... j'ai changé de logiciel à ce moment là.

ATTENTION, on nous fournit des outils de cochon ...faites très gaffe à maitriser sur le bout des doigts toutes les spécifités de votre logiciel car backtester dans de bonnes conditions, un semblant réelles, revient à évoluer sur un champs de mine, pour moi une énième barrière à l'automatisation pour nous traders particuliers avec des petits moyens.


---
Oui j'ai souvent vu des traders mettre des MM X fois plus grande pour "simuler" une MM d'une UT supérieur.

C'est mathématiquement totalement faux mais dans l’absolue ça te donne la position de la MM avec une marge d'erreur de 10 à 20%, why not ...
A nouveau, le coding inter-UT se fait via des logiciels plus pro, moins retail.

Re: Backtest : Pour ou contre les optimisations

par falex » 26 avr. 2014 08:03

Une des solutions (mais pas applicalbe sur prt) serait de faireunn un résultat de backtet au 90percentile ...

Effectivement, le premier point est la qualité des données ...

Si vous avez un échantillons qui surperforme largement le reste des troupes regardez en détail les trades et/ou l'équity-curve vous pourriez repérer des bugs dans le backtets ou des données un peu farfelue ...

Re: Backtest : Pour ou contre les optimisations

par clodreb » 26 avr. 2014 12:30

falex a écrit :Une des solutions (mais pas applicalbe sur PRT) serait de faireunn un résultat de backtet au 90percentile ...

Effectivement, le premier point est la qualité des données ...

Si vous avez un échantillons qui surperforme largement le reste des troupes regardez en détail les trades et/ou l'équity-curve vous pourriez repérer des bugs dans le backtets ou des données un peu farfelue ...
Tout à fait d'accord avec toi ( surtout pour les backtests en UT1min, étant donné le peu de recul disponible): il arrive souvent d'avoir un backtest qui explose tous les autres résultats mais quand tu regardes la globalité du test, tu te rends compte que ton backtest fait un super résultat 1 jour et que tous les autres jours, tu es perdant.
Dans ce cas, il faut voir avec ton MM si tu peux te permettre de perdre tous les jours et de faire un jackpot 1 jour ...perso, j'exclu directement ce genre de résultat.

L'avantage de l'optimisation, c'est que tu peux te rendre compte que sur certaines journées, un certain type de traiding est plus rentable qu'un autre....maintenant, reste à savoir identifier "en live" si tu es dans une config ou une autre pour choisir ton trading.

ps : une optimisation intéressante de PRT serait de pouvoir décider soi-même quel est le param relevant dans le choix de l'affichage final de tes résultats (étant donné que cet affichage est limité). Uniquement mettre les résultats ayant des gains importants n'est pas toujours le plus intéressants dans un backtest. je préfère par exemple un résultat basé sur le Profit factor ou sur le maxdrawdown que sur le gain final. cela serait plus cohérent avec la réalité d'un portefeuille.

Re: Backtest : Pour ou contre les optimisations

par blAst » 26 avr. 2014 13:44

La distribution est clairement importante, celle des MAE et MFE possiblement encore plus que celle des trades débouclées car on voit si on peut raboter ces stops ou objectifs sans miner la perf ou occasionner de l'extra DD

Genre de représentation utile
How_do_we_Use_Money_Management_for_Moving_Average_Forex_Strategies_body_CP-10-07-26-03.png
How_do_we_Use_Money_Management_for_Moving_Average_Forex_Strategies_body_CP-10-07-26-03.png (21.34 Kio) Vu 1209 fois
Glossaire de quelques mesures communes
h**p://http://www.ninjatrader.com/support/helpGuides/nt7/index.html?efficiency_graphiques.htm (assez qualitatif)
h**p://http://www.ninjatrader.com/support/helpGuides/nt7/index.html?statistics_definitions.htm

Re: Backtest : Pour ou contre les optimisations

par falex » 26 avr. 2014 14:49

Le MAE montre quand une certaines évidence : si ton trade est mal parti plus il ira loin moins il a de chance d'être gagnant.

Intéressant voir très intéressant .

Merci pour vos réactions à ce sujet.

Re: Backtest : Pour ou contre les optimisations

par sobear » 29 avr. 2014 15:28

Bonjour,
j'ai pas mal backtesté par le passé au début sur une période minimum d'une année entière pour constater très souvent que ce qui marche quelques mois s'avère mauvais les mois suivants et, en plus, c'était beaucoup de travail souvent pour rien.
Pour simplifier les backtests et gagner du temps j'ai fini par déterminer dans l'année sur l'aspect graphique deux périodes tests de 15 jours, l'une en tendance et l'autre en range serré.
Ainsi cela permettait de voir les points de faiblesses d'une méthode et de faire une optimisation pour améliorer son coté tout terrain quitte à dégrader le résultat si, par ailleurs, la régularité s'améliorait.
Par contre oui, une optimisation précise me permettait surtout de déterminer les stops les plus favorables en gains et pertes sur le résultat global.

Sujets similaires
contre trade
par Benoist Rousseau » 30 oct. 2011 18:22 (1 Réponses)
Virus contre bactérie
par Valérie » 09 févr. 2012 00:28 (5 Réponses)
Campagne nationale contre le fer ;!
par Benoist Rousseau » 08 mai 2012 19:22 (2 Réponses)
Pro Backtest
par VinceMan » 17 juil. 2012 14:30 (4 Réponses)
Se battre contre l'arnaque des brokers - petite histoire
par iGeriya » 08 août 2012 00:23 (10 Réponses)
swing frais cfd à risque limité contre futures
par GOLDS » 06 nov. 2012 19:08 (6 Réponses)
Dépréciation-Dévaluation contre Appréciation-Réévaluation
par Les3BB » 14 déc. 2012 19:54 (2 Réponses)
Action au comptant contre cfd à risque limité action
par AlexandreJ » 28 janv. 2013 22:40 (47 Réponses)
La France seule contre l’euro fort
par Les3BB » 06 févr. 2013 23:42 (0 Réponses)
backtest PRT?
Fichier(s) joint(s) par Djobydjoba » 05 avr. 2013 09:26 (11 Réponses)