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

 
Aleksey Vyazmikin:

De plus, cette approche est quelque chose que je fais depuis de nombreuses années.

Cependant, je l'ai quelque peu repoussé maintenant, car il est vraiment lent, ce qui rend impossible un changement rapide de cible (recherche d'une bonne cible), et les règles individuelles cessent également de fonctionner, quelle que soit la façon dont vous les vérifiez dans l'historique.

Maxime, peux-tu m'aider à créer un script en python qui va créer un modèle (ou 100 modèles) à partir de données provenant d'un fichier CSV, puis les analyser sur l'importance des prédicteurs par les moyens standards de CatBoost, puis interdire/autoriser l'utilisation des prédicteurs (CatBoost peut le faire) par des conditions définies et créer à nouveau un nouveau modèle. Cette méthode permettra d'attribuer les prédicteurs importants qui conduiront à l'amélioration du modèle. J'utilise une méthode similaire, mais c'est très peu pratique pour moi, car à chaque cycle, après le criblage/ajout de prédicteurs, je dois redémarrer le cycle d'apprentissage manuellement.

pas encore à la hauteur

et je ne crois pas en cette approche (je connais de meilleurs et plus rapides multiples)

 
Maxim Dmitrievsky:

Pas encore.

et je ne crois pas en cette approche (je connais de meilleurs et plus rapides multiples)

L'approche fonctionne - ce n'est pas une question de foi.

Et quelle approche est la plus rapide et la meilleure, comparons l'efficacité !

 
Aleksey Vyazmikin:

La méthode de travail n'est pas une question de foi.

Et quelle approche est la plus rapide et la meilleure, comparons l'efficacité !?

Pour que ce ne soit pas une question de foi, il faut des preuves.

Le retrait d'éléments du modèle modifie leur interaction, de sorte que vous pouvez les réorganiser aussi longtemps que vous le souhaitez.
 
Comme nous le savons - n'importe quel NS, Forest, Boost peut reproduire n'importe quelle fonction de type MA en son sein, et d'autres filtres numériques. Et cela n'aurait aucun sens d'alimenter les mêmes MAs si vous n'alimentez que 50-100 barres.
Dans les réseaux neuronaux profonds, peut-être.
Mais dans les boosts réglementés et les échafaudages, non.
Par exemple, dans katbust, la profondeur d'arbre recommandée est de 6. Cela fait 2^6=64 divisions. Si nous avons besoin de MA30, alors en moyenne chaque barre sera divisée 2 fois (en deux et une des moitiés toujours en deux). Pour reproduire approximativement la MA (avec une erreur de 10%), nous devons faire la division de chaque barre au moins 10 fois. Il s'agit d'une profondeur de 9-10 nécessaire.
Mais une division profonde ne permettra pas à l'arbre de se généraliser.
Ainsi, il s'avère que les arbres peu profonds peuvent généraliser, mais qu'il est impossible d'y reproduire les caractéristiques requises (comme MA). Cela signifie que les MA, les CCI et tout le reste que nous voulons vérifier en tant que caractéristiques doivent être transmis avec les barres.

Je ne suis pas le seul à penser que les barres seules suffisent pour les systèmes d'arbres. S'il y a encore des partisans, je propose de donner leurs arguments.
 
Maxim Dmitrievsky:

Donc ce n'est pas une question de foi, il faut des preuves.

Le retrait d'éléments du modèle modifie leur interaction, de sorte que vous pouvez les réorganiser aussi longtemps que vous le souhaitez.

Définissons ce qu'il faut prouver.

Pourquoi, à mon avis, il peut y avoir un proc de suppression d'un prédicteur, formellement un prédicteur peut passer la sélection comme bon pour la racine (souvent) divisé pour la raison qu'il a de bons indicateurs pour lui - souvent la correspondance avec d'autres prédicteurs améliore le résultat - principe cupide, mais ce principe fonctionne avec l'ensemble des données comme un tout, pas de contrôles sur les caractéristiques spatiales (fréquence de l'occurrence de l'événement à travers l'échantillon en raison de leur résultat), c'est une situation d'agrégation des résultats de l'événement sur 1/5 de l'échantillon par exemple seulement de là il y avait Ou une situation similaire, mais là la raison est différente - même le modèle est stable, mais il s'avère que le prédicteur est bien corrélé avec la cible au moment où la performance financière du résultat de la transaction est principalement trop petite dans le plus ou trop grande dans le moins, et c'est un point très subtil que le modèle ne sait pas comment prendre en compte lors de la formation.

L'objectif est donc non seulement d'améliorer le modèle de classification lui-même sur différents intervalles de temps, mais aussi de l'améliorer en termes de résultats financiers.

 
Aleksey Vyazmikin:

Définissons ce qu'il faut prouver.

Pourquoi, à mon avis, il peut y avoir un avantage à supprimer un prédicteur, formellement un prédicteur peut passer la sélection comme bon pour la racine (souvent) divisée pour la raison qu'il a de bons indicateurs pour lui - souvent la correspondance avec d'autres prédicteurs améliore le résultat - principe cupide, mais ce principe fonctionne avec l'ensemble des dates, il n'y a pas de contrôles sur les caractéristiques spatiales (fréquence d'occurrence des événements dans l'échantillon par rapport à leur résultat), c'est la situation de l'accumulation des résultats des événements sur 1/5 de l'échantillon par exemple seulement de cela il y avait Ou une situation similaire, mais là la raison est différente - même le modèle est stable, mais il s'avère que le prédicteur est bien corrélé avec la cible au moment où la performance financière du résultat de la transaction est le plus souvent trop petite dans le plus ou trop grande dans le moins, et c'est un point très subtil que le modèle ne sait pas comment prendre en compte lors de la formation.

L'objectif est donc non seulement d'améliorer le modèle de classification lui-même à différents intervalles de temps, mais aussi de l'améliorer en termes de résultats financiers.

Je ne suis pas prêt à coder et à soutenir des idées incompréhensibles avec des résultats incompréhensibles.

 
Maxim Dmitrievsky:

pas prêt à coder puis à soutenir des idées peu claires avec des résultats peu clairs

Dites-moi donc que vous ne considérez que vos propres idées comme correctes et dignes de discussion.

 
Aleksey Vyazmikin:

Dites donc que seules vos propres idées sont justes et dignes de discussion.

plutôt raisonnable. Je n'ai rien compris à la description.

J'ai déjà écrit sur le réarrangement insensé des personnages, je l'ai fait il y a quelques années.

 
Maxim Dmitrievsky:

plutôt raisonnable. Je ne comprends rien à la description.

J'ai déjà écrit sur l'inutilité de réorganiser les caractéristiques, je l'ai fait il y a quelques années.

Si vous ne comprenez pas la description, posez des questions, ce qui n'est pas clair - j'essaierai de mieux expliquer.

J'ai fait la même chose il y a quelques années, et j'ai abandonné à cause de l'effort, pas de l'insignifiance.

Vous trouverez ci-dessous un tableau des résultats de l'ancienne expérience, le travail se déroule comme suit :

1. Le nombre de prédicteurs est coupé en 9 morceaux.

2. Des combinaisons entre les morceaux sont créées - 512

3. Ensuite, une estimation est faite de la façon dont les échantillons se comportent en moyenne avec la présence/absence de chaque morceau.

4. Une hypothèse est faite sur la signification du chunk (positif/négatif).

5. Les morceaux importants sont décomposés en morceaux plus petits, et les moins importants sont combinés en un seul morceau (pas nécessairement dans l'ordre).

6. De nouvelles combinaisons 512 sont formées

7. Si un petit morceau affectant négativement l'échantillon est trouvé, il est exclu du dénombrement ultérieur jusqu'à ce que l'amélioration du résultat cesse, puis on peut essayer d'ajouter les morceaux exclus et analyser le résultat de la même manière. Les influences positives, en revanche, sont regroupées en un seul groupe.

Voici un exemple de l'évolution des indicateurs avec 32 itérations de ce type.



La méthode peut bien sûr être améliorée, mais cela nécessite l'expérimentation et les résultats de celle-ci.

Oui, l'amélioration n'est pas multiple, mais les résultats vous permettent également de réfléchir aux prédicteurs qui sont meilleurs ou moins bons pour le résultat et pourquoi.

De plus, je veux essayer de travailler spécifiquement avec les statistiques CatBoost et de supprimer/ajouté des prédicteurs (et leurs groupes) pour la raison même que cela pourrait être plus rapide que le dépassement que j'utilisais précédemment.

Un autre avantage est que trop de prédicteurs conduit à des splits rares, et l'activation des feuilles peut être très rare dans l'échantillon en dehors de la formation (je l'ai montré sur la capture d'écran plus tôt), ce qui diminue délibérément la qualité de la formation et de son évaluation.

 
Aleksey Vyazmikin:

Si vous ne comprenez pas la description, posez des questions sur ce qui n'est pas clair - j'essaierai de mieux expliquer.

J'ai fait la même chose il y a quelques années, et j'ai abandonné à cause du travail que cela impliquait, pas de l'inutilité.

Une perte de temps insignifiante.