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

 
Maxim Dmitrievsky:

Je pense qu'Alexey a suggéré la puissance de calcul, il aime calculer quelque chose de long, peut-être que vous devriez faire une coopérative :)

R sans vectorisation sera toujours lent. Vous pourriez utiliser une sorte de base de données rapide

J'ai vectorisé les parties lentes, la logique de l'algorithme devrait être optimisée, j'essaie de le comprendre maintenant, j'ai déjà essayé de l'accélérer 5 fois, j'ai réécrit le code...

Les signes sont si peu nombreux, si primitifs, je devrais aussi en faire quelque chose, je n'aime pas la cible...

Oh merde... c'est comme une réparation, l'ego ne peut que commencer...

 
mytarmailS:

Bien sûr que non)), et même si c'était le cas, cela ne m'affecterait en rien).

Essayez-le, mais le résultat sera au mieux le même que pour Random Forest, c'est-à-dire aucun...


La sortie de Forrest est une somme de règles déclenchées, les règles ne sont pas filtrées et rejetées de quelque manière que ce soit, et les règles rejetées sont environ 100 %).

Les règles ne sont pas vérifiées en termes de répétabilité (il peut n'y avoir qu'une seule réponse) ou d'adéquation (est-ce que cela fonctionne) ; les règles sont simplement étendues aux données (le modèle s'adapte aux données).

Le modèle approxime un échantillon d'entraînement de manière aléatoire, en espérant que la validation croisée l'aidera, mais il ne le fera pas pour des raisons objectives (il y a trop peu d'événements importants sur le marché).


J'ai essayé une approche différente : je n'adapte pas le modèle aux données, mais je formule des hypothèses et les vérifie.

1) Je forme des hypothèses plausibles(déjà filtrées) sous forme de règles.

2) Les hypothèses sont testées sur de petites données.

3) Les hypothèses qui ont été testées sur de petites données sont testées sur de grandes données.

En fait, il ne reste qu'une seule règle plausible sur un million.

Il est difficile pour le lecteur non averti de comprendre la différence entre les deux approches, mais la différence entre elles est gouffre

Une sorte de philosophie. Rien de concret...
 
elibrarius:
Une sorte de philosophie. Rien de concret...

Eh bien pourquoi, le chemin est annoncé plus tôt, et tout se passe strictement comme prévu. Générer des règles et les vérifier n'est pas l'approche habituelle où les règles sont sélectionnées en fonction de la logique/des objectifs du problème. C'est-à-dire qu'en général, les règles sont générées pour la solution initiale. Cela conduit à la perte de règles qui ne sont pas logiques mais qui produisent des résultats.

 
elibrarius:
Une sorte de philosophie. Rien de concret...
  • Beaucoup de choses nous sont incompréhensibles, non pas parce que nos concepts sont faibles, mais parce que ces choses ne sont pas dans le cercle de nos concepts.
Valeriy Yastremskiy:

Pourquoi, le chemin a été annoncé plus tôt et tout est strictement comme prévu. Générer des règles et les vérifier n'est pas l'approche habituelle où les règles sont sélectionnées en fonction de la logique/des objectifs de la tâche. C'est-à-dire qu'en général, les règles sont générées pour la solution initiale. Cela conduit à la perte de règles qui ne sont pas logiques mais qui produisent des résultats.

+++

 
mytarmailS:
  • Nous ne comprenons pas beaucoup de choses, non pas parce que nos concepts sont faibles, mais parce que ces choses ne sont pas à la portée de notre compréhension.

+++

Un peu plus de philosophie))

 
Il est courant que ces approches donnent des résultats que l'on peut conventionnellement qualifier d'"anti-hamster", c'est-à-dire que le hamster est vu mais pas vu. C'est tout à fait typique pour les rangées similaires aux implémentations SB.
 
Aleksey Nikolayev:
Il est typique pour de telles approches d'obtenir des résultats que l'on peut conventionnellement appeler "anti-hamster" - ce qui signifie que le hamster est vu mais pas vu. C'est tout à fait typique des rangées similaires aux implémentations SB.

Je ne suis pas d'accord. Le problème du grand nombre de règles et de logiques de sélection est bien là. Les objectifs sont les mêmes dans les deux approches.

Et que la route est complètement fausse, eh bien, nous vérifions les règles et corrigeons le chemin)))).

 

J'ai une autre abstraction MO qui devrait trouver avec précision les vrais modèles (s'il y en a), mais ce n'est pas certain.

Je n'ai pas pu trouver de références maçonniques ou pentagoniennes sur Google, alors je garde le secret pour l'instant.

J'ai eu l'idée de cette abstraction alors que je prenais des graines de tournesol.
 
Maxim Dmitrievsky:

J'ai une autre abstraction MO qui devrait trouver avec précision les vrais modèles (s'il y en a), mais ce n'est pas certain.

Je n'ai pas trouvé de références maçonniques ou pentagoniennes sur Google, alors je garde ça secret pour l'instant.

abstraction inventée en cassant des graines de tournesol

Il me semble avoir oublié : les vrais motifs SB (s'il y en a) ))))

 
Maxim Dmitrievsky:

Je pense qu'Alexei a suggéré la puissance de calcul, il aime faire de longs calculs, peut-être que vous pouvez faire une coopérative :)

Il sera toujours lent sur R sans vectorisation. Vous pourriez utiliser une base de données rapide

D'ailleurs, je pratique cette approche depuis des années.

Cependant, je l'ai un peu repoussé maintenant, car il est vraiment très lent, ce qui rend impossible de changer rapidement de cible (chercher une bonne cible), et les règles individuelles cessent également de fonctionner, quelle que soit la façon dont on les vérifie dans l'historique.

Maxim, pouvez-vous m'aider à créer un script en python qui va créer un modèle (ou 100 modèles) à partir d'un fichier CSV, puis l'analyser sur la validité des prédicteurs avec les outils CatBoost standard, puis interdire/autoriser l'utilisation des prédicteurs (CatBoost peut le faire) sur certaines conditions et créer un nouveau modèle à nouveau. 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 après avoir ajouté/supprimé des prédicteurs, je dois redémarrer manuellement la boucle.