Bonjour,
Merci pour vos encouragements sanbouddha !
Apres s’etre affranchi de la dependance au parametre X, qu’en est-il du parametre Y qui determine le lookback sur lequel la tendance "graphique" des classes d’actifs est analysee ? A ce sujet, puisqu’on m’a pose la question, je n’ai pas detaille ce que j’entends par existence d’une tendance, clarté de cette tendance, accélération de cette tendance, parce que je considere que c’est un des atouts de ma strategie, mais il n’y a vraiment rien de complique.
Pour ce parametre Y, j’etais a priori parti sur Y = 12 mois, mais il se trouve que ce choix n’est pas le meilleur d’apres les backtests. Je vais toutefois persister (par exemple, les backtests ne "savent" pas qu’une valeur de Y de moins de 6 mois, meme si elle donne de meilleurs resultats, n’a pas de sens "reel" par rapport a mes calculs), et d’autant plus qu’a l’inverse de l’ex-parametre X, l’impact de ce parametre Y evolue de maniere assez lisse (le score momentum qui resulte des calculs lies a ce parametre est continu).
Maintenant que les parametres sont determines, que reste-t-il a faire ? Il faut absolument s’interesser a d’autres aspects de la sensibilite de la strategie, toujours en backtestant. Je donnerais plus de details sur ce que j’entends par cela dans les prochains messages, mais j’aimerais d’abord apporter un complement d’informations sur les backtests.
J’ai plusieurs fois vu sur le forum des discussions sur les backtests.
La facon la plus classique de backtester les parametres d’une strategie est de fixer un jeu de parametres, de faire tourner la strategie sur tout l’historique disponible, de regarder les resultats obtenus et de recommencer jusqu’a soit trouver un jeu de parametres "optimal" (i.e., meilleures performances, plus petite perte maximale…) soit trouver un jeu de parametres "stable" (i.e., un petit changment du jeu de parametres ne bouleverse pas les restulats de la strategie).
Toutefois, en faisant cela, comme on a utilise tout l’historique disponible, on a travaille avec un biais retrospectif.
La situation serait differente si on n’utilisait qu’une partie de l’historique disponible pour determiner un jeu de parametres et qu’on validait ensuite ce jeu de parametres sur la partie restante de l’historique, sous reserves de ne le faire qu’une seule fois, ce qui est tres difficile en pratique.
Il existe toutefois une possibilite de contourner legerement le probleme, celle d’effectuer un backtest "walk forward".
Il ne me semble pas avoir vu sur le forum ce genre de backtests et j’aimerais donc donner un exemple.
Imaginons que vous vouliez determiner quelle est LE meilleur lookback de moyenne mobile a utiliser dans une strategie momentum (vous aurez compris d’apres mon post precedent que je suis partisant d’une approche plus nuancee, mais c’est seulement un exemple):
- Backtest standard: vous testez tous les lookback possibles (en gros, de 3 a 12 mois si il est question de donnees mensuelles), et vous retenez le lookback qui donne les meilleurs resultats sur tout votre historique selon un critere qui vous est propre (performances totales, perte maximale, ratio de Sharpe…)
- Backtest splitte: vous testez tous les lookback possibles et vous retenez le lookback qui donne les meilleurs resultats sur une partie de votre historique selon un critere qui vous est propre, et vous validez les resultats sur la partie restante de votre historique.
La valeur ajoutee de ce backtest par rapport au precedent, c’est que si votre strategie etait en fait mal calibree, voire mal pensee, et que les performances s’ecroulent, vous ne perdez pas d’argent ! Dans le cas contraire, vous pouvez avoir une certaine confiance dans la robustesse de votre strategie. Toutefois, la partie d’historique qui sert a la validation est a usage unique, sinon, le biais retrospectif frappe a nouveau.
- Backtest walk forward: vous testez tous les lookback possibles et vous retenez le lookback qui donne les meilleurs resultats selon un critere qui vous est propre depuis le debut de votre historique jusqu’au premier mois de votre historique pour lequel vous pouvez decider d’une allocation implementable dans le monde reel (12 mois ici), et vous faites votre allocation en utilisant ce lookback.
Ensuite, vous refaites la meme chose tous les mois en ajoutant le mois precedent a votre historique (qui grossit, donc), et vous calculez votre courbe de performances.
Il y a plusieurs plusieurs facons d’utiliser les resultats de ce backtest, mais la plus simple est de regarder si le lookback de la moyenne mobile se stabilise et si c’est le cas a quelle valeur.
Si il se stabilise, comme ce backtest simule le comportement d’un utilisateur qui tous les mois optimise sur tout son historique le lookback de la moyenne mobile utilisee, cela signifie que vous pouvez avoir une certaine confiance dans le lookback determine (ou en tout cas, que depuis qu’il s’est stabilise, il y a peut etre plusieurs annees, c’est le meilleur choix possible). Le biais retrospectif s’arrete ici au moment ou la valeur du lookback se stabilise et a partir de ce moment, les performances que vous observez peuvent etre considerees comme quasi "temps reel" puisque depuis cette date, vous auriez choisi cette valeur de lookback.
Rien ne garanti toutefois que les performances soient bonnes, ni meme que le lookback se stabilise… Ce dernier point n’est d’ailleurs pas forcement important, parce que vous voulez peut etre une strategie adaptative aux conditions de marches, auquel cas le walk forward sera integre a votre strategie. Le premier point, par contre, est plus important : si les performances ne sont pas bonnes, cela signifie que sans l’aide d’un biais retrospectif, votre stragegie ne tient pas la route (ou est trop sensible aux parametres, c.f. mon message precedent pour rajouter des nuances dans une strategie binaire) et il semble difficile d’avoir confiance dans le fait qu’elle va continuer a fonctionner dans le futur…
Amicalement,
R.
Dernière modification par roro (12/02/2015 08h28)