ProRealTime
Pour partager sur le trading automatique, nos algorithmes, nos backtests
Répondre Page 1 sur 1

Méthodologie de mise au point: Backwards vs Forwards

par Euraed » 12 Oct 2018 11:04

On parle toujours de Backtest.
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.

Re: Méthodologie de mise au point: Backwards vs Forwards

par Robinhood » 12 Oct 2018 11:30

Merci Euraed d'évoquer la problématique de temporalité qui en effet semble passer sous le nez de la grande majorité des "backtesters".

Si je peux me permettre d'apporter ma pierre à l'édifice, lorsque je créé des nouvelles stratégies "intraday" (liste non exhaustive ci-dessous) :

- Je ne m'intéresse jamais à une journée particulière. Je vais taper au hasard dans mon historique. Je m’intéresse évidemment ex-post aux journée ayant procurée les plus forts DD et dans ce cas précis j’analyse les x jours avant/y jours après. C'est probablement ce qui m'intéresse le plus
- Je considère l'ensemble des journées de façon indépendante
- Tout comme tu l'as évoqué : la date de départ à un impact significatif => poubelle
- Je ne considère jamais de réinvestissement, ni de levier, ni de pyramidage. Si la strat est stable/robuste/pérenne, ces spécificités peuvent ensuite être "confortablement abordées"
- Ceteris paribus :
* si je me rends compte à un instant t que la réussite de la strat est fonction d'une période particulière => poubelle
* si à nombre "raisonnable" de trades et avec une espérance de gain par trade suffisante pour que le spread ne soit pas un sujet, la strat ne marche que sur d'autres actifs (à liquidité équivalente) => poubelle

J'espère ne pas avoir été trop hors sujet non plus. Tu évoques une problématique très technique et j'ai peur que peu de collègues backtesters puissent réellement comprendre le fonds du problème.

Re: Méthodologie de mise au point: Backwards vs Forwards

par VB6backtester » 12 Oct 2018 17:12

Coucou à tous ! c'est marrant j'ai eu la même idée que Euraed. Il y a qques temps j'ai commencé à modifier mon système de backtest de façon à ce qu'il 's'auto-optimise' par exemple en coupant 3 ans en periodes de 1 mois, 6 mois...... en essayant de voir si telle meilleure config du mois n est gagnante au mois n+1 sur tel ou tel param.
Bref de voir si ça vaut le coup de s'adapter progressivement et à quelle période.
J'ai arrêté ! trop de problèmes (retour en arrière dans les historiques en particulier,etc) et j'ose pas non plus penser au temps de calcul.
En tout cas j'ai déjà essayé sur les seuls param de mes 2 périodes Ema principales, et elles sont particulièrement stables dans le temps. Au point que ça vaut étonnement pas le coup d'y toucher.
Bye

Articles en relation
Mise en production d'un système auto.
Fichier(s) joint(s) par xxxx » 15 Mai 2018 21:09 (58 Réponses)

ProRealTime

Alors partagez-le 5 fois c'est bon pour la santé