ProRealTime
Pour partager sur le trading automatique, nos algorithmes, nos backtests

Mes clés pour des robots gagnants

par Algoteam » 10 janv. 2019 00:55

Bonjour à tous et super année de trading (et pas que…) !

Comme il a l’air d’y avoir de nombreuses personnes qui pédalent dans la semoule du trading automatique :cry: , comme ça a été mon cas pendant 1 an, j’ouvre cette file pour partager les principes que j’applique, qui sont pour moi des conditions absolues de réussite et qui m’ont rendu nettement gagnant depuis 10 mois :musique: .

S’i y a du répondant ;) , je vais essayer d’en livrer à rythme régulier, un par un, pour qu’on ait le temps de les commenter, discuter et si possible assimiler avant d’attaquer le suivant…

Et je serai très, très content si vous pouvez faire avancer le schmilblick et que moi aussi je découvre de nouvelle choses… :prier:

Contexte avant de commencer : je ne trade que sur les cfd à risque limité CAC, en 5, 15 et 30 mn, avec des robots écrits en PRT chez IG. Et totalement en algorithmique : mon dernier trade manuel date de 2017.

Je suis nul en discrétionnaire :mur: (je m’em.. quand il ne se passe rien, je stress quand je suis en position et je ne respecte plus mes règles…) Donc je ne réussis qu’en automatique : je suis un poisson froid qui développe et teste des stratégies, essaie de ne pas voir ce que font les robots dans la journée et compte les points le soir….

Remarque au passage : je suis la preuve qu’on n’a donc pas du tout besoin d’être bon en discrétionnaire pour réussir en automatique, ça dépend de la personnalité et des compétences qu’on a.

Maintenant, rien n’interdit d’être bon dans les deux  :lol2:

Donc pour moi, TOUT part du money management et précisément de la maîtrise du drawdown :evil:

Donc règle n°1 : mon objectif n’est pas d’obtenir la stratégie qui donne la plus grande plus-value (hélas c’est sur cette base que PRT optimise ses backtests…) mais celle dont le ratio MaxDrawDown/gain est le plus faible.

On se calme, j’explique :

Exemple 1 : vous avez un capital de 2500€ et vous pondez une stratégie qui génère 20 trades par mois avec un taux de succès de 40%, une perte moyenne de 25 points et un gain moyen de 60 points. (c’est-à-dire un reward ratio de 60/25 = 2,4).

Donc vous respectez la règle communément admise (et complètement fausse) d’un reward ratio supérieur à 2.

Pour respecter l’autre règle communément admise et tout aussi peu justifiée de ne risquer que 1% de votre capital (25€), vous tradez avec 1 mini-lot à 1€ le point donc avec un levier de 2 (1 mini lot vaut 5000€, ce qui fait 2 fois le capital).

La stratégie est gagnante puisque vous allez gagner 20*60*0,4-20*25*0,55, soit 180 points. Soit 180 € (hors spreads etc pour simplifier). Super :180€ pour 2500 de capital : 7,2% par mois donc 86 % par an (sans capitalisation) c’est top. :top:

Très bien, mais quel est le Max drawdown ? (faites moi confiance sur les chiffres de Max DD qui suivent, j’ai développé un outil statistique qui les calcule)

Eh bien le MaxDD médian (c’est-à-dire la valeur pour laquelle il y a autant de chances d’avoir plus que d’avoir moins) est de 120 points soit 120 €. 6 % du capital : ça a l’air très correct…

Sauf que… Sauf que c’est juste sur 1 mois. Sur 1 an, ça sera 290 points soit 290€, soit 11,6% du capital, et si vous voulez survivre en trading pendant 30 ans (une petite vie de trader), ça fera 575 points soit 575€ donc 23% ! Ca semble encore acceptable !…

Mais ça c’est la médiane ! (la moyenne n’a pas de sens, car la loi de probabilité du Drawdown n’est pas du tout gaussienne).

Donc si vous êtes très prudent, vous allez vous dire par exemple : sur mes 30 ans de vie de trader, je veux 99% de chance de ne pas dépasser un MaxDD de 20%. Alors qu’est-ce que ça donne ?
Eh bien sur 1 mois : 315 points soit 12,6%. ça semble encore correct…
Sur 1 an : 635 points soit 25%. Vous avez déjà dépassé votre maxi, en un an seulement !
Sur 30 ans : 940 points soit 37% : ça va être dur à remonter…

