Répondre

Une méthode d'essai en marche avant simulée

15 réponses

coensio

Client, bbp_participant, communauté, 106 réponses.

Visiter le profil

il y a 5 ans #238863

Je souhaite proposer ici une méthode de validation appelée 'simulation d'un essai en marche avant'. (Il ne s'agit pas de WF ou WFM, WF/WFM est un sujet différent, il ne s'agit pas non plus d'un test OOS tel qu'il est utilisé lors de l'élaboration de la stratégie).

Le test de simulation est en fait un test de type "marche en avant" de votre "flux de travail/méthode de conception de la stratégie totale".

Au cours des derniers mois, j'ai essayé de développer un flux de travail entièrement automatisé en utilisant le module "projets personnalisés" de SQ-X et j'ai obtenu des résultats très intéressants (que je publierai dans un autre sujet). Ma petite percée était basée sur l'observation que la majorité des traders, et même les traders expérimentés qui donnent des cours en ligne, supposent simplement qu'ils ont raison à propos de leur méthode de validation de stratégie basée sur leur expérience et leurs résultats passés. Il n'y a rien de mal à cela, mais cela peut tuer les nouveaux traders ou les personnes qui essaient de concevoir leurs propres méthodes de conception de stratégie.

Ce que l'on voit sur ce forum et partout ailleurs, c'est ce qui suit :

1. Tous les traders ont leurs propres idées ou méthodes pour générer des stratégies et ils utilisent ces méthodes pour générer leurs nouveaux systèmes.

2. Dans 90% des cas, les nouveaux traders créent et exécutent leurs systèmes sur des comptes de démonstration (ou de petits comptes réels) pour voir si leurs stratégies sont rentables ou non.

3. Il en résulte une méthodologie "générer et espérer".

À mon avis, l'approche appropriée devrait être la suivante :

1. Dans un premier temps, vous développez ou apprenez un nouveau processus de conception de stratégie (une nouvelle méthode de conception de système comprenant la génération/test/validation de stratégie et la sélection de stratégie).

2. Pour vérifier si votre méthode fonctionne, vous remontez dans le temps et faites semblant de vivre dans le passé, par exemple :2014. C'est votre point de référence.

3. Ensuite, vous développez un nombre suffisant (significatif) de stratégies à l'aide de votre flux de travail en utilisant des données 2014 afin d'éviter tout type de "biais d'extraction de données".

4. Ensuite, vous testez TOUS stratégies qui ont passé avec succès votre workflow et votre sélection de stratégies sur une période à terme simulée (votre futur simulé) >2014 et vérifiez combien de stratégies sélectionnées ont fonctionné pour vous. Vous le faites sans tricher ni vous tromper, et vous utilisez donc TOUTES les stratégies qui ont passé avec succès votre processus de travail. Vous tirez vos conclusions sur la base de différents critères de réussite/échec qui sont importants pour vous, par ex : DD maximum, bénéfice net, Red/DD, stagnation, etc. .... et vous notez le pourcentage d'efficacité de votre flux de travail, par exemple : 65% des stratégies sélectionnées ont été rentables (ou n'ont pas dépassé le DD maximum attendu) dans le futur simulé.

5. Vous répétez l'ensemble du processus en sélectionnant un point de référence différent dans le passé, par exemple : 2016. Vous recommencez à zéro en générant, testant et sélectionnant de nouvelles stratégies. Vous testez ensuite TOUTES les stratégies sélectionnées sur une période simulée >2016.

Vous pouvez répéter ce processus de nombreuses fois, en "avançant" l'ensemble de votre flux de travail à l'aide de données historiques et voir si votre méthode de génération de stratégies produit réellement des stratégies robustes dans une période de simulation à terme.

Exemple de créneaux horaires utilisés dans un flux de travail typique :

- Point de référence (dans le passé) = 2014.12.31 (il vous est interdit d'utiliser des données > 2015.01.01 jusqu'à ce que vous ayez généré 30 stratégies qui ont passé votre flux de travail et votre méthode de sélection pour le trading en direct, ceci peut inclure des méthodes de construction de portefeuille).

- Votre premier IS/OSS pour la génération de stratégies est par exemple : IS : 2008.01.01...2011.06.01 et votre premier OOS est 2011.06.02...2014.12.31. 

- Votre deuxième OOS2 pour la vérification de l'ajustement est par exemple : 2003.01.01...2007.12.31

