Évaluer la robustesse d’une stratégie de trading au premier coup d’œil

Forums ProRealTime forum Français Support ProOrder Évaluer la robustesse d’une stratégie de trading au premier coup d’œil

Viewing 15 posts - 16 through 30 (of 70 total)
  • #166800

    Toutes mes félicitations pour ces éclaircissements.

    #166811

    Bonjour Vivien

     Où puis-je acheter un livre à la première personne?

    Amusez-vous bien.

    #166813

    Hallo @Razz,
    Sie können sein  Buch direkt auf seiner Website oder bei Amazon kaufen
    Einen schönen Tag wünschen

    Bonjour @ Razz

    vous pouvez acheter son livre directement sur son site Web ou sur Amazon. Bonne journée

    1 user thanked author for this post.
    #166835

    @zilliq

    Publiez uniquement dans la langue du forum dans laquelle vous publiez. Par exemple, l’anglais uniquement dans les forums anglophones et le français uniquement dans les forums francophones.

    Merci 🙂

     

    #168089

    Bonjour @Nicolas,

    j’ai tenté plusieurs fois de répondre aux questions précédentes mais mes messages n’apparaissent pas dans la file…

    Peux-tu regarder stp?

    Merci d’avance 🙂

    #168090

    Je vois pourtant bien ce dernier message 🙂

    Quand cela est-il arrivé ? Je ne trouve pas trace de message plus récent malheureusement ..

    #168092

    @Nicolas, je viens l’instant de republier ma réponse…

    #168094

    En effet, j’ai reçu une copie car tu m’as taggé, je pense que le problème est la longueur du post, tu devrais essayer de le diviser en 2 ou 3 stp, désolé pour le dérangement 😳

    #168095

    zilliq wrote:

    Ce que j’ai trouvé intéressant c’est que tu arrives sur certains points aux mêmes conclusions que moi.

    Notamment sur ce point ” J’ai remarqué qu’un système légèrement sous-optimisé génère moins de différences entre l’IS et OOS”. Même observation, mais je n’ai pas d’explication. En gros moins on a de belles courbes et d’overfit, plus les résultats OOS seront corrélés. Un peu flippant et perturbant mais cela semble ainsi. Dans ma tête je vois cela comme une sorte de plafond de verre que l’on arrive pas à dépasser. Pareil les trades à SL constant semblent être ceux qui donnent plus de constante en OOS etc..

     

    Dans le cas des stoploss fix (statiques), en réalité ils sont définis en fonction de la volatilité historique de court moyen terme de l’actif. Par exemple, avant la crise du coronavirus, sur le DAX en intraday, je plaçais les stoploss à 25 points. Mais depuis le corona-crash, je place mes stoploss entre 30 et 40 points. Donc il y a un réajustement à réaliser d’un trimestre à l’autre, ce qui fait que les stop fix sont en réalité des stops dynamiques réadaptés au trimestre ou à l’année.

    C’est un vrai problème quand on fait des backtests sur une très longue période. Par exemple, un stoploss placé à 100 points sur le DAX dans les années 1990 qui vaut xxx points n’a pas du tout la même valeur relative quand le DAX vaut 14000 points en 2021.

    En d’autres termes, cette valeur du stoploss est sous-optimisée au début du backtest et suroptimisée en fin de backtest.

    #168096

    Nicolas wrote:

    Dans une analyse WF, si on veut des OOS corrélés à l’IS, alors on introduit un biais et par conséquent on suroptimise, d’où des OOS temps réel qui ne correspondent plus à nos tests de robustesse.

    L’idée du fusible avec le Z-score (écart type vis à vis de résultats moyen ?) est une bonne idée.

     

    C’est aussi ce que je pense : dans un WF, si on modifie les paramètres du training set en fonction du test set, cela revient à transformer le test set en training set finalement. Il y a donc un risque de découvrir par accident, une configuration suroptimisée à la fois sur le training set et sur le test set.

    En revanche ce qui m’intéresserait vraiment avec le WF, ce serait de pouvoir ajuster des paramètres avec d’autres statistiques que la performance annualisée (CAGR). Je serais très intéressé de pouvoir déterminer une performance minimum exigée, par exemple 2%, et de pouvoir équilibrer le training set et la test set sur leur volatilité respective avec un écart-type par exemple (au lieu du CAGR). En fait, dans l’idéal il faudrait pouvoir ajuster le training set et le test set avec n’importe quelle métrique, tel que le ratio de Sharpe, le tracking error, le ratio MFE/MAE, le drawdown, etc…

    Ça serait vraiment super si Prorealtime pouvait intégrer cette possibilité dans la prochaine mise à jour. Il faudrait aussi pouvoir créer des training set et test set de manière aléatoire sur un backtest. Cela me dérange un peu que le training set soit toujours sur une période qui précède le test set. Je voudrais avoir la possibilité de définir des training set un peu n’importe où sur la période du backtest pour tester le résultat de l’optimisation également sur les périodes de test set choisie aléatoirement. Je pense que le WF aurait beaucoup plus de robustesse en fonctionnant ainsi.

    #168098

    zilliq wrote:

    Logique, mais perturbant 😉

    Imagine, moins la courbe IS est “belle” plus on a de chances que les résultats OOS soient corrélés

    Alors oui, mais jusqu’à quelle limite ?. Car finalement, à ce compte là on ne s’embête plus on fait un backtest “pourri” avec un gain positif et roule

    Il y a donc une ligne de fracture pas simple à déterminer (60-70 % de trades gagnants ?)

    En l’état actuel des recherches, je dirais que l’on peut définir une “belle” courbe IS = potentiellement plus d’overfit en fonction de certains paramètres (Faible max drawdown par ex etc..)

     

    Pour moi, une stratégie automatique optimisée ne fait rien d’autre que mettre en exergue ce que les traders manuels voient avec leurs yeux en regardant l’historique de prix d’un actif. Un backtest va en quelque sorte mettre en équation ce qu’il aurait fallu faire dans le passé pour être gagnant. Or, la seule « vérité » sur les marchés qui est toujours vraie, est que la majorité des retails traders perdent de l’argent. Je ne crois pas ces théories qui disent que les gens sont stupides, etc. Personnellement, je suis arrivé à la conclusion que les marchés sont manipulés par les “big guys” contre les mains faibles. C’est-à-dire que les mains fortes voient la même chose que les mains faibles; ils voient les mains faibles “voir ce qu’ils voient” et anticipent leurs actions à venir. Lorsque que les retails traders prennent une position sur une configuration qui fut très gagnante dans le passé, les mains fortes vont “manipuler” le marché pour venir chercher les stoploss des mains faibles. Il leur suffit de placer une succession d’ordres spoofing en sens inverse pour créer un reflux puis un dernier spoofing quand le prix approche la zone rationnelle de positionnement du stoploss pour désactiver les positions des retails traders.

    J’ai trop souvent vu le marché décrocher brutalement et immédiatement après un point d’entré long et repartir à la hausse juste après que le stoploss ait été touché à un point près. Ce phénomène est trop fréquent et trop précis pour qu’il s’agisse de hasard. De plus les big guys ont des outils leur permettant de connaitre les positions des retails traders.

    Donc pour moi, le fait qu’une trop belle courbe en backtest devienne perdante dans l’avenir s’explique par ce genre d’arbitrage. D’ailleurs, cela fait un moment que j’étudie la possibilité de volontairement suroptimiser une stratégie dans le but de prendre des positions contraires. Mes premiers tests sont assez concluants mais il y a deux paramètres difficiles à déterminer. Il s’agit de la période de suroptimisation en fonction de l’UT et de la durée de validité d’une telle stratégie. Pour le moment j’ai trouvé que pour une stratégie suroptimisée dans une UT de 1 minute, la période de suroptimisation doit être de 2 à 3 mois et la durée de validité serait d’une à deux semaines. Et pour une stratégie dans une UT de deux minutes, la période de suroptimisation devrait être de 5 à 6 mois avec une durée de validité également d’une à deux semaines.

    #168099

    zilliq wrote:

    Bon, c’est parti.

    Cela a été un peu long à calculer tout cela (D’ailleurs @vschmitt il y a des erreurs dans ton chapitre sur le Z-Score. Dans le tableau le Z-Score n’a pas d’unités (c’est un rapport), donc pas en Euro notamment 😉

    Quoi qu’il en soit, si on part sur un trading à trade constant.

    Bah c’est assez logique, mais sur plusieurs essais/algos on est quasi constamment avec un Z-score entre -0.85/+0.85 et on ne peut pas vraiment dire qu’un excès entraîne par la suite une baisse de performance 🙁

    Ps: Sur le Graph, le Z-Score est calculé à partir de la moyenne et de l’écart type de l’ensemble de la série

     

    Oui il faut faire attention à cela car dans ce cas, le calcul se fait à partir de données qui étaient inconnues. Par exemple, si on calcule la moyenne sur 100 périodes, on intègre des données qu’on ne connaissait pas à p=50. (c’est vrai que je n’ai pas donné cette précision dans mon livre). De plus, puisque qu’en OOS on observe une dégradation de la performance, la moyenne en OOS devrait être inférieur à celle en IS. Il y a donc un biais dans la lecture du z-score. Il est possible qu’il y ait un décalage et que par exemple, le deuxième sigma en IS soit équivalent au troisième sigma en OOS puisque la moyenne devrait être inférieure en OOS.

    Dans mes observations, je n’ai pas constaté qu’un z-score supérieur à 85% permettait de prédire une perte immédiate, mais plutôt que la série de trades suivant avait plus de chance d’être perdante ou plus volatile qu’habituellement. J’applique personnellement cette règle depuis février et pour le moment j’ai évité deux séries de pertes sur plusieurs stratégies. Un des robots que j’avait arrêté aurait réalisé un gain juste après mais trois pertes consécutives ensuite.

    En fait cette règle de gestion que j’ai imaginé rejoint ce que je dis plus haut dans ce message au sujet du risque d’arbitrage des stratégies trop gagnantes. Même si je n’ai jamais vraiment validé cette règle en backtest, cela semble fonctionner en réel. D’autant que j’y ajoute une autre règle qui consiste à réévaluer les conditions de marché et éventuellement à relancer et/ou contrôler l’optimisation du système.

    Pour valider l’utilisation du z-score de manière systématique, il faudrait le faire uniquement sur la période OOS et comparer la volatilité des x positions suivantes et comparer cette volatilité avec la volatilité moyenne de la performance pour voir s’il y aurait une différence significative. Il faudrait aussi comparer la performance annualisée des mêmes x positions suivant un z-score supérieur à 85%.

    Le problème de l’analyse des backtest IS est qu’ils sont toujours un peu suroptimisés, donc il est normal de trouver de très grandes séries gagnantes. Et ces grandes séries gagnantes sont beaucoup moins fréquentes en OOS.

    Pour le moment je conserve cette règle de management des systèmes de trading, je n’ai pas noté une meilleure performance que si je ne l’utilisais pas mais j’ai évité beaucoup d’ouvertures de positions pour une performance à peu près égale, donc je diminue mon exposition au risque.

    Beaucoup de règles de gestions utilisées par certains gérants n’améliorent pas leur performance voir la dégrade. Pour moi cette règle a pour objectif de m’éviter de me faire embarquer dans un arbitrage collectif après que ma stratégie serait devenue (accidentellement) trop gagnante. Cette règle n’est peut-être pas suffisante ou mal définie. D’ailleurs, j’utilise aussi un z-score glissant sur les 3 dernières périodes en complément. Mais peut-être qu’un simple écart-type pourrait suffir pour arrêter une stratégie devenue trop instable.

    #168100

    Razz wrote:

    Bonjour Vivien

    Où puis-je acheter un livre à la première personne?

    Amusez-vous bien.

     

    Bonjour @Razz,

    vous trouverez la version numérique de mon livre sur mon site ici :

    https://artificall.com/product/fr-trading-automatique-avec-prorealtime/

     

    Vous trouverez la version papier de mon livre sur Amazon ici :

    https://www.amazon.fr/dp/B08ZBM2T4M

     

    Merci pour l’intérêt que vous portez à mon travail 😊

    PS: @Nicolas, oui tu avais raison, je pense que mon message était trop long car ça fait deux semaines que je tentais de répondre, je saurai pour la prochaine fois 🙂

    #168109

    Tu parles trop Vivien c’est pour ça que tes messages sont coupés 😉  @vschmitt

    Je rigole bien sûr

    Quoi qu’il en soit, perso, plus je teste, reteste, étudie, calcule, programme plus j’en viens à me dire que l’on gagne par chance en fait et que tout n’est qu’aléatoire…

    Triste mais ainsi

    Ptet les big guys comme tu dis

    On parle, on parle, mais je ne vois jamais de résultats publiés en réel gagnant sur du long terme (Déjà que sur du court terme..). Même ici sur PRC qui publie des résultats en réel sur ne serait ce qu’un an ? Je me trompe peut être mais je n’ai jamais rien vu de tel

    Quelqu’un arrive t’il vraiment à gagner sa vie, ou même suffisamment avec un algo de pécores comme nous le sommes tous versus les big guys, c’est vraiment une question à se poser

    Sur ce, passe une bonne soirée

    #168114

    Tu parles trop Vivien c’est pour ça que tes messages sont coupés 😉 @vschmitt

    Je rigole bien sûr

    Quoi qu’il en soit, perso, plus je teste, reteste, étudie, calcule, programme plus j’en viens à me dire que l’on gagne par chance en fait et que tout n’est qu’aléatoire…

    Triste mais ainsi

     

    lol, je m’étais posé la question à un moment donnée 😊 En plus si tu savais à quel point je me retiens de l’ouvrir, surtout au sujet des courtiers…

     

    Personnellement, je ne crois pas trop au hasard, peut-être n’est-ce pas le bon terme. Je considère que l’on gagne au trading ou à l’investissement surtout (uniquement ?) à cause du biais haussier des marchés. Depuis 1970 jusqu’en 2015, le PIB était croissant sur la zone euros. Depuis 2015, on est dans une sorte de stagflation, ce qui devrait avoir pour conséquence que plus personne ne devrait rien gagner au trading ni à l’investissement, car il n’y a plus de création de richesses. Cependant, l’intervention des banques centrales facilitant la création monétaire en agissant sur les taux ou en injectant directement du cash contribue à la création monétaire. Donc il est encore possible de gagner dans un tel environnement.

     

    Je pense que ce biais haussier, via la croissance du PIB ou l’intervention des banques centrales, explique plus pourquoi on gagne au trading ou à l’investissement que la véracité d’une stratégie de trading quelconque. Tant que ce biais haussier existe, on devrait avoir un taux de réussite légèrement supérieur à 50% sur une très grande série. Et si on parvient à obtenir une espérance de gain légèrement supérieure au risque de perte alors le pari est gagné. Du moins c’est comme ça que je vois la chose. Le but du jeu quand on programme un algo est de trouver une configuration qui sera capable d’exploiter ce biais haussier.

     

    C’est peut-être aussi la raison pour laquelle, on en est arrivé à la conclusion que sous-optimiser un système de trading augmente les chances de continuer de gagner dans l’avenir. Une telle configuration arriverait peut-être à bénéficier de ce biais haussier ? Il s’agirait donc d’un hasard biaisé, légèrement désaxé par la croissance mondiale.

Viewing 15 posts - 16 through 30 (of 70 total)

Create your free account now and post your request to benefit from the help of the community
Register or Login