Donc bien que vous ne risquiez qu’1% du capital par trade et que la stratégie soit nettement gagnante, votre levier est trop fort : pour respecter votre objectif raisonnable de maximum 1% de chances de dépasser 20% en 30 ans, il faudrait ne risquer que 0,5% du capital par trade, c'est à dire trader sans levier !

Donc la règle du 1% du capital était trop permissive dans ce cas là.

Et maintenant on est en sécurité, mais les gains sont divisés par 2 : 3,6% par mois soit 43% par an : ça reste une bonne stratégie, qui a maintenant l’avantage de ne pas vous mener à votre perte …

Exemple 2 :

Vous avez toujours un capital de 2500€ et vous avez une autre stratégie qui génère aussi 20 trades par mois mais avec un meilleur taux de succès de 68%, une perte moyenne de 25 points et un gain moyen de seulement 25 points. (c’est-à-dire un reward ratio de 25/25 = 1). Vous ne respectez donc pas la règle du reward ratio supérieur à 1…

Dans un premier temps, vous continuez à respecter la règle du 1% du capital (25€), vous tradez toujours avec 1 mini-lot à 1€ le point donc toujours avec un levier de 2

La stratégie est gagnante puisque vous allez gagner 20*25*0,68-20*25*0,32, soit 180 points ou € aussi.

Au premier abord la stratégie est équivalente à la précédente avec le même levier…

Et le Max drawdown ?

Eh bien le DD médian n’est que de 50 points (ou €) donc 2% sur 1 mois, 125 points (ou €) donc 5% sur 1 an et 250 points (ou €) soit 10 % sur 30 ans.

Et si on applique la même règle de prudence que tout à l'heure, ça donne :
Sur 1 mois : 150 points soit 6%, sur 1 an : 250 points soit 10%, et sur 30 ans : 400 points soit 16% : on respecte la règle de sécurité sans diminuer le levier !

Pour être au niveau de risque objectif, on peut même augmenter l’exposition en passant le levier à 1,25 : le gain sera donc de 1,25 * 180€ soit 225 € : 9% par mois, donc 108% par an !
Et en dépassant le sacro-saint 1% du capital dont on parle partout…

Alors qui c’est le meilleur ? :bravo:

Conclusion :

On a donc 2 robots qui pour le même risque moyen par trade de 1% du même capital de 2500€ gagnent la même chose (86%) mais avec un Max DD et donc un risque très différents.
Si on règle les leviers (0,5% du capital pour le premier, 1,25% pour le second) pour avoir le même risque acceptable sur le terme qu’on s’est donné (moi, à mon âge, je ne prends pas 30 ans mais 5 :gloups: ), le premier ne gagne plus que 43% par an, et le second 108% !

Donc, quand vous backtestez vos robots, n’optimisez surtout pas vos paramètres sur le gain maximal mais sur le ratio MaxDD/gain (hélas PRT ne le permet pas en direct : il faut regarder le DD pour chaque valeur testée du paramètre …)

Et ensuite choisissez le nb de lots pour ajuster le risque à votre objectif personnel…

Alors oui, je sais, il ne vous manque qu’une chose : comment est-ce que je calcule le MaxDD en fonction des 4 paramètres auxquels on peut résumer tout robot :
Nb de trades – taux de réussite – gain moyen – perte moyenne ?

Et bien je ne peux pas vous donner la formule :joker: car je ne l’ai pas : j’ai passé des nuits entières à dérouler des équations sans aboutir à mieux qu’à des approximations, et j’ai eu beau chercher partout y compris dans des thèses de chercheurs et même sur Andlil  ;) je n’ai rien trouvé..

Alors j’ai développé un outil en python qui fait des tirages de Montecarlo : on remplace l’intelligence qu’on n’a pas par la force brutale de calcul : dans le cas ci-dessus : 5000 séries de 7200 trades (36 millions de simulations) :mur:

Et le résultat est exactement compatible avec les backtests, avec en plus que je peux simuler sur 30 ans une stratégie pour laquelle je n’ai que 3 mois d’historique, par exemple.

Et aussi que je peux connaître la probabilité que le MaxDD s’écarte de tant de la médiane (incalculable avec un back test : qu’est-ce que ça donnerait si les cartes sortaient dans un autre ordre (n’est-ce pas Benoist :musique: ?))

Mais j’ai quand même une formule qui permet de comparer avec une bonne approximation les DD de deux stratégies pourvu que leurs reward ratios soient >1.
Si ça en intéresse certains, je l’expliquerai dans le prochain post.