- Tous les autres tests de validation (écart, saut de transactions, MC, marché croisé, etc.) sont effectués en utilisant des données <=2014.12.31

- Vous sélectionnez 30 stratégies et les testez TOUTES sur des données >2015.01.01

Une fois que vous êtes satisfait de votre flux de travail et de vos résultats, vous pouvez revenir au temps présent et générer/valider et sélectionner de nouvelles stratégies et être certain que les systèmes sélectionnés ont de bonnes chances d'être rentables dans un avenir proche.

Je voulais simplement partager cette information, car cette approche m'a permis de réaliser ma première petite percée dans mon flux de travail automatisé 100%.

Conclusion : arrêtez de vous tromper, arrêtez de générer des stratégies basées sur des méthodes non testées et arrêtez d'espérer qu'elles fonctionneront pour vous dans le futur...

Tous les commentaires sont les bienvenus 🙂 .

Gr

Chris

 

 

 

 

 

 

 

 

 

 

 

Il s'agit d'une fausse déclaration.

0

Ilya

Client, bbp_participant, communauté, 105 réponses.

Visiter le profil

il y a 5 ans #238864

Comme je vous l'ai déjà dit en personne, il s'agit d'une approche intéressante (et sensée).

Question : Effectuez-vous le test de simulation à terme sur toutes les stratégies que vous générez et ne faites du live-trade QUE lorsque les stratégies ont passé ce test, ou l'avez-vous déjà fait un grand nombre de fois avec votre flux de travail, jusqu'à ce que vous parveniez à ajuster votre flux de travail à un stade satisfaisant (par exemple 70% des stratégies finales passent le SFT), et à partir de ce moment-là, vous utilisez simplement votre flux de travail sur toutes les données jusqu'à aujourd'hui, et vous êtes confiant dans sa rentabilité ?

 

Voir aussi,

Ilya

0

Enric

Client, bbp_participant, community, sq-ultimate, 114 réponses.

Visiter le profil

il y a 5 ans #238865

Oui, c'est une approche intéressante. Corrigez-moi si je me trompe ; j'ai cru comprendre que vous travailliez en deux étapes :

Étape 1 : IS + OOS. Je suis frappé par le fait que vous utilisez IS 3,5 ans et OOS 9,5 ans divisés en deux parties. C'est énorme ! C'est beaucoup. J'ai lu des gourous "fiables" qui conseillaient 50 IS + 50 OOS. J'ai lu que d'autres personnes "de confiance" ne conseillaient pas du tout la période OOS, mais seulement la période IS et des tests de robustesse rigoureux. Eh bien, je vous vois sur 75% OOS. Quoi qu'il en soit, vous avez trouvé 30 bonnes stratégies correspondant à vos critères. Passez maintenant à l'étape 2

Étape 2 : OOS pendant 4 ans, de 2015 à aujourd'hui.

Si j'ai bien compris. Combien de ces 30 stratégies survivent jusqu'à la deuxième étape ?

0

Ilya

Client, bbp_participant, communauté, 105 réponses.

Visiter le profil

il y a 5 ans #238866

Enric, juste une remarque, quand on utilise OOS en générant, c'est essentiellement un IS, pour le simple fait que nous parcourons des millions (ou des dizaines de millions ou des centaines de millions dans mon cas) de stratégies, pour trouver celles qui ont un OOS rentable, atterrissant la stratégie dans la banque de données. Ainsi, dans l'exemple, il s'agit plutôt de 7 ans d'IS et de 9 OOS. Ce n'est toujours pas une combinaison courante 🙂 .

 

Ilya

0

coensio

Client, bbp_participant, communauté, 106 réponses.

Visiter le profil

il y a 5 ans #238868

Comme je vous l'ai déjà dit en personne, il s'agit d'une approche intéressante (et sensée). Question : Est-ce que vous faites le test de simulation à terme sur toutes les stratégies que vous générez et ne faites du live-trade QUE lorsque les stratégies passent ce test, ou est-ce que vous l'avez déjà fait un nombre important de fois avec votre workflow, jusqu'à ce que vous réussissiez à ajuster votre workflow à un stade satisfaisant (par exemple 70% des stratégies finales passent le SFT), et à partir de ce moment-là vous utilisez simplement votre workflow sur toutes les données jusqu'à aujourd'hui, et vous êtes confiant dans sa rentabilité ? Cordialement, Ilya

