Répondre

Génération génétique ou aléatoire

12 réponses

Trompe-l'œil

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

Visiter le profil

il y a 5 ans #237379

Bonjour, j'aimerais connaître votre opinion et vos expériences en utilisant les deux différentes méthodes de génération, est-il vrai que la génération génétique créera plus de stratégie surajoutée ?

0

Ilya

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

Visiter le profil

il y a 5 ans #237380

Bonjour,

C'est vrai, car l'évolution génétique est un système d'apprentissage automatique, et ces systèmes "s'entraînent" sur un certain ensemble de données, qu'ils exécutent encore et encore afin de s'améliorer, s'adaptant ainsi aux données sur lesquelles ils ont été entraînés.

La génération aléatoire présente évidemment un risque beaucoup plus faible d'overfitting puisque les paramètres sont générés de manière aléatoire et que le système est ensuite exécuté sur votre ensemble de données, il n'y a pas d'"entraînement". Le problème se posera si vous ne vérifiez pas suffisamment la robustesse ou si vous optimisez trop vigoureusement les paramètres de la stratégie.

Mais heureusement, SQ X dispose d'excellentes fonctionnalités qui permettent d'éviter l'ajustement excessif :

1) Tests de robustesse approfondis.

2) Utiliser au moins 2 périodes OOS qui représentent au moins 30% des données (qui sont traitées comme un "nouvel ensemble de données inédites" pour le système, le modèle ne s'entraîne pas sur ces données).

3) optimiser légèrement la stratégie (seulement le coefficient SL ou TP par exemple)

4) Utilisez un grand ensemble de données pour vous assurer que vous ne vous entraînez pas sur du "bruit".

 

- J'aime générer un bon montant initial au hasard sur environ 2 ans de données (pour 1H de trading), ce qui donne environ 1000 stratégies, et l'utilise ensuite comme population initiale pour le projet génétique évolution avec au moins 10 îlots de 100 stratégies chacun, cette fois sur des données de 15 ans avec quelques années OOS. SQ X fait de ce processus un jeu d'enfant...

Ilya

2

Trompe-l'œil

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

Visiter le profil

il y a 5 ans #237383

Comment définir 2 périodes OOS, c'est automatique ou vous testez à nouveau les stratégies en ajoutant la deuxième période OOS ?

0

Ilya

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

Visiter le profil

il y a 5 ans #237384

Dans SQ X, vous pouvez définir autant d'OOS que vous le souhaitez dans l'onglet des données, si vous voulez l'intégrer dans la génération. Sinon, vous pouvez simplement ne pas tenir compte des 6 derniers mois lors de la construction, puis retester les modèles sur ces 6 mois dans le retester, par exemple. C'est la même chose... juste une question de confort et de préférence de filtrage (Classement). Ainsi, par exemple, vous pouvez définir deux systèmes de filtrage pendant la construction, l'un pour IS et l'autre pour OOS, ce qui automatise le premier processus de retest... par exemple :

 

0

Trompe-l'œil

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

Visiter le profil

il y a 5 ans #237386

Ah oui, je viens de trouver l'option permettant de définir plusieurs OOS, merci.

0

tnickel

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

Visiter le profil

il y a 5 ans #237409

J'utilise dans sq 3.8.2 uniquement la génération génétique.

La raison en est claire. Avec les générations génétiques, vous trouverez de meilleures stratégies.

 

Vous pouvez faire des tests.

a) Générer un hasard b) Générer une génétique avec les mêmes blocs de construction

Comparer les résultats après les tests de robustesse

 

explication :

L'espace de recherche pour trouver de bonnes stratégies est trop important pour la génération aléatoire. Il faut attendre des millions d'années pour trouver de bonnes stratégies.

L'algorithme génétique est plus ciblé. Si vous disposez d'une bonne fonction de recherche pour l'algorithme génétique. La fonction cible contient par exemple (profitfaktor, stabilité, Retdd, maxDD)...

 

===============

4.115

Dans SQ 4.115, je ne sais pas si aléatoire ou génétique est mieux. Je pense qu'il y a trop de bogues dans SQ 4.115 pour le moment.

Il est possible que l'algorithme génétique contienne également des erreurs. Je n'en sais rien.

====

En général, je préfère la génération génétique

Thomas

https://monitortool.jimdofree.com/

0

mouchoirs

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

Visiter le profil

il y a 5 ans #237421

Il ne s'agit pas de savoir ce qui est mieux ou moins bien, mais d'adopter une approche totalement différente.

Chaque construction génétique commence par la génération aléatoire de la population de départ et tente de trouver une meilleure stratégie avec certaines méthodes - vous devez savoir qu'avec cette méthode vous obtiendrez des résultats beaucoup plus rapides mais le problème est l'overfitting - comme l'a dit Ilya.

Mais attention, vous n'avez pas besoin d'un meilleur backtest, vous avez besoin d'une stratégie plus robuste, qui a des chances de fonctionner à l'avenir - le comportement passé n'a pas d'importance. Les "meilleures" stratégies seront le plus souvent surajustées et échoueront.

Vous voulez devenir un algotrader rentable ? Nous avons commencé à utiliser le logiciel StrateQuant début 2014. Nous avons maintenant un très grand savoir-faire pour construire des EAs pour tous les types de marchés possibles. Nous partageons ce savoir-faire, les applications, les outils et toutes les stratégies finales avec de vrais traders. Si vous souhaitez nous rejoindre, remplissez le formulaire suivant FORMULAIRE.

0

Trompe-l'œil

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

Visiter le profil

il y a 5 ans #237424

En supposant que l'on utilise l'évolution génétique, SQ4 dispose de suffisamment d'instruments pour trouver les stratégies qui ne sont pas vraiment surajustées ?

J'ai un peu d'expérience dans l'utilisation d'un autre logiciel similaire, et après plusieurs mois d'exécution de quelques stratégies sur un petit compte, je les ai rejetées parce que les résultats n'étaient pas les mêmes que ceux montrés dans le backtest.

Bien sûr, avant d'exécuter ces stratégies, je les ai testées avec quelques tests de robustesse manuels, mais cela n'a peut-être pas été suffisant, et c'est la raison pour laquelle j'ai voulu commencer cette expérience avec SQ4, mais bien sûr, je suis plein de doutes....

0

tnickel

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

Visiter le profil

il y a 5 ans #237425

Oui, le surajustement est le principal problème. 99,9% de toutes les stratégies générées sont suradaptées.

La construction génétique est la machine de surajustement.

Mais la génération aléatoire pose le même problème avec l'overfitting. Pas si grand, mais disponible

https://monitortool.jimdofree.com/

1

Trompe-l'œil

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

Visiter le profil

il y a 5 ans #237426

Serait-ce donc une bonne idée de commencer par une génération aléatoire et, seulement au cas où aucune bonne stratégie n'aurait été trouvée, de continuer à les faire évoluer par le biais de l'évolution génétique ?

0

Ilya

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

Visiter le profil

il y a 5 ans #237427

Je ne suis pas du tout d'accord avec la génération aléatoire de Thomas, surtout avec SQ X qui est beaucoup plus rapide. Lorsque vous générez une population au hasard, disons 200 stratégies, et que vous essayez de l'améliorer sur 20 générations par exemple, si elle ne parvient pas à atteindre la forme souhaitée et vos filtres (ce qui arrivera le plus souvent), vous perdez en fait du temps à backtester 4000 stratégies qui sont jetées, par rapport à 200 en utilisant la génération aléatoire, ce qui fait perdre X 20 de temps en plus. Avec random gen, sur un système de 32 threads, il me faut 1 jour pour générer 1000 stratégies viables (PF > 1.5, Ret/DD > 2, Stabilité > 0.7, Winning%>50%, et la condition mentionnée ci-dessous). Pour moi, genetic evo est un moyen fabuleux de générer des stratégies encore meilleures sur des données plus importantes, en utilisant une très bonne population qui a été générée aléatoirement, mais utiliser genetic à partir de zéro, jusqu'à présent, selon mon expérience, a été principalement une perte de temps.

Petite astuce (Crédit à Notch) : La génération aléatoire avec un petit test de robustesse DANS LE PROCESSUS DE CONSTRUCTION (randomiser l'ordre des transactions au hasard avec un niveau de confiance de 99% > 1), produira des stratégies de bien meilleure qualité dans la génération aléatoire.

Ilya

2

Trompe-l'œil

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

Visiter le profil

il y a 5 ans #237431

J'ai une autre question à vous poser qui n'est pas claire pour moi : dans le cours de Zdenek Zanka, il a dit que les stratégies générées sans utiliser de take profit ont de meilleures performances dans le backtest mais généralement moins dans le trading réel, alors que les stratégies avec take profit ont plus de possibilités de refléter les performances montrées dans le backtest. Est-ce que cette affirmation est vraie pour vous, je ne comprends pas la logique qui la sous-tend.

0

ERP

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

Visiter le profil

il y a 2 ans #276791

Merci beaucoup d'avoir partagé cette astuce. En tant que nouvel utilisateur de SQX, je la trouve très créative et extrêmement utile ! Je vous tiendrai au courant.

Construire. Tester. Échanger.

0

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