Et sur ce je vais me coucher car il faut bosser demain… :zzz:

Re: Mes clés pour des robots gagnants

par zjm » 10 janv. 2019 01:19

Très intéressant, merci (je relirai plus en détail demain :))

Re: Mes clés pour des robots gagnants

par Ano782345 » 10 janv. 2019 07:37

Merci de ton partage :top:

Je crois aussi que la clef est le max dd, montecarlo est utile pour estimé la fourchette.

Bonne continuation
;)

Re: Mes clés pour des robots gagnants

par Euraed » 10 janv. 2019 10:54

Bonjour Algoteam,

Merci pour le partage.
Je suis pleinement d'accord sur la clef de voûte du money management et sur la recherche de la maîtrise du MaxDD.
Il ne peut effectivement y avoir de formule permettant de pré-calculer un MaxDD.
Et je partage aussi l'idée que les ratios prudentiels RR et profit factor communément admis sont loin d'être des lois absolues.


Il me semble que ta réflexion s'inscrit dans un cas spécifique, et probablement assez fréquent chez les traders, d'un seul ordre ouvert simultanément.
Avec de multiples ordres ouverts, dans les deux sens et sur plusieurs supports, la notion de MaxDD devient encore plus complexe à maîtriser.

Re: Mes clés pour des robots gagnants

par Kratos0013 » 10 janv. 2019 11:10

Vraiment top ton post Algoteam ! Merci pour ce partage car c'est bien détaillé et facilement compréhensible par ton écriture.
En espérant que tu continues le partage car j'apprends beaucoup !

Re: Mes clés pour des robots gagnants

par ticktack » 10 janv. 2019 11:51