J'utilise SFT uniquement au niveau du "flux de travail", donc chaque fois que je sélectionne un nouveau point de référence pour tester mon flux de travail, par exemple : 2014, 2015, 2016 ou aujourd'hui, je génère plusieurs nouvelles stratégies à partir de zéro en utilisant exactement le même flux de travail/la même méthode. Si je constate que la majorité des stratégies générées avec une méthode/un flux de travail donné ont été rentables au cours de la période à terme simulée (indépendamment du point de référence sélectionné), alors je sais que je peux faire confiance à ma méthode et cela me donne l'assurance que les stratégies générées aujourd'hui ont des chances d'être rentables à l'avenir. L'objectif du SFT est donc de tester votre méthode et non vos stratégies.

Il s'agit d'une fausse déclaration.

0

coensio

Client, bbp_participant, communauté, 106 réponses.

Visiter le profil

il y a 5 ans #238869

Oui, c'est une approche intéressante. Corrigez-moi si je me trompe ; j'ai cru comprendre que vous travailliez en deux étapes : Étape 1 : IS + OOS. Il me semble que vous utilisez 3,5 ans pour l'IS et 9,5 ans pour l'OOS, divisés en deux parties. C'est énorme ! C'est beaucoup. J'ai lu des gourous "fiables" qui conseillaient 50 IS + 50 OOS. J'ai lu que d'autres personnes "de confiance" ne conseillaient pas du tout la période OOS, mais seulement la période IS et des tests de robustesse rigoureux. Eh bien, je vous vois sur 75% OOS. Quoi qu'il en soit, vous avez trouvé 30 bonnes stratégies correspondant à vos critères. Passez maintenant à l'étape 2 Étape 2 : OOS 4 ans ; de 2015 à aujourd'hui. Si j'ai bien compris. Combien de ces 30 stratégies survivent à la deuxième étape ? si je peux me permettre.

Note Etape 1 : le ratio IS/OOS 50/50 n'est appliqué que lors de l'étape de génération de la stratégie dans le builder. Oui, j'ai suivi les enseignements des gourous de SQ. Mais notez également qu'après de nombreuses itérations utilisant les mêmes blocs de construction et les mêmes paramètres de génération de stratégie, votre premier OOS devient IS. C'est pourquoi il devrait toujours y avoir une deuxième période OOS pour valider les stratégies générées par le constructeur. A mon avis, c'est l'un des tests les plus puissants et d'après mon expérience, je constate que 95% des stratégies générées échouent à cette étape.

Note étape 2 : Ne qualifiez pas cette période de OOS (je sais que c'est OOS, mais cela ne fait qu'embrouiller les gens), il s'agit d'une sorte de futur simulé, un forward simulé est une appellation bien plus appropriée. En prenant mon flux de travail automatisé comme exemple, et en supposant qu'aucun bogue n'affecte mes résultats et que je n'ai pas fait d'erreurs stupides, j'obtiens maintenant 100% d'efficacité au cours des deux premières années de la période future simulée. Cela signifie que 100% des stratégies qui passent mon workflow sont rentables dans ce futur simulé. Après 2 ans, je constate une forte baisse de l'efficacité des stratégies. Cela signifie également que tous les deux ans, je dois générer de nouvelles stratégies. Mais je veux laisser la discussion concernant mon flux de travail automatisé pour plus tard...

 

 

 

Il s'agit d'une fausse déclaration.

0

Enric

Client, bbp_participant, community, sq-ultimate, 114 réponses.

Visiter le profil

il y a 5 ans #238871

Oui. Comme vous l'avez dit, une fois que la période OOS fait partie du processus de construction, elle devient IS. C'est le principal argument contre l'utilisation de la période OOS ; il est préférable d'utiliser uniquement la période IS car, en fin de compte, c'est la même chose. Je suis curieux de connaître le comportement des stratégies pendant la période de "simulation vers l'avant", comme Coesio demande à l'appeler. En particulier, je ne suis pas convaincu de cette approche, après tout, il me semble qu'elle consiste à augmenter l'OOS de plus en plus, de sorte que l'effet sera comme remplacer l'algorithme génétique par le hasard, mais c'est aussi une méthode d'ajustement de la courbe, n'est-ce pas ?

0

coensio

Client, bbp_participant, communauté, 106 réponses.

Visiter le profil

il y a 5 ans #238876

Après tout, il me semble que l'OOS s'accroît de plus en plus.

