Le plus souvent la démarche est de réaliser un algo puis ensuite de lui faire parcourir n années du passé. Certains disent qu'avec n=10 ce sera plus fiable qu'avec n=3, le nombre et la variété des situations rencontrées étant plus élevé.
C'est ainsi que la plupart d'entre nous font pour la mise au point de leurs algos.
Je porte néanmoins un regard de plus en plus critique sur cette façon de procéder. C'est un marchand d'illusions. Pourquoi ?
Les marchés évoluent, les comportements actuels d'un sous-jacent peuvent être ou ne pas être similaires à ceux d'il ya quelques années.
Dans l'exploitation réelle d'un algo on va constater les résultats de ces derniers jours/semaines/mois/année et possiblement tenter d'en tirer des conclusions pertinentes pour l'avenir proche . L'algo est il toujours valable tel quel ? mériterait il une adaptation ?
Question importante, dans une telle hypothèse, laquelle et surtout pourquoi ?
En procédant avec des baktests on s'affranchit de ces questions.
Le plus souvent on va chercher une adaptation paramétrique qui permet de moyenner les résultats année après année afin de maximiser l'output sur les n années.
Un peu plus de ceci, un peu moins de cela et c'est meilleur sur 10 ans.
(Je ne parle même pas de la catastrophe que représente en backtests l'introduction d'une boucle de scaling/augmentation de la taille des positions en fonction de l'equity).
En faisant ceci on est très loin de la vie réelle !
Dans la vie réelle, je me répète, on regarde le passé immédiat et on en tire des conclusions pour le futur immédiat. Du moins est-ce ainsi que l'on caractérise l'adaptabilité et la capacité à survivre.
Ainsi dans une procédure "Forwards", je suggère de mettre au point un algo sur une année du passé et de ne le tester que sur cette année là.
Puis ensuite de le lancer sur l'année n+ 1.
Analyser, si elles sont présentes, les différences de résultats et en comprendre les raisons.
Que faut il faire varier entre n et n+1 pour maintenir les résultats ?
Y a t'il une corrélation entre ces modifications et l'information contenue dans le signal ?
Puis on recommence entre n+1 et n+2 (ou des périodes plus courtes si nécessaire).
Cette procédure Forwards est beaucoup plus astreignante, elle requiert bien plus d'analyses et d'énergie, mais elle nous contraint justement à nous poser de bonnes questions.
NB: j'ai pratiqué une alternative à cette méthode, mais un peu moins exigeante, j'ai développé sur une année quelconque avant de tester sur n'importe quelle autre année. Respecter l'enchaînement n, n+1, n+2.... permettra de mieux s'approcher des conditions réelles d'interaction entre un auteur et ses algos.