L'apprentissage automatique dans la négociation : théorie, modèles, pratique et algo-trading - page 3170

 
fxsaber #:

C'est l'image que voient presque tous les utilisateurs du testeur. Je suis intéressé par l'explication.

Dans cette image, la signification statistique est assez élevée : plus de 3000 positions qui ne se chevauchent pas.

Je suppose qu'il s'agit de l'effet des changements de marché au sein même de Sample. Par exemple, l'échantillon avait un vrai modèle au début, puis plus rien. Mais l'ajustement s'est produit pour l'ensemble de l'échantillon.

Nous devrions d'une manière ou d'une autre éviter de telles ruptures au sein de Sample.


L'effet inverse peut également se produire : à gauche OOS - vers le bas, à droite - vers le haut. En d'autres termes, aucun modèle n'a été trouvé dans le morceau initial de l'échantillon, mais seulement un ajustement.

Je suppose qu'il s'agit d'un surentraînement ou d'une non-stationnarité. À moins, bien sûr, qu'il n'y ait des problèmes avec les données brutes ou l'algorithme lui-même.

J'essaie généralement de "déplacer" un peu le problème - en modifiant légèrement tous les paramètres possibles (et les métaparamètres disponibles) et en observant l'évolution du résultat. Parfois, il devient un peu plus clair.

 
mytarmailS #:
Si vous obtenez des bénéfices sur les OOS comme sur l'entraînement, cela signifie que cet effet (drain dirigé sur les OOS) n'est inhérent qu'aux marchés et que nous pouvons formuler des hypothèses à ce sujet.

Forum sur le trading, les systèmes de trading automatisés et les tests de stratégies de trading.

L'apprentissage automatique dans le trading : théorie, modèles, pratique et algo-trading

fxsaber, 2023.08.16 11:38 AM

C'est le genre d'absurdité qui se produit. A gauche OOS passe, à droite - non. Et le côté droit "plonge" littéralement immédiatement.

Vous voyez que OOS passe à gauche ?

 
fxsaber #:

Voyez-vous l'OOS qui passe à gauche ?

Nous parlons de l'effet sur la droite

Reproduisez complètement l'expérience, mais avec des données synthétiques.


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

L' OOS à gauche est également un ajustement, mais d'une sorte de second ordre.


Imaginez que vous n'ayez que 1000 variantes de TC, en général.


vos étapes 1 et 2

1) Vous commencez à optimiser/rechercher un bon TS, ce sont les données d'entraînement (ajustement/recherche/optimisation).

Disons que vous avez trouvé 300 variantes pour lesquelles le CT est rentable...

2) Vous recherchez maintenant, parmi ces 300 variantes, une CT qui passera OOS sur les données de test. Vous avez trouvé, par exemple, 10 CT qui gagnent à la fois sur la formation et sur le test ( OOS ).


Quel est donc le point 2 ?

Il s'agit de la même continuation de l'essayage, mais votre recherche(essayage/recherche/optimisation) est devenue un peu plus profonde ou plus complexe, car vous n'avez plus une seule condition d'optimisation (réussir le stage), mais deux (réussir le test + réussir le stage).

 
fxsaber #:

C'est l'image que voient presque tous les utilisateurs du testeur. Je suis intéressé par l'explication.

Dans cette image, la signification statistique est assez élevée : plus de 3000 positions qui ne se chevauchent pas.

Je suppose qu'il s'agit de l'effet des changements de marché au sein même de Sample. Par exemple, l'échantillon avait un vrai modèle au début, puis plus rien. Mais l'ajustement s'est produit pour l'ensemble de l'échantillon.

Nous devrions d'une manière ou d'une autre éviter de telles ruptures au sein de Sample.


L'effet inverse peut également se produire : à gauche OOS - vers le bas, à droite - vers le haut. En d'autres termes, aucun modèle n'a été trouvé dans le morceau initial de l'échantillon, mais seulement un ajustement.

L'OOS doit toujours être à DROITE.

Si l'OOS est à GAUCHE, il n'y a aucun moyen de garantir que le CT n'est pas surentraîné et qu'il ne regarde pas devant lui. Il s'agit là des premières questions importantes à aborder lors de l'essai d'un CT AVANT toute autre chose.


