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

 
Bogard_11 #:

Leschéma, ou modèle, n'est qu'un. Dès que vous simplifiez n'importe quel mouvement en ABC, vous pouvez trouver toutes les proportions matricielles du modèle. Même sans apprentissage automatique, tout cela peut être facilement calculé à la main. Ranok n'est pas plus compliqué que les cours d'algèbre et de géométrie à l'école.

Un modèle, par exemple, dans les modèles en bois, dont il existe de nombreux modèles, est un arbre. Pour chaque modèle en bois, par exemple, CatBoost trouve plus d'une centaine d'arbres. Pour RandomForest, je dispose de statistiques : jusqu'à 50 arbres, l'erreur de classification diminue, et au-delà de 150 arbres, l'erreur de classification est stable, c'est-à-dire que dans les séries chronologiques que j'ai traitées, le nombre de motifs ne dépasse pas 150.

 
СанСаныч Фоменко #:

Un modèle, par exemple, dans les modèles en bois, qui sont nombreux, est un arbre. Chaque modèle en bois, par exemple, CatBoost trouve plus d'une centaine d'arbres, lire des modèles. Pour RandomForest, je dispose de statistiques : jusqu'à 50 arbres, l'erreur de classification diminue, et au-delà de 150 arbres, l'erreur de classification est stable, c'est-à-dire que dans les séries chronologiques que j'ai traitées, le nombre de motifs ne dépasse pas 150.

Il ne reste plus qu'à formaliser ces 150 modèles en un modèle commun. S'il y a A et B, alors C arrivera à un certain moment dans tel ou tel canard, sinon, le moment et le point seront différents. Il n'existe que trois variantes différentes du développement de C. Tout est déterminé par le TEMPS! Et cela peut être facilement calculé à la main, puis vous pouvez l'intégrer dans un robot, si vous le souhaitez.

P.S. - non seulement la taille de A donne déjà certains niveaux pour le pullback de B (très souvent, le backlash ne dépasse pas 1-3 points). De même, B signale à l'avance les niveaux de prix de C. Il y a beaucoup de mathématiques partout.

A titre d'exemple, un Expert Advisor manuel calcule automatiquement les niveaux à partir du mouvement qui nous intéresse. En d'autres termes, nous tirons sur la vague souhaitée et l'avenir est déjà tracé.

Dossiers :
 
СанСаныч Фоменко #:

Un modèle, par exemple, dans les modèles en bois, qui sont nombreux, est un arbre. Chaque modèle en bois, par exemple, CatBoost trouve plus d'une centaine d'arbres, lire des modèles. Pour RandomForest, je dispose de statistiques : jusqu'à 50 arbres, l'erreur de classification diminue, et au-delà de 150 arbres, l'erreur de classification est stable, c'est-à-dire que dans les séries chronologiques que j'ai traitées, le nombre de motifs ne dépasse pas 150.

En fait, le chemin vers chaque feuille dont la réponse dépasse votre seuil d'ouverture d'une transaction est un modèle.
Par exemple :
1er split : 40 bar delta avec current = 0,
2ème split : 30 bar=100,
3ème split : 20 bar =50,
4ème split : 10 bar 100,
5ème split : 1 bar = 0.
Cela fait 2 sommets avec un creux. Un modèle ? Oui. Le chemin vers 1 feuille le décrit.

