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

 
Aleksey Vyazmikin #:

Je n'arrive pas encore à m'y retrouver. Tout se passe dans un seul espace - dans la métrique d'un prédicteur, mais comment prendre en compte les autres ?

Quant à ce qu'il faut faire pour prédire, je pensais utiliser deux modèles : l'un détecte ce qui a été éliminé ou confirme que les données se trouvent dans la zone de "regroupement", et l'autre travaille déjà sur ce qui reste.

Dans l'exemple , il y a 2 prédicteurs, c'est-à-dire que nous changeons la distance dans l'espace à 2 dimensions (calcul de l'hypoténuse). S'il y a 5000 signes, vous mesurerez la distance dans un espace à 5000 dimensions (comment mesurer - voir le code k-means dans Algibe, c'est justement la tâche principale - mesurer les distances, le prendre comme base).
Cela ressemble à la racine de la somme des carrés des cathètes dans tous les espaces https://wiki.loginom.ru/articles/euclid-distance.html.

Si vous voulez vraiment le faire, n'oubliez pas d'ajuster les prédicteurs, de sorte que, par exemple, les volumes de 1...100000 n'avalent pas des deltas de prix de 0,00001...0,01000 dans les calculs.

Comment le détecter? Telle est la question. En particulier sur les données de marché, où il n'y aura pas une séparation aussi claire de la zone bruyante que dans l'exemple. Tout sera bruyant, de 90 à 99 %.

Il peut être plus facile d'utiliser des progiciels prêts à l'emploi pour supprimer les lignes bruitées, peut-être disposent-ils d'un détecteur....

 
Maxim Dmitrievsky #:

https://www.mql5.com/ru/articles/9138

Cela fait un an que personne ne s'est soucié de l'avenir de l'Europe.

J'ai écrit une douzaine ou une vingtaine d'algorithmes de ce type, dont certains ont fait leurs preuves. L'article n'est pas le meilleur en termes de stabilité des résultats, la première galette.

Il n'y a donc rien à discuter, parce qu'il n'y a rien de mieux pour l'instant.


Eh bien, pourquoi il n'y a pas de cas - je pense que python n'est pas encore très répandu parmi les commerçants, de sorte que les gens passent à la discussion active.
Je vais essayer votre approche plus tard sur mon échantillon.

Avez-vous essayé la méthode prête à l'emploi de CatBoost ?

 

sibirqk #:
Они синхронизированы. Я же написал в начале поста - 'выровнял их по датам', что как раз и означает синхронизацию пар по времени.

"Mais malheureusement, selon moi, c'est à nouveau un hasard complet. L'image est un morceau de graphique pour illustrer."

Vous avez raison, ce n'est pas si simple

 
Forester #:

Dans l'exemple , il y a 2 prédicteurs, c'est-à-dire que nous changeons la distance dans un espace à 2 dimensions (calculer l'hypoténuse). S'il y a 5000 signes, vous mesurerez la distance dans un espace à 5000 dimensions (comment mesurer - voir le code k-means dans alglib, c'est la tâche principale - mesurer les distances, le prendre comme base).
Cela ressemble à la racine de la somme des carrés des cathètes dans tous les espaces https://wiki.loginom.ru/articles/euclid-distance.html.

Une compréhension est en train d'émerger - merci - je vais y réfléchir.

Forestier #:

Si vous le faites vraiment - n'oubliez pas d'ajuster les prédicteurs, de sorte que, par exemple, les volumes 1...100000 n'ont pas avalé les deltas de prix 0,00001...0,01000 dans les calculs.

Il est vrai qu'il est nécessaire de normaliser. Cependant, que se passerait-il si on ne les quantifiait pas et qu'on calculait les métriques uniquement en fonction des indices ? :) Et je n'aime pas l'idée de compter à l'aide de cathéters - c'est déjà artificiel.

Cependant, la bonne chose à faire serait de reproduire l'algorithme proposé et de penser ensuite à l'améliorer.

Forester #:

Comment le détecter? Telle est la question. En particulier sur les données de marché, où il n'y aura pas une séparation aussi claire de la zone bruyante que dans l'exemple. Tout sera bruyant, à 90-99 %.

Il peut être plus facile d'utiliser des logiciels prêts à l'emploi pour supprimer les lignes bruitées, qui disposent peut-être d'un détecteur....

En fait, avez-vous regardé la vidéo ? Vers la fin de la vidéo, il est dit que le modèle est construit, qui détecte simplement à quelle zone les données appartiennent, et si elles ne sont pas cumulatives, selon l'échantillon donné sur lequel l'entraînement a eu lieu, le signal est ignoré, si j'ai bien compris. Il est clair que nous avons des données bien plus mauvaises que ce qui est mentionné ici, mais si elles représentent 20 à 30 % de la cible "1", je serai déjà satisfait.

Une autre option consiste à entraîner le modèle à détecter ces exemples exclus en marquant ces lignes dans l'échantillon global.

 
Aleksey Vyazmikin #:

C'est vrai, il faut normaliser. Cependant, que se passe-t-il s'ils ne sont pas quantifiés et que la métrique est calculée uniquement par des indices ? :) Et je n'aime pas l'idée de compter à travers les cathéters, c'est artificiel.