Merci pour ce partage, ça fait plaisir de voir que l'on peut y arriver et que d'autres partagent les mêmes point de vue (depuis un moment déjà je ne recherche des systèmes qu'en fonction du ratio gain/MaxDD).

Re: Mes clés pour des robots gagnants

par Amarantine » 10 janv. 2019 15:08

Merci pour ce partage très conséquent Algoteam. :mercichinois:

Re: Mes clés pour des robots gagnants

par Algoteam » 11 janv. 2019 00:10

- tous : merci de vos retour, ça encourage à continuer !

- euraed : tu as raison : la façon dont j'ai présenté les choses correspond à un robot unique, stand alone…
Mais bien sûr c'est très limitatif : pour ma part je fais tourner actuellement en réel 10 robots différents et j'en ai 8 autres en tests.

D'où mon pseudo Algoteam : troupeau d'algos :mrgreen:

Mes robots sont tous sur le même instrument (le CAC parce que j'ai commencé par ça) et que je n'ai jamais eu le temps de me mettre à autre chose, ce que je me suis juré de faire dès que possible bien sûr. :?

Mes robots combinent des signaux d'entrée les plus différents possibles, tradent dans des UT différentes et j'en ai 5 à la hausse / 5 à la baisse. Et finalement comme les tendances court-terme changent tout le temps, les robots sont à peu près décorrélés bien qu'étant sur le même instrument !

J'ai aussi une couche de supervision, encore assez simple, qui limite les possibilités de trades simultanés des différents robots. Ca me permet de contrôler l'exposition maximale et donc le risque, y compris le risque d'appel de marge avec les nouvelles règles DESMA car avec 10 robots s'ils démarrent en même temps le levier de 20 peut être atteint…

Bon on parlera de l'impact du passage au troupeau sur le MaxDD dans un prochain post : c'est à la fois beaucoup plus compliqué en théorie et finalement pas tant que ça à l'usage...

Pour finir pour ce soir, mais toujours dans le cas d'un robot isolé, je vous conseille la lecture du bouquin de Michel DELOBEL : "Money Management : l'art de gérer le risque" Vous saurez tout sur le drawdown...

Dans le post précédent, j'avais évoqué le fait que la distribution de la loi de probabilité du drawdown était tout sauf une loi de gauss ce qui entraîne quelques menues conséquences : la notion de moyenne n'a guère de sens, celle d'écart-type encore moins, la vieille règle qui dit que 90% des cas se situent entre -2 et +2 écarts-types ne marche plus du tout etc.

Notez au passage que les cours non plus ne sont pas gaussiens et ça n'empêche pas les bandes de Bollinger d'être basées sur ces fameux -2 / +2 écarts-type... :hein:

Sur ce sujet, lisez le bouquin de Benoit MANDELBROT ( : "une approche fractale des marchés" - Sous-titre : "risquer, perdre et gagner" : tout un programme...

Ces deux bouquins sont très abordables : pas de concepts mathématiques compliqués :top:

Rassurez-vous, je n'attendrai pas que vous ayez lu ces deux pavés avant le prochain post :D

Re: Mes clés pour des robots gagnants

par Kratos0013 » 11 janv. 2019 07:34

Salut Algoteam, le premier livre est de Benoît Mandelbrot mais le deuxième c'est lequel ? Désolé je le vois pas dans ton post.
Je pense que je vais les lire pour mieux appréhender ce que tu écris lol

Re: Mes clés pour des robots gagnants

par Algoteam » 11 janv. 2019 13:19

Bonjour ML4b,

Tu as lu trop vite ;) : le premier bouquin est cité plus haut dans le post, c'est de Michel DELOBEL : "money management : l'art de gérer le risque".

Bonne lecture...

Re: Mes clés pour des robots gagnants

par Robinhood » 12 janv. 2019 10:59

Salut Algoteam !

Merci pour ta contribution :top: Tu as une plume assez pédagogique et je pense que cela devrait en sensibiliser plus d'un, notamment sur le sujet clé qui est évoqué ici.

Je me permet d'ajouter quelques pierres à ton édifice :joker:

1. Diversification

- Pour rebondir sur ce qu'à dit Euraed (et toi également) : le max DD (sous toutes ses formes) est un indicateur clé de mesure de la performances/risques. Au delà du fait d'avoir plusieurs robots, traitant le même actif ou en mode multi-actifs, il me parait essentiel (et je l'ai indiqué à maintes reprises sur ce forum) d'avoir également en tête le principe de diversification, au sens "large" du terme. The only "free-lunch". Ce principe va au-delà du simple et "fameux" : "j’investis sur plusieurs actifs". Il va beaucoup plus loin. Notamment dans les indicateurs de tout types et les algos. La vraie puissance de la diversification c'est l'association d'indicateurs/stratégies/algo qui ne sont pas parfaitement corrélés. Ils n'ont ainsi pas besoin individuellement d'être les 1er de la classe. Il faut juste qu'ils soient pertinents sur le long terme (j'entends par là, qu'ils soient pérennes dans leur valeur ajoutée). C'est alors leur association qui peut en faire un portefeuille (d'indicateurs, de stratégies, d'algos, d'actifs...) qui sera là en bonne position pour être 1er la classe, toujours sur l'angle fondamental rendement/risque (dans le facteur risque j'inclue tout ce qui a déjà été cité, en particuliers l'étude des distributions : queues, épaisseurs de queues => non-normalité, etc...)

2. Simulations


En ce qui concerne les simus de monte carlo. C'est une approche intéressante et largement utilisée dans la sphère financières, tout particulièrement en structuration/pricing. En revanche comme tu l'a très bien indiqué, ces simulations sont exogènes, en ce sens qu'elles ne prennent pas en compte les phénomènes réellement observés dans les datas. Je m'explique sur l'exemple le plus probant : la non-normalité des rendements. Il a été prouvés x fois que les rendements des actifs n’étaient pas normaux (de façon assez générale). Il a également été "prouvé" que les séries de rendements présentent des caractéristiques aujourd'hui bien connues, notamment 1. l'existence des clusters de volatilité (la vol à TCT est un prédicteur de la vol à TCT, dans ses niveaux et sa structure) et 2. l'hétéroscédasticité = non constance de la variance des rendements = présence d'autocorréléation dans les rendements (et très précisément dans les fameux résidus).

A et effet, il a été développé dans les années 2000 par la recherche une méthode très intéressante, gardant les avantages de Monte Carlo et prenant en compte les 2 effets ci-dessus. Il s'agit de la méthode FHS = Filtered Historical Simulations. J'en ai déjà parlé sur ce forum en citant de façon très précise le process à appliquer (tu pourrais le répliquer rapidement en Python/R/Matlab, whatever). En somme, la méthode te permet, à partir d'un échantillon de données (cela peut être une journée d'intraday, 30 ans de SP500, etc...) de simuler x trajectoires en tenant compte des propriétés du jeu de données cible + des 2 effets ci-dessus. C'est vraiment hyper intéressant comme approche.

Le lien où je présente la méthode : je-backteste-le-dax-au-tick-pres-sur-2- ... 00-30.html

Bien à toi++

Re: Mes clés pour des robots gagnants

par kero » 12 janv. 2019 11:31

Sujet intéressant, qui m'intéresse d'autant plus que je me suis mis récemment au trading algo. Un peu par hasard, à la base je voulais faire du trading intraday tout court, mais comme toi, je n'ai pas la patience (et tout compte fait, pas le temps).

Ce que tu expliques me parles, Algoteam, mais je n'ai pas les connaissances mathématiques pour tout suivre. Malheureusement j'ai oublié trop de tout ce que j'avais appris. Mais je vais prendre inspiration de cette discussion pour essayer de m'y replonger.

En tout cas, je retiens que tu insistes sur le MaxDD, ce qui est un point que j'ai aussi rapidement intégré comme essentiel. La performance brute d'une stratégie n'a pas grand intérêt si elle ne peut pas être obtenue via une progression relativement régulière. Tous mes efforts d'élaboration de stratégie visent donc à trouver un compromis entre performance et DD.

Re: Mes clés pour des robots gagnants

par VB6backtester » 12 janv. 2019 13:57

Bravo Algoteam !
Tes robots tu les backtestes sur combien de temps ? sur quelle période ?
Bye

Re: Mes clés pour des robots gagnants

par BeerIsDead » 12 janv. 2019 21:18

Salut! Merci Algoteam et tout le monde. Pas encore tout lu mais ça paraît prometteur. Quasiment pas retouché aux algos depuis 2017, année qui s'est soldée par l'échec de mes robots qui avaient bien donné pendant quelques mois. Bref.

Pour compléter, je crois que vous n'avez pas parlé de "Walk Forward" (littéralement "Marche en avant", en déplacant une fenêtre). Je recopie la compréhension qui est la mienne du process, que j'avais posté ailleurs (aide-algo-stanisme-t24159.html):

"Il ne faut pas tester l'algo sur toute l'historique dont tu disposes, car sinon tu n'auras plus d'historique "vierge", sur laquelle effectuer des vérifications quant à la validité de ton algo.

J'entends par là, si tu modifies "à tâton" des paramètres de ton programme (par exemple la longueur de la moyenne mobile, ou encore la moyenne ou l'écart type utilisés pour ton bollinger) et que tu lances le test sur TOUTE l'historique dont tu disposes, forcément va arriver un moment où il sera gagnant, car tu auras adapté ton programme ("to fit" en anglais) à l'historique du sous-jacent.

(...)

Exemple:
1) on optimise sur Janvier à Avril 2018 , et on teste ensuite les résultats sur Mai 2018
2) quelque soit le résultat de 1), on continue en optimisant sur Février à Mai 2018 et en testant sur Juin 2018
3) puis Mars à Juin 2018 / Juillet 2018
etc...

Et en ce qui me concerne, je m'arrête de tester et je mets l'algo de côté (ou souvent en fait je le mets carrément à la poubelle) dés que je considère que j'ai trop de mois rouges. J'ai constaté que très très peu d'algos survivent en faisant comme ça. (peut-être malheureusement que du coup je jette des algos qui constituaient en fait une base de travail intéressante, je ne saurais pas dire...)

Note: dans mon exemple j'ai pris 4 mois de "in sample" et 1 mois de "out of sample", mais il n'y a pas de "règle" absolue pour choisir la taille des fenêtres.

Disclaimer : l'optimisation d'algo est un principe qui semble déconseillé par certains, mais perso je ne vois pas d'alternative à ça, et puis ça me semble sensé d'adapter le comportement à une période donnée (in sample data) et la tester sur une plage inconnue (out of sample data). Je rationalise (et me rassure ) en me disant que c'est adapter l'algo, dont on pense que le principe est "logique", aux conditions de marché changeantes."

Re: Mes clés pour des robots gagnants

par z0om » 12 janv. 2019 21:45

Très très intéressant. Je fais joujou avec le ProBackTest aussi en ce moment. Je vais suivre cette file avec attention.

Re: Mes clés pour des robots gagnants

par z0om » 12 janv. 2019 22:38

J'ai voulu regardé en détail mais premier calcul, je ne tombe pas pareil de mon côté :oops:
Algoteam a écrit :180€ pour 2500 de capital : 7,2% par mois donc 86 % par an (sans capitalisation) c’est top.
Je trouve 0,72% par mois et 8,64% par an. quelqu'un peut m'expliquer ?

Re: Mes clés pour des robots gagnants

par BeerIsDead » 12 janv. 2019 23:53

Salut Zoom. Je pense qu'il a fait 180 / 2500 = 0.072 (soit *100 = 7.2%) * 12 = 0.864 (*100 = 86.4 %).

Re: Mes clés pour des robots gagnants

par z0om » 13 janv. 2019 00:53

Quel nul, je sais pas ce que j'ai Fichu :oops: :oops: :oops: Merci BeerIsDead :roll:

La fatigue on va dire :musique:

Re: Mes clés pour des robots gagnants

par Robinhood » 13 janv. 2019 09:15

BeerlsDead fait reference au risque d'overfitting et il a bien raison. Insample/outof sample est une bonne approche. A completer par un test de validation des parametres (ex : si vos backtests donnent des resultats tres differents avec une MM de 80 ou 90 et bien il y a un pb). A cet effet @Euraed a crée un sujet sur le forum.

C'est part ailleurs un sujet qui a été evoqué à plusieurs reprises. Mais il est si important que c'est toujours bon de remettre une couche, surtout afin que les débutants en auto y soient sensibilisés au plus tot.

Re: Mes clés pour des robots gagnants

par Algoteam » 13 janv. 2019 13:22

- robinhood :
C’est exactement ça, robinhood :D : moi qui ne suis toujours que sur un actif, le CAC, je me suis aperçu que je pouvais diversifier juste en utilisant des signaux d’entrée différents et des UT différentes, car elles sont en fait assez décorrélées à l’échelle du day trading
Pour aller plus loin, je vais essayer de relire et de comprendre la méthode FHS que tu sites, mais je ne suis pas sûr d’avoir le bagage mathématique suffisant… :?:

- Kero :
Pour ce que je fais, le niveau mathématique que j’utilise ne dépasse pas la terminale S, et encore ! L’important est surtout de bien avoir compris le fond des concepts utilisés : le fond de ce que veut dire une corrélation entre 2 séries, le fond de ce que veut dire une distribution non normale etc. Après, les formules, on galère à les retrouver et les utiliser, mais déjà si on comprend ce que ça veut dire on avance pas mal, même si on ne sait pas tout quantifier…

- Beerlsdead , et tous :
Alors, ça ça m’intéresse beaucoup : je comprends bien cette notion d’optimisation sur un historique, puis de test sur un échantillon neuf pour éviter la sur-optimisation, j’ai essayé ave les back-test PRT qui le permettent mais je n’ai jamais rien obtenu de concluant :( … Alors j’ai abandonné l’idée d’avoir des robots qui marchent des années et même des mois, sans retouche.

Donc pour ma part voilà comment je fais :
D’abord, je surveille chaque jour la performance globale du groupe de robots, mais aussi de chaque robot. La question cruciale est : quand un robot commence à perdre, est-ce que c’est normal c’est-à-dire c’est juste le début d’une mauvaise série statistiquement normale, ou est-ce que c’est le signe que le marché change et que le robot n’est plus adapté ? C’est là que j’utilise mon outil de simulation de MaxDD :
- Tant que le DD observé est inférieur au MaxDD calculé, je considère que c’est une perte normale.
- Quand le DD observé atteint le MaxDD calculé, ça veut dire que j’ai 50% de chances que mon robot se soit désynchronisé. Alors là je l’arrête et laisse tourner les autres et j’analyse finement tous les trades perdants pour trouver une explication. Exemples : stop un peu près alors que la volat a augmenté, TP un peu loin ou stop suiveur trop lent alors que la volat a diminué, signal d’entrée trop permissif…
- Si je trouve, j’adapte le paramètre, je backteste et je repars.
- Si je ne trouve pas (cas rare) je garde le robot en observation et si plus tard il redonne de bons résultats, je vais à nouveau chercher à comprendre pourquoi il remarche et si je comprends, l’améliorer et le remettre en service.

C’est essentiel d’avoir un critère précis pour éviter le « j’attends un peu, ça va remarcher » destructeur :evil:

En pratique, les signaux d’entrée sont assez stables, je les retouche très rarement. C’est plus souvent sur les conditions de sorties que ça se dérègle. Bref je suis amené à retoucher 1 ou 2 paramètres d’un des 10 robots toutes les 2 ou 3 semaines peut-être. Donc finalement ça n’est pas si souvent que ça.

Et pour que cette méthode soit efficace, il faut aussi avoir des robots dont le taux de réussite est élevé donc avec des MaxDD statistiques assez faibles :
- Avec un robot qui a un taux de réussite de 85% par exemple et donc un MaxDD de 3 pertes moyennes sur un an par exemple, je peux attendre la 3° perte pour arrêter le robot et mettre les mains dans le moteur
- Avec un robot qui a un taux de réussite de 45% et un MaxDD de 10 pertes moyennes, et que je dois atteindre ce niveau de pertes pour savoir que mon robot est peut-être en train de se désynchroniser, il va déjà me falloir des semaines voire des mois pour remonter la pente…

Donc j’ajouterais bien une 2° règle :
Règle n°2 :
Quand on constate un début de DrawDown qui approche ou atteint le MaxDD prévu (au minimum par backtest, au mieux par calcul), on arrête le robot et démonte le moteur sans attendre…


Alors, malgré tout ça, comment éviter la sur-optimisation ? Bien sûr avec la méthode du Walk-Forward, même si moi je n’en tire pas grand-chose…
Quand je dis que je n’en tire pas grand-chose je veux dire que quand j’arrive à faire une stratégie qui résiste à ce test, et fonctionne par exemple sur 3 ou 4 ans, elle n’a plus aucun intérêt car elle est tellement tous terrains qu’elle ne rapporte plus que quelques % par an, autant placer ses sous dans du fond en euros :mrgreen:

Alors, peut-être faudrait-il faire ça sur des périodes plus courtes : historique de 2 ou 3 mois, et 2 semaines de out of sampling par exemple, mais pas sûr d’avoir assez de trades pour que ça soit significatif. Je n’ai pas essayé, toi tu fais comment ? Et tu es sur du day trading ou pas ?

Alors en fait je fais surtout extrêmement attention à ne pas définir un paramètre sur « un optimum local pointu ». En pratique si j’ai un paramètre dont la valeur potentielle logique est par exemple entre 10 et 30, si je trouve une maximisation de ma performance à 23, j’ai plusieurs cas :
- Le résultat est moins bon mais reste correct dès la valeur de 20, et aussi au-delà de l’optimum jusqu’à 26 : OK, cet optimum est bon à prendre
- Toujours avec un optimum à 23, le résultat est correct depuis 18 mais s’écroule à 23,1 : j’ai un effet de seuil. Alors je prends une valeur non optimale, par exemple à 21. Et par ailleurs, je cherche pourquoi j’ai cet effet de seuil, qui vient peut-être de ma stratégie. Exemple : la performance augmente quand le TP augmente, et à partir d’une certaine valeur, elle s’écroule. Il faut peut-être un dispositif moins brutal qu’un TP..
- Toujours avec un optimum à 23, chaque fois que je fais varier le paramètre de 0,1 j’obtiens des résultats complètement différents, bons ou mauvais : le système est chaotique, il faut revoir ce coin de stratégie.

Donc règle n°3 :
Ne jamais fixer un paramètre sur une valeur qui forme un pic de performance : choisir le milieu d’une plage raisonnable de valeurs acceptables
-

VB6backtester
Comme je ne fais pas de Walk forward (et pourtant je ne suis pas satisfait de ne pas en faire..), je backteste tout sur 1 an, ce qui me semble représenter pas mal de conditions de marché à l’échelle intraday.
Et toi ?

- tous :
Je dis depuis le début qu’il faut des taux de réussite élevés. Je vais essayer d’expliquer pourquoi, et les conditions qui vont avec, ceci notamment pour ceux qui découvrent un peu ces histoires de MaxDD.

Fondamentalement, c’est quoi le Drawdown :musique: ?
Le drawdown, c’est une série malheureuse de pertes, éventuellement entrecoupée de quelques gains qui ne suffisent pas à compenser les pertes qui sont autour.

Donc premier point : plus le taux de réussite est élevé, moins j’ai de risque d’avoir une série noire longue : Si je gagne 4 fois sur 5, j’ai moins de 1 chance sur mille de faire 5 pertes de suite ((1-0,8)^5). Mais si je ne gagne qu’une fois sur 5 j’ai 35% de chances que ça m’arrive ((1-0,2)^5)…

Deuxième point : cette série noire peut être entrecoupée de gains : si ce ou ces gains sont importants, ça suffit à récupérer d’un coup le drawdown, qui s’arrête donc. C’est ce qui arrive si on a un reward ratio très élevé. En pratique dès que le reward ratio est supérieur à 1, un gain compense au moins 1 perte et « permet » une perte de plus pour le même drawdown. Si le reward ratio est faible, même une petite série blanche au milieu d’une série noire ne suffit pas à casser la série noire.

Dans tous les cas, plus le taux de succès est élevé, mieux ça vaut, et plus le reward ratio est élevé et mieux ça vaut. Mais ça on le savait déjà , et les deux ne sont pas possibles en même temps… :lol2:

Pour ma part, je vise des taux de succès le plus élevés possibles (70 à 80% en backtest qui donneront 60 en réel, avec des reward ratio autant que possible entre 0,9 et 1,4)

Dernier point, le MaxDD augmente évidement avec le nombre de trades : si on trade pendant 10 ans, on a des chances d’avoir de temps en temps des séries noires plus longues que si on trade 1 mois…

Donc règle n°4 :
Pour minimiser le MaxDD il faut augmenter optimiser les backtests pour avoir le meilleur taux de réussite (ça, PRT sait faire) tout en gardant un reward ratio guère en dessous de 1. Ensuite parmi les taux de réussite les plus élevés, là seulement choisir le gain le plus élevé.

En pratique, je considère qu’une stratégie n’est viable (c’est-à-dire solidement rentable que si le ratio (taux de réussite*reward ratio)/(1-taux de réussite) est supérieur à 1,5.

Alors la question suivante est : pour ces stratégies là, quel serait l’effet d’un changement du nombre de trades (augmentation de l’horizon de trading) ou d’une amélioration ou déterioration du taux de réussite (tout en restant dans le cadre du ratio précédent !).

Exemple : on a une stratégie qui génère 100 trades par an avec un taux de réussite de 60% et un reward ratio de 1,2, pour une perte moyenne de 25 points. Le backtest donne un MaxDD de 130 points. Exprimé en points cela fait 130/25=5,2 (bref une série noir de 5 pertes moyennes, ou un peu plus avec un petit gain dedans.)
Mon ratio de validité donne 0,6*1,2/0,4=1,8 : stratégie viable. :top:

Question 1 : si je trade 20 ans, quel sera le Max DD ? Eh bien on peut considérer que le MaxDD va augmenter de –ln(µ)/ln(1-R) ou µ est le facteur d’augmentation du nb de trades (ici 20/1=20) er r est le taux de réussite. Attention, c’est additif, pas multiplicatif .

Donc le DD exprimé en perte moyenne va passer de 5,2 à 5,2 –ln(20)/ln(0,4). Le moins en début de formule vient de ce que le taux de réussite étant par nature inférieur à 1, le log népérien de ce taux de réussite est toujours négatif. Et moins par moins ça fait plus… :musique:
Ln(20)=2,996 ; ln(0,4)=-0,92 donc le MaxDD va augmenter de -2,996/-0,92 soit environ 3 pertes moyennes : on passe en gros de 5 à 8 pertes moyennes.

On peut aussi se demander ce qui se passerait si en plus, du passage à 20 ans, en passant en réel mon taux de réussite tombait de 60 à 50% !
Eh bien on aurait une variation du DD de : -ln(20)/ln(1-0,5)= 4,3 : le Max DD passerait donc de 5,2 à 9,5 pertes moyennes… Question : serait-ce acceptable au regard de mon money management, ou plus exactement quelle exposition dois-je choisir pour que cela le soit (cf mon premier post)…

Bonne fin de WE à tous…

Sujets similaires
Hiérarchie des niveaux clés.
par plataxis » 01 juil. 2016 17:21 (3 Réponses)
facteurs clés baisse du dollar
par damijoo » 06 avr. 2017 21:38 (6 Réponses)
Niveaux clés à sauver un vendredi soir
Fichier(s) joint(s) par MrWayne » 09 févr. 2019 13:39 (4 Réponses)
Brexit : Dates Clés
Fichier(s) joint(s) par Francis1 » 13 déc. 2020 19:23 (2 Réponses)
5 "clés" en trading selon le trader Stephen Kalayjian
Fichier(s) joint(s) par kelly » 11 nov. 2021 18:26 (10 Réponses)
Les clés du cholestérol > Cholestérol et matières grasses
Fichier(s) joint(s) par Francis1 » 27 nov. 2021 09:42 (5 Réponses)
Film El juego de las llaves - Le jeu des clés
par ChristelleP » 18 juin 2022 20:57 (1 Réponses)
Les parcours des gagnants
Fichier(s) joint(s) par artes88 » 04 mars 2015 10:54 (14 Réponses)
Statistiques sur % de gagnants
Fichier(s) joint(s) par Valentino » 31 août 2015 11:57 (4 Réponses)
Conseils gagnants
par krisboy » 01 mars 2016 14:28 (16 Réponses)