Si vous avez 20 feuilles dans votre arbre qui dépassent le seuil que vous négociez, vous avez 20 modèles dans votre arbre que vous utilisez. Les feuilles qui ont moins de succès décrivent également des modèles, mais ils sont aléatoires/perdants.
Les 100 autres arbres peuvent utiliser d'autres jetons/bars avec des valeurs différentes.
Forest fera la moyenne (addition et division par le nombre d'arbres) des réponses de tous les arbres, nous obtiendrons une opinion moyenne sur la situation.
Boost ajoutera simplement un coefficient de pondération/clarification.

 
Bogard_11 #:

Il ne reste qu'unpetit bout de chemin à parcourir pour formaliser ces 150 modèles en un modèle commun. S'il y a A et B, alors C arrivera à un certain moment dans tel ou tel canard, sinon le moment et le point seront différents. Il n'y a que trois variantes différentes du développement de C. Tout est déterminé par le TEMPS! Et cela peut être facilement calculé à la main, et ensuite vous pouvez le mettre dans un robot, si vous le souhaitez.

P.S. - non seulement la taille de A donne déjà certains niveaux pour le pullback de B (très souvent le backlash ne dépasse pas 1-3 points). De la même manière, B signale à l'avance les niveaux de prix de C. Il y a beaucoup de mathématiques partout.

A titre d'exemple, un Expert Advisor manuel calcule automatiquement les niveaux à partir du mouvement qui nous intéresse. En d'autres termes, nous tirons sur la vague souhaitée et l'avenir est déjà tracé.

Il n'y a pas besoin de formaliser quoi que ce soit, tout est fait pour vous.

 
Forester #:

Au contraire, le chemin vers chaque feuille dont la réponse dépasse votre seuil d'ouverture d'une transaction est un modèle.
Par exemple :
1er split : 40 bar delta avec current = 0,
2ème split : 30 bar=100,
3ème split : 20 bar =50,
4ème split : 10 bar 100,
5ème split : 1 bar = 0.
Cela fait 2 sommets avec un creux. Un modèle ? Oui. Le chemin vers 1 feuille le décrit.

Si vous avez 20 feuilles dans votre arbre qui dépassent le seuil que vous négociez, vous avez 20 modèles dans votre arbre que vous utilisez. Les feuilles moins performantes décrivent également des modèles, mais elles sont aléatoires/perdues.
Les 100 autres arbres peuvent utiliser d'autres jetons/bars avec des valeurs différentes.
Forest fera la moyenne (addition et division par le nombre d'arbres) des réponses de tous les arbres, nous obtiendrons une opinion moyenne sur la situation.
Boost ajoutera simplement un coefficient de pondération/clarification.

Un arbre est un arbre et on peut même les imprimer, si je me souviens bien.

Les feuilles, par contre, sont une matière noire. C'est au niveau des feuilles que l'algorithme, avec les stylos du concepteur, cherche un équilibre entre l'erreur de classification et le biais. Il est possible de placer les arbres si profondément qu'ils décrivent exactement l'ensemble des données d'entrée - surentraînement ou suradaptation. Le problème est d'obtenir une classification avec une erreur minimale dans un avenir où nous ne connaissons pas l'ensemble des données d'entrée. Les feuilles sont finies bien sûr, mais elles doivent être approximatives, pas exactement "finies". Par conséquent, un modèle est un arbre.

 
СанСаныч Фоменко #:

Un arbre est un arbre et ils peuvent même être imprimés, si je me souviens bien.

Mais l'affaire des feuilles est sombre. C'est au niveau des feuilles que l'algorithme, avec les stylos du concepteur, recherche un équilibre entre l'erreur de classification et le biais. Il est possible de placer les arbres à une profondeur telle qu'ils décrivent exactement l'ensemble des données d'entrée - surentraînement ou suradaptation. Le problème est d'obtenir une classification avec une erreur minimale dans un avenir où nous ne connaissons pas l'ensemble des données d'entrée. Les feuilles sont finies bien sûr, mais elles doivent être approximatives, pas exactement "finies". Par conséquent, un modèle est un arbre.

Je ne suis pas d'accord. J'ai donné l'exemple d'une feuille d'une profondeur de 5 (la feuille est obtenue par 5 divisions et il s'agit d'un motif). Si vous obtenez une feuille par 200 divisions, vous obtiendrez un modèle sur-entraîné qui ne donnera pas de bons résultats avec de nouvelles données. Mais il ne cessera pas pour autant d'être un motif. Un arbre est un ensemble de motifs.

 
Forester #:

Je ne suis pas d'accord. J'ai donné l'exemple d'une feuille de 5 profondeurs (la feuille est obtenue par 5 fractionnements et il s'agit d'un modèle). Si vous obtenez une feuille par le biais de 200 fractionnements, vous obtiendrez un modèle réentraîné qui ne donnera pas de bons résultats avec les nouvelles données. Mais il ne cessera pas pour autant d'être un modèle. Un arbre est un ensemble de motifs.

Commençons par la cuisinière.

Je considère deux variantes d'arbres : les types bagging et boolean (rf, ada).

L'un ou l'autre de ces algorithmes assez vastes considère les données d'entrée POSSIBLEMENT, sans référence aux lignes voisines. C'est pourquoi l'ensemble d'apprentissage est créé en sélectionnant des lignes au hasard.

Pour chaque ligne, on sélectionne les valeurs des prédicteurs qui permettront de prédire la classe spécifiée par la variable cible (l'enseignant) avec la probabilité la plus élevée.

La combinaison d'un certain nombre de prédicteurs de l'ensemble des prédicteurs d'entrée et de leurs valeurs dans une seule ligne est appelée "modèle".

 
СанСаныч Фоменко #:

Dans une seule ligne, les valeurs prédictives sont sélectionnées pour prédire la classe spécifiée par la variable cible (enseignant) avec la probabilité la plus élevée.

La combinaison d'un certain nombre de prédicteurs de l'ensemble des prédicteurs en entrée et de leurs valeurs sur une ligne peut être appelée modèle.

Vous ne comprenez pas le tuyau de poêle. Il semble que vous n'ayez jamais regardé le code de construction d'arbre.... Il n'y a pas du tout d'opérations à l'intérieur d'une ligne !!!, seulement avec des ensembles (avec des lots complets ou non).

En bref :
Un ensemble aléatoire/complet de lignes transmis à la formation est trié un par un pour chaque prédicteur/colonne. Différentes répartitions sont vérifiées (moyenne/percentile/aléatoire), les statistiques de chacune sont comptées et la meilleure répartition est sélectionnée pour l'ensemble des lignes, et non pour une/chaque ligne comme vous l'avez suggéré.
En fonction de la meilleure division, l'ensemble des chaînes est divisé en deux ensembles, puis chaque ensemble est à nouveau trié et la meilleure division est sélectionnée pour chacune des parties, etc. jusqu'à ce que la règle d'arrêt soit atteinte (par la profondeur, le nombre d'exemples par ligne, etc.)

Vous pouvez voir plus de détails dans l'éditeur, vous avez le fichier :
\MQL5\Include\Math\Alglib\dataanalysis.mqh
La fonction ClassifierSplit() et celle à partir de laquelle elle est appelée.
Vous la comprendrez en quelques heures et vous n'aurez plus à parler de la recherche de prédicteurs par une ligne.
 
СанСаныч Фоменко #:

Il n'est pas nécessaire de formaliser quoi que ce soit, tout a été fait pour vous.

Et quelle est la précision de votre robot sur l'intervalle de plus ou moins trois heures dans le futur ? Je parle du point pivot que votre IA calculera dans le futur. Avec une erreur de plus ou moins 5-10 pips en intraday sur la même livre-dollar, et une erreur de +-1-2 barres sur m5.

Et votre IA sera capable de réaliser à temps que le modèle (pattern) s'est déplacé non pas en fonction du prix, mais en fonction du temps ? Cela signifie que ce n'est pas le premier, mais le deuxième ou le troisième point de calcul qui sera déclenché. :)

Les codeurs sont comme des enfants, si quelqu'un doute des capacités d'un ordinateur (comme si une machine trouvait tout), ils font immédiatement la moue et s'offusquent. ;) Et personne ne peut rattraper le fait que vous ne verrez jamais pourquoi vous ne pouvez pas trouver un algorithme qui fonctionne à 100%. Et tout ça parce qu'il y a un petit détail imperceptible, c'est lui qui donne un signal que les proportions du motif dans le futur vont changer d'une certaine quantité. Mais vous êtes des Hénies et des Dieux du code, il n'est pas honorable de choisir quelque chose (de tout chercher à la main, en comptant sur un papier ou une calculatrice). Il est plus facile de coder des conneries à l'entrée, d'obtenir des conneries à la sortie, puis d'essayer d'optimiser le tout.

Un système mathématique logique et clair a été décrit il y a plus de 100 ans (il fonctionne toujours comme une horloge). Tant en termes d'algèbre que de géométrie. Mais les inventeurs de leurs propres lysapedes sont toujours dans l'abondance....

 
Bogard_11 #:

Un système mathématique logique et clair a été décrit il y a plus de 100 ans (il fonctionne toujours comme une horloge). Tant en termes d'algèbre que de géométrie. Mais il y a encore beaucoup d'inventeurs de leur propre système lysapedes.....

Alors, montrez-nous votre métier...
Pourquoi tous ces mots à la mode ?

Et voyons comment votre TS fonctionne selon une théorie centenaire qui tourne comme une horloge...
Allez, on y va.