Une puce est quantifiée à 2 quanta, l'autre à 32. Cela ne fonctionnera pas.

Aleksey Vyazmikin #:

En fait, avez-vous regardé la vidéo ? Vers la fin de la vidéo, il est dit que le modèle est construit, qui détecte simplement à quelle zone les données appartiennent, et si elles ne sont pas cumulatives, selon l'échantillon donné sur lequel l'entraînement a eu lieu, alors le signal est ignoré, si j'ai bien compris. Il est clair que nous avons des données bien pires que celles mentionnées ici, mais si elles représentent 20 à 30 % de l'objectif "1", je serai heureux.

Une autre option consiste à entraîner le modèle à détecter ces exemples exclus en marquant ces lignes dans l'échantillon global.

Je ne me suis pas penché sur cette question.
Vous pouvez détecter les exemples exclus sans faire tous ces calculs. Je vous l'ai déjà dit : il suffit d'exclure les feuilles dont la probabilité d'appartenance à l'une des classes est d'environ 50 %.

 
Forester #:

Une puce est quantifiée à 2 quanta, l'autre à 32. Ce n'est pas bon.

Non, ce sera la même place relative - nombre de splitters - fixe pour tous.

Forestier #:

Vous pouvez détecter les exemples exclus sans faire tous ces calculs. Je vous l'ai déjà dit : il suffit d'exclure les feuilles qui ont une probabilité d'environ 50 % d'appartenir à l'une des classes.

Il peut y avoir de nombreuses méthodes différentes. Je suis intéressé par la variante du traitement avant la construction du modèle - car il me semble qu'elle donne moins de variantes de combinaisons de construction, ce qui réduit l'erreur à la conclusion finale - que le modèle final ait été formé avec succès ou non, en général.
En outre, si nous parlons du fait que vous pouvez "jeter" quelque chose, vous devriez mentionner de quels modèles nous parlons. S'il s'agit d'une forêt, doit-on compter le pourcentage de feuilles sans "jeté" ou compter le nombre d'activations de ces feuilles proches de 50% et ne pas réagir au signal si leur seuil est dépassé ?
Quand on fait du bousting, c'est encore plus amusant - des feuilles incertaines au total peuvent faire varier la probabilité dans un sens ou dans l'autre - je continue à vouloir faire un graphique pour montrer comment les poids sont distribués en fonction de la variation de la probabilité, mais je remets toujours ça à plus tard. Pendant trois jours, l'ordinateur prend en compte la similarité des feuilles modèles - je pense à optimiser l'algorithme - trop long....

 
Forester #:
S'il y a 5000 caractéristiques
À une telle dimensionnalité, les algorithmes métriques tels que KNN n'ont guère de sens. En gros, l'ensemble de l'échantillon se trouve pratiquement à la même distance de n'importe quel point et le résultat sera déterminé par de petites déviations aléatoires des distances.
 
Aleksey Vyazmikin #:

Je pense que Python n'est pas encore très répandu parmi les traders, de sorte que les gens passent à une discussion active.
J'essaierai votre approche plus tard sur mon échantillon.

Avez-vous essayé la méthode prête à l'emploi de CatBoost ?

Qu'est-ce que la méthode prête à l'emploi ?
Python est facultatif. J'ai jeté beaucoup de littérature.
Eh bien, je prédis également que tous ceux qui n'ont pas encore commencé, un certain temps sera capricieux, et puis viendra à ce sujet :) peut-être dans 10 ans, peut-être dans 100 ans

C'est comme s'il n'y avait pas d'autres options, il n'y en a tout simplement pas. Il peut y avoir des options avec d'autres réseaux neuronaux, mais le principe est le même - diviser pour régner.
 
Maxim Dmitrievsky #:
Quelle est la méthode prête à l'emploi

C 'est la fonctionnalité.

Maxim Dmitrievsky #:
C'est comme s'il n'y avait pas d'autres options, elles n'existent tout simplement pas. Il peut y avoir des variantes avec d'autres réseaux neuronaux, mais le principe est le même - diviser pour régner.

Il existe différentes façons de diviser/séparer les données et elles ont déjà été essayées dans ce fil de discussion - elles n'ont pas donné de résultats significatifs et ont donc été "oubliées".

Il y a les réseaux bayésiens - à première vue, ils sont intéressants uniquement en raison de leur capacité à restaurer les relations de cause à effet.

 
Aleksey Vyazmikin #:

Voici cette fonctionnalité.

Il existe différentes façons de diviser/séparer les données et elles ont déjà été essayées dans ce fil de discussion - elles n'ont pas donné de résultats significatifs et ont donc été "oubliées".

Il existe des réseaux bayésiens - à première vue, ils sont intéressants en raison de leur capacité à restaurer les relations de cause à effet.

Non, je ne les ai pas essayés. Je verrai ce qu'il en est ce soir.
Ces méthodes dépendent du modèle. Les données ne sont pas séparées ou séparées par elles-mêmes. Je ne sais pas comment l'expliquer. J'ai essayé une fois et j'ai encore eu des problèmes avec les optimiseurs. C'est dans les livres.
Si vous allez à gauche ici, vous perdez un cheval. Si vous allez à droite, vous perdez le dragon à deux têtes.