Je vois que vous n'avez toujours pas compris une chose importante. Dans SFT, la période simulée à terme, que vous appelez "OOS" supplémentaire, se situe en dehors de la fenêtre de temps de sélection de la stratégie. Il s'agit d'une simulation de la performance réelle de la stratégie et elle n'est PAS utilisée pour sélectionner/tester des stratégies, mais pour prouver que votre flux de travail est capable de créer des systèmes de négociation rentables. Cela n'a rien à voir avec le test/la sélection de stratégies et ne peut donc pas être considéré comme un temps mort supplémentaire.

Il s'agit d'une fausse déclaration.

0

Enric

Client, bbp_participant, community, sq-ultimate, 114 réponses.

Visiter le profil

il y a 5 ans #238885

Ok, je crois que j'ai compris. Pour moi, il s'agit d'une donnée hors échantillon (=DOE), mais ce n'est qu'une question de définition, ce n'est pas grave.

0

coensio

Client, bbp_participant, communauté, 106 réponses.

Visiter le profil

il y a 5 ans #238886

Mais seulement si vous appelez les données de 2050 également des données OOS, alors oui, alors dans votre définition c'est aussi OOS 😉 .

Il s'agit d'une fausse déclaration.

0

coensio

Client, bbp_participant, communauté, 106 réponses.

Visiter le profil

il y a 5 ans #238888

J'ai fait un petit tour d'horizon pour que ce soit plus clair :

Les stratégies sont générées, testées et sélectionnées en utilisant les périodes A et B, et les résultats sont testés en utilisant la période C. (La période C n'est pas "OOS" puisqu'elle n'est pas utilisée pour la génération de stratégies et la sélection des résultats). sélection). Après la période C, le processus repart à zéro, de nouvelles stratégies sont générées et sélectionnées à l'aide des nouvelles stratégies A et B et testées au cours des nouvelles périodes C. etc. etc.

Simulation d'un essai en marche avant

Il s'agit d'une fausse déclaration.

0

Enric

Client, bbp_participant, community, sq-ultimate, 114 réponses.

Visiter le profil

il y a 5 ans #238929

Bonjour coesio. Tout d'abord, merci pour votre générosité. Il ne fait aucun doute qu'il s'agit d'une approche précieuse et qu'elle mérite d'être essayée.

0

coensio

Client, bbp_participant, communauté, 106 réponses.

Visiter le profil

il y a 5 ans #238957

Bonjour coesio. Tout d'abord, merci pour votre générosité. Il ne fait aucun doute qu'il s'agit d'une approche précieuse et qu'elle mérite d'être essayée.

Dommage que personne ne partage ce genre de choses ici et nulle part ailleurs...

Quoi qu'il en soit, jetez un coup d'œil à ce sujet où j'ai vraiment mis cela en pratique... Voyons voir quels seront les résultats :

https://strategyquant.com/forum/topic/100-automated-and-100-accurate-sq-workflow-test-case/

 

Il s'agit d'une fausse déclaration.

0

SteveChou

Customer, bbp_participant, community, sq-ultimate, 40 replies.

Visiter le profil

il y a 3 ans #268932

Merci Chris.

J'utilise également ce processus pour élaborer et tester mes stratégies.

0

peter

Abonné, bbp_participant, client, communauté, sq-ultimate, 7 réponses.

Visiter le profil

il y a 2 ans #274084

Je viens de tomber sur ce fil de discussion. vu qu'il y a 2 ans, je me demandais si vous pouviez nous tenir au courant des résultats en direct ?

0

coensio

Client, bbp_participant, communauté, 106 réponses.

Visiter le profil

il y a 2 ans #274086

Cela se passe plutôt bien, cependant 2 ans dans l'algo-trading, équivaut (de mon point de vue) à seulement 150 trades 🙂 = à peine assez pour voir ce résultat comme statistiquement significatif....

Les tests que j'ai effectués au cours de cette période m'ont permis de réaliser des bénéfices de l'ordre de >+150%... jusqu'à présent.

Certains diront que c'est très intéressant.

Cependant, le monde évolue si vite que le gain de 150% ne semble pas si impressionnant que cela ;)... c'est pourquoi l'algo-trading est ma priorité la plus basse en ce moment.

J'envisage de publier mon travail, y compris mon flux de travail, à l'intention d'un nombre limité de personnes.

Vous pouvez toujours me contacter si vous êtes intéressé.

Vous savez probablement où me trouver...

Gr

Chris

Il s'agit d'une fausse déclaration.

0

Affichage de 15 réponses de 1 à 15 (sur un total de 15)