Backtest en Walk Forward ?
Forums › ProRealTime forum Français › Support plateforme ProRealTime › Backtest en Walk Forward ?
- This topic has 12 replies, 3 voices, and was last updated 8 years ago by Doctrading.
-
-
03/25/2016 at 9:19 PM #4403
Bonjour à tous,
C’est en travaillant sur quelques backtest en fin de journée, que cela m’a fait pensé à une amélioration espérée et très importante pour la prochaine version, et qui manque cruellement à PRT c’est la possibilité de faire du backtest en Walk Forward comme sur tradestation par exemple. En effet, quand on fait un peu/beaucoup de backtest on s’aperçoit assez vite que les résultats sont peu corrélés à la réalité, conformément à l’adage “Le passé c’est le passé, et ne présage pas du futur …”
Le fait d’avoir la possibilité de faire du Walk Forward sur la prochaine version permettrait de faire des backtest plus robustes et qui collent plus à la réalité, et ne plus croire au Graal lorsque l’on obtient ces résultats en 5 mn de prog (Cf graph, Dax en 5 mn depuis le 1 septembre avec un spread de 1, et donc sans slippage puisque c’est un backtest)
Bonne soirée
Zilliq
___________________________________________
Coding is not a crime 😉
http://www.zilliqtradingresearch.fr/
___________________________________________
03/25/2016 at 9:58 PM #4405Bonjour,
Effectivement ton backtest est très performant, “trop” performant pour sembler presque réaliste… Je ne sais pas quelle stratégie tu as utilisé pour cela.
Je me suis fait moi aussi avoir en ayant testé des stratégies “trop belles”, il y avait une faille dedans…
De plus, ton test a été réalisé sur une période de quelques mois seulement, pour moi cela me semble insuffisant comme données.
Qu’appelles-tu “Walk Forward” exactement ?
Merci pour ta contribution.
03/25/2016 at 10:39 PM #4407Bonsoir,
Le setup employé ici n’a aucune importance (de souvenir c’était basé sur un MACD), c’était juste pour illustrer le problème des backtests sur PRT (et toute plateforme sans WF) et les hyper-optimisation liés à l’absence de Walk forward
Sur le principe ce setup est “normal”, avec TP, SL etc…spread pris en compte etc..Le problème c’est que le passé est le passé, un peu comme une courbe de regression linéaire mais ne présage pas de l’avenir et c’est ca qui est dangereux
Pour le Walk Forward, wikipedia est ton ami
https://en.wikipedia.org/wiki/Walk_forward_optimization
En gros, le système va en permanence déterminer les meilleurs paramètres sur une période A pour les évaluer sur une période B, afin d’aller à la période Z où nous sommes
En gros il teste dans le futur (dans le passé..), les paramètres obtenus à partir du passé…
Enfin bref, c’est l’un des meilleurs moyens de backtest à ma connaissance
Donc voilà c’était juste pour dire que ce serait une autre très grosse implémentation
Bonne soirée
Zilliq
03/26/2016 at 7:38 AM #4411Merci pour la précision.
Bien sûr, ça reste du backtest… Comme on dit : “le passé ne préfigure pas l’avenir”.
J’ai pourtant l’espoir qu’une stratégie backtestée et performante sur 20 ans le sera par la suite… mais j’ai vécu un parfait contre-exemple qui m’a coûté très cher ! Ma faute, il avait été testé sur le S&P500 avec un système de moyennage à la baisse… on a vu ce que ça a donné en août 2015.
Bonne journée l’ami 😉
03/26/2016 at 9:53 AM #4415@Zilliq, ce résultat est-il issue d’une optimisation? Le walk-forward est un processus indispensable tu as raison pour s’assurer qu’une stratégie n’est pas “equity curve overfitted”. Ce processus peut être réalisé “manuellement”, fastidieux je l’accorde mais pour moi indispensable pour passer de l’atelier de fabrication à la production pour une stratégie de trading, j’en ai fais un petit article : http://www.prorealcode.com/blog/avoid-equity-curve-fitting-with-probacktest-trading-strategy-optimisation/
Sinon, une “simple” matrice de Monte Carlo fabriqué sous Excel ou R peut aider à vérifier la distribution des résultats d’une stratégie selon des tirages aléatoires, comme je l’ai fait pour la stratégie breakout CAC40 par exemple (http://www.prorealcode.com/topic/proorder-breakout-on-french-cac40-my-account-performances/) , rien que cela déjà donne une plutôt bonne idée de ce que pourrait donner une stratégie dans le future, ou à minima un intervalle de confiance de ses probables performances.
@Doctrading : des stratégies long only sur SP500 et qui moyenne ont forcément fonctionné. C’est un travers de regarder une courbe et son comportement dans le passé et d’adapter sa stratégie en conséquence. De toute manière, une stratégie qui refuse de perdre telle qu’une moyenne à la baisse, gagnera toujours par définition 🙂 C’est bien que tu ai abandonné ce procédé, même si ça reste très intéressant à programmer / tester et à explorer. On s’en refera quelques unes comme cela pour s’amuser ! =)03/26/2016 at 10:23 AM #4417Dis toi qu’un backtest optimisé c’est un peu comme une régression polynomiale de tes résultats
Autrement dit, les meilleurs résultats que tu auras à un instant t.
Mais tout comme une régression polynomiale, elle se recalcule à chaque point et ne présage pas de l’avenir, c’est malheureusement ce que tu as vécu et donc pour moi la lacune des backtests sans WF
Passe une bonne journée
03/26/2016 at 10:26 AM #4418Non sans optimisation particulière
Content que comme moi tu espères donc pouvoir faire du Walk Forward sur les backtests de la future version de PRT
Pour moi les backtests “simples” de PRT, permettent au mieux de savoir si ta stratégie tient un peu la route
En gros dans cette version basique, si les résultats sont catastrophiques, pas la peine d’aller plus loin. Si ca tient la route et sur différentes UT on peut commencer à y reflechir (mais ne pas ouvrir le champagne 😉 )
A bientôt
Zilliq
03/26/2016 at 11:18 AM #4419Rendons à César tout de même ce qu’il lui appartient :
Les backtests de ProBacktest sont en tout point fidèle à ce que vous pourriez avoir en temps réel avec ProOrder. Faîtes un test (si toutefois vous avez une stratégie qui tourne en réel) de comparaison entre les 2, vous aurez des courbes d’equity quasi semblable. Pourquoi ? Par ce que l’exécution est faîtes server-side, proche des flux DATA des marchés sur des serveurs ultra performants avec une latency que vous n’aurez jamais ailleurs .. ( et gratuitement en sus, est-il besoin de le rappeler ! ). La résultante est un slippage quasi nul sur un prix demandé.
Attention ici, je ne parle pas du biais induit par les STOPLOSS et TRAILING STOP testé une seule fois à l’ouverture de barre.. mais c’est quelque-chose, j’en ai déjà parlé je crois dans le forum Anglais, qui se règlera dans une prochaine version.
Pour le walk-forward, oui je pense que ce serait bien et pas super compliqué à faire. Il faut quand même considérer la puissance des backtests actuels avec la rapidité où on obtient des résultats, c’est quand même impressionnant en l’état.. et même en optimisation, grâce aux serveurs de PRT qui calcule pour vous 🙂 De plus, j’ai entendu dire que le moteur de backtest actuel était en train d’être revu pour être entre 10 et 100 fois plus rapide (!!) , je pense au multi-threading, mais je n’ai pas de détails techniques.
03/26/2016 at 12:44 PM #4421Alors vivement la prochaine version 😉
Je pense que le soucis n’est pas que le fait d’avoir peu ou pas de slippage, et c’est bien qu’il y en ait peu, mais le backtest en lui même
Et c’est vrai que quand tu mets ne serait ce que 3-4 paramètres, le backtest est très très très long donc peu utile
J’ai lu ton article (le premier pour l’instant). Très intéressant. Cela revient en quelques sorte à faire un Walk Forward simplifié en gros in/out data
Zilliq
03/26/2016 at 12:49 PM #442203/26/2016 at 1:43 PM #4425Oui c’est bien ça IS/OOS “in sample / out of sample”. WalkForward simplifié car manuel, cet article met surtout en garde contre le biais que l’on impose à une stratégie quand on fait de l’optimisation.
Tu donnes ici une réponse à ton souhait de Walk Forward analysis avec l’instruction DATE , je n’avais pas spontanément pensé à l’utiliser, bien vu !
03/26/2016 at 3:24 PM #442603/26/2016 at 11:27 PM #4439Problème courant : lorsque sur une même bougie à la fois le SL et le TP sont touchés, le TP est compté, mais pas le SL !
Il aurait été plus judicieux de compter plutôt le SL.
J’espère que la prochaine version de PRT pourra corriger ce problème et compter le bon paramètre, SL ou TP.
-
AuthorPosts
Find exclusive trading pro-tools on