Lequel avez-vous ? Cela ne fait aucune différence ! Peu importe que ce soit l'un ou l'autre ou les deux. Vous devez tester correctement et basta - OOS à droite.

Il est préférable d'oublier le testeur et de créer des fichiers de test comme suit :


Nous avons deux fichiers.


Le premier fichier est divisé aléatoirement par échantillon en trois parties : formation, test et validation. Étudiez sur un échantillon (aléatoire) de formation, puis vérifiez sur un échantillon aléatoire de test et de validation - ce sont toutes des parties DIFFÉRENTES du premier fichier. Comparez les résultats. S'ils sont à peu près égaux, vérifiez ensuite sur le deuxième fichier "séquence naturelle". S'ils sont approximativement égaux ici aussi, nous obtenons la conclusion principale : notre CT n'est PAS surentraîné et ne regarde PAS vers l'avant. Ce n'est qu'après avoir tiré cette conclusion qu'il est possible de parler d'autre chose : la précision, la rentabilité et d'autres choses, qui sont toutes SECONDAIRES.


Je note qu'il n'y a pas d'autres moyens de vérifier l'anticipation et le recyclage.

 
fxsaber #:

C'est le genre de chose qui se produit. À gauche, l'OOS passe, à droite, il ne passe pas. Et du côté droit, il "plonge" littéralement immédiatement.


Cela se produit la plupart du temps.

C'est-à-dire que la plongée est littéralement importante et immédiate. La nature de cette plongée n'est pas claire. Je pense qu'il devrait s'agir de quelque chose de proche du SB, mais je vois trop souvent ce genre d'image.


J'ai l'impression que si vous exécutez un TC inversé après optimisation, vous ne pourrez même pas drainer.

Le P-hacking (ou data-dredging) est une pratique statistique dans laquelle un chercheur analyse des données jusqu'à ce qu'il trouve un résultat statistiquement significatif. Il peut modifier les paramètres de l'analyse, ne sélectionner que certaines données ou effectuer des comparaisons multiples pour trouver des relations ou des différences significatives dans les données. Cela peut conduire à des résultats faussement positifs et fausser les conclusions scientifiques. Le piratage est une forme de malhonnêteté scientifique et peut conduire à des recommandations et des décisions incorrectes basées sur de fausses prémisses.


***Comme vous le soulignez à juste titre, l'inverse peut également se produire
 
fxsaber #:

Voyez-vous le passage de l'OOS sur la gauche ?

Si la période d'entraînement est réduite, l'inversion de tendance du graphique se produira-t-elle aussi rapidement ?

Je ne connais pas bien les stratégies tick, mais l'un des facteurs de ce comportement est le manque de données comparables pendant l'entraînement, par exemple - l'entraînement était principalement orienté à la baisse sur certains TF.

Je ne sais pas quelle méthode d'apprentissage vous utilisez, s'il s'agit de systèmes d'arbres ou de filtres qui se contentent de limiter la plage d'un indicateur conditionnel (fonction), cela vaut la peine d'estimer le nombre d'exemples qui tombent dans chacune de ces plages.

Une situation possible est la dérive des données et un changement dans la distribution des résultats probables pour le filtre/la liste.

Par exemple, lorsque je sélectionne des segments quantiques sur un échantillon pour l'entraînement, puis que j'estime leur distribution (pourcentage de réponses correctes et incorrectes à la cible 0||1) sur deux autres échantillons, le respect du critère de stabilité sur trois échantillons se situe entre 25 % et 30 % - il est clair que, dans ce cas, le modèle a plus de chances de choisir un prédicteur instable, qui cessera de fonctionner sur l'un des sites.

En fin de compte, tout revient à analyser des régularités simples, c'est-à-dire à chercher des raisons de les considérer comme telles, plutôt que d'observer au hasard la queue d'une comète dans un télescope.

 
fxsaber #:

Voyez-vous le passage de l'OOS sur la gauche ?

Combien de temps le système reste-t-il rentable ?

J'ai rencontré un comportement similaire du système, lorsque sur l'OOS à droite il y a une forte prune, je ne pense pas que cela soit directement lié à un renversement brutal de 180 degrés des modèles de marché trouvés (cela indiquerait des raisons de nature mystique, l'application de pratiques vaudou et en général n'importe quoi plutôt que des problèmes réels comme le recyclage ou l'ajustement, parce que c'est au moins étrange, lorsqu'une forte prune se produit toujours après la fin de l'entraînement). En général, cela est dû à des erreurs dans le code qui provoquent des faux positifs (ou des faux négatifs) comme Max l'a dit plus haut, dont la correction entraîne un comportement aléatoire sur la droite OOS dans le pire des cas (surentraînement) ou une diminution progressive de la rentabilité dans le meilleur des cas (disparition des schémas trouvés et/ou leur changement progressif).

 
Andrey Dik #:

combien de temps le système reste-t-il rentable ?

J'ai rencontré un comportement similaire du système, lorsque sur OOS à droite il y a un plongeon brutal, je ne pense pas que ce soit directement lié à un renversement brutal de 180 degrés des modèles de marché trouvés (cela indiquerait des raisons de nature mystique, l'application de pratiques vaudou et en général n'importe quoi plutôt que des problèmes réels comme le recyclage ou l'ajustement, parce que c'est au moins étrange, quand un plongeon brutal se produit toujours après la fin de l'entraînement). En général, cela est dû à des erreurs dans le code qui provoquent des faux positifs (ou des faux négatifs) comme Max l'a dit plus haut, dont la correction entraîne un comportement aléatoire sur la droite OOS dans le pire des cas (surentraînement) ou une diminution progressive de la rentabilité dans le meilleur des cas (disparition des schémas trouvés et/ou leur changement progressif).

Et si le TS a beaucoup de paramètres ou est très bien ajusté, les creux sont toujours très marqués. Parce qu'il a fonctionné "sur le fil". Un grand nombre de paramètres entraîne des erreurs croissantes, qui s'additionnent. Si l'on se contente de dégrossir la TS et de réduire le nombre de paramètres, elle n'est pas aussi belle dans le testeur, mais elle s'effondre plus facilement.

On peut faire une analogie avec le poker à la martingale. Il y a un grand nombre de positions ratées. Remplacez-les par un grand nombre de paramètres défaillants ou par autre chose. Le résultat est le même.

Parce que le piratage ne résout pas le problème, il le met sous le tapis. En réduisant le biais et en augmentant la variance, et vice versa. Les erreurs sont toujours là, mais cachées.
 

J'ai ajouté la visualisation des graphiques sur les sous-échantillons de tests et d'examens, et j'ai coupé le train - j'ai enlevé le morceau initial pour que les images soient compatibles.

En fait, il s'agit de sections séquentielles dans le temps : train->test->examen.

Après avoir examiné le gif, il apparaît clairement que les échantillons de test et d'examen ont plutôt réduit l'amplitude de l'oscillation que dégagé une tendance dans une direction ou une autre.

Cependant, si vous regardez de près, vous pouvez voir qu'à certaines itérations, il y a une amélioration sur ces échantillons, c'est-à-dire que nous pouvons supposer qu'il s'agit des règles (sous la forme de segments quantiques) qui montrent une stabilité sur différents échantillons. On peut également noter que les différentes sections évoluent différemment d'une itération à l'autre, c'est-à-dire que l'amélioration sur le test n'a pas de corrélation directe avec l'amélioration sur l'examen.

Comme je l'ai écrit plus haut, cela s'explique par le changement du biais de la probabilité d'appartenance à une classe d'un segment quantique individuel.

Les segments quantiques eux-mêmes, en tant que signal pour sauter le signal cible, c'est-à-dire pour l'amener à zéro, ou en d'autres termes pour diviser l'échantillon en deux parties, sont sélectionnés en fonction de l'estimation de leur coût. En d'autres termes, le coût de la réduction des signaux erronés est estimé. À chaque itération, le nouveau calcul est effectué et la variante dont le prix est le plus bas est supprimée.

Voici comment le prix évolue en fonction de l'une des méthodes de calcul. Voici un graphique où chaque point est un segment quantique (l'axe x est un numéro de séquence).

Le résultat changera-t-il de manière significative sur les échantillons de test/examen si le prix est choisi au hasard lors de la première itération ?

 

Entre les itérations 4 et 5, nous pouvons voir comment le sous-échantillon de test perd considérablement le nombre de réponses correctes de la cible, ce qui conduit immédiatement à une divergence (le delta augmente) avec l'échantillon d'examen.