Bonne années à tous. Une mention spéciale pour Thierry à qui je souhaite une bonne année... fiscale!
Bah oui, c'est pas Rosh Hachana.
Je reviens donc pour poursuivre mon opération mains propres - nan je rigole. Pour reprendre mon propos et donc sans tenir compte de nouvelles de dernières minutes qui n'ont pas leur place ici :
- Une première version dont un PF en backtest relativement bas à fait dire à UKLM si mes souvenirs sont exacts qu'il ne restera rien en réel.
- Des optimisations successives qui ont vu surgir un PF monstrueux, ceci en filtrant les trades qui étaient déjà parcimonieux au départ (on est passé en gros de 600 à 300).
- Un walk forward (passage en réel) qui, toujours si ma mémoire ne me fait pas défaut, fut à peu près nul, puis... escamoté.
Je n'ai rien à l'encontre de l'auteur. D'ailleurs si des Thierry il y en avait 10 fois plus sur VideoBourse, c'est clair que ce serait nettement plus passionnant en terme de compétences trading automatique et MT4.
Mon propos est de rappeler l'histoire (que le public peut ne pas parfaitement saisir lorsque les montreurs de track record s'adonnent au bonneteau) :
- Une idée de départ puis un développement
- Différentes mesures sur optimisantes sans en avoir l'air
- Avertissement des forumers expérimentés qui tentent d'expliquer comment ça va pas le faire
- Passage en réel suivi du ratage annoncé
- Forward supprimé, silence radio... passons à autre chose
Mais trêve de bla bla, maintenant le vif du sujet :
1) Combien d'évènements faut il ?
- J'ai rappelé combien 300 trades c'est peu dans cet article,
ICI.
Le public ne comprend pas les processus aléatoires. On croit qu'une poignée d'évènements est représentatif de la réalité, et donc du futur probable. Combien de fois j'ai vu trainer l'idée selon laquelle à partir de 30 évènements on commence à avoir une idée des choses. C'est une confusion mortelle. Les 30 ça provient de : quand on additionne des VA, au bout de 30 ça commence à ressembler à une gaussienne (loi des grands nombres). Aussi, pour un test de Student, 30 ça commence à donner une idée.
Tout ceci est bel et bon, mais ça ne change rien au fait que lors d'une évaluation d'un paramètre d'une loi binomiale, ben 300, c'est un minimum si l'on ne désire pas des incertitudes énormes. Ah zut! On m'aurait menti ? Pour qui ce ne serait pas clair, c'est très simple : évaluer le PF d'après 300 trades, ou trouver le bon niveau de Stop, c'est le même problème, les mêmes calculs d'incertitude.
En conséquences, avec 300 trades, on peut évaluer 1 ou 2 paramètres, mais il ne faut pas ajouter plus de degrés de liberté sinon ce n'est que de la suropt.
2) Il y a moins d'évènements que de trades
Ça a l'air d'un truisme, mais j'en ai vu tant l'oublier.
On peut avoir plusieurs trades qui se font en paquet sur une certaine vague ou sur un certain évènement. On a beau avoir 3 trades, peut être qu'on a qu'un évènement.
On peut utiliser un critère de long terme qui fait des filtrations. par exemple momentum de long terme, ou encore TSSF (trading de l'EC - je débranche ou pas). Ou encore de choisir de montrer de beaux résultats sur une période, et pas sur la précédente (ici on n'a qu'un évènement : le passage d'une période à l'autre).
Bref, quand on ajuste un stop, on tient peut être compte de 300 trades, mais quand on fait un simple if on peut très bien s'ajuster sur seulement 10 évènements. Valeur prédictive : nulle.
En résumé, l'un des pièges cachés de la sur optimisation, c'est le fait que quand bien même on aurait n trades, peut être que certains paramètres s'ajustent sur bien peu d'évènements du passé.
3) Effets de la dissymétrie du taux de réussite
On peut avoir un taux de 50/50 et chercher des gains supérieur aux pertes. Ou au contraire un fort taux, mais qui accepte de rares pertes dont le montant est élevé.
Un effet pernicieux de cette orientation est que les pertes deviennent rares. Il devient alors beaucoup plus facile d'avoir la malchance suivante : d'avoir de la chance en backtest (mais pas en réel).
Comment cela ?
Eh bien c'est très simple, imaginons que pour un tas de raisons, de nombreux trades sont un peu gagnants ou un peu perdant. En fait ceux-ci ne comptent pas beaucoup. Et puis nous avons un certain nombre de trades offrant de grands gains et finalement peu qui offrent de grandes pertes. Sur 300 trades, combien de grandes pertes ? Très peu sans doute.
On imagine facilement la catastrophe qui s'annonce : rien de plus simple de trouver l'indicateur schmoldu qui dit ne pas sentir le marché dans ces cas là, puis filtrer par miracle la moitié des grandes pertes.
Inutile de dire qu'en réel, le taux
normal des grandes pertes va revenir au galop malgré les efforts de filtre de l'indicateur schmoldu. Le PF de 3 en backtest retourne à ce qu'il a toujours été, genre 1.3
Inutile de dire qu'un sous effet essentiel de la sur optimisation est que l'on dimensionne les lots d'après un savant MM issu du backtest. Finalement, peut être qu'on avait une petite stratégie qui marchait un peu, mais le levier inconséquent appliqué (car les risques et les DD sont occultés par la suropt), oblige d'abandonner la stratégie au premier couac.
Pourquoi la plupart des traders amateurs perdent ? Cherchez pas, c'est comme ça que ça se passe.