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

Mes clés pour des robots gagnants

par Algoteam » 10 Jan 2019 01: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 Jan 2019 02:19

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

Re: Mes clés pour des robots gagnants

par AlgoFlex » 10 Jan 2019 08: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 Jan 2019 11: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 PF 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 ML4b » 10 Jan 2019 12: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 Jan 2019 12: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 Eversa » 10 Jan 2019 16:08

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

Re: Mes clés pour des robots gagnants

par Algoteam » 11 Jan 2019 01: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 ML4b » 11 Jan 2019 08: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 Jan 2019 14: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...

Articles en relation
Les logiciels dits "robots"
par Epitaf » 22 Déc 2016 15:23 (4 Réponses)
Quel prestataire pour coder un robot pour MT5
par BearIsDead » 21 Fév 2018 01:38 (27 Réponses)
Quel VPS pour API IG ?
par takapoto » 05 Mai 2017 14:55 (4 Réponses)
Historique pour du BackTest
par ChefCuistot30 » 29 Mar 2016 11:33 (5 Réponses)
Aide pour un expert :)
par trappiste73 » 26 Nov 2018 12:52 (7 Réponses)
trading automatique pour les nuls
par Arnaud Alcantara » 18 Fév 2016 14:34 (62 Réponses)
CODE POUR 1 ET 1 SEULE POSITION
par Toto le Héros » 29 Nov 2016 23:55 (2 Réponses)
Quel facteur déterminant pour une stratégie?
par Jim » 12 Mai 2016 18:08 (4 Réponses)
Besoin d'aide pour amélioration algo cac 40
Fichier(s) joint(s) par Ernesto » 22 Mai 2016 00:43 (1 Réponses)
Recherche progrmmation pour backtest setup
par trappiste73 » 04 Aoû 2017 20:54 (10 Réponses)

ProRealTime