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

 
Maxim Dmitrievsky:

Il est clair que ce n'est pas un crétin. Le test est simple, mais il est probablement périmé.

Si c'est comme dans Idiocracy, ça va aussi s'avérer compliqué ;))

 
Rorschach:

Si c'est comme dans Idiocracy, ce sera également difficile ;))

Je peux penser à beaucoup de personnes que je connais ou à des concurrents locaux qui n'y arriveront pas.

 
Aleksey Vyazmikin:

S'il donne une prédiction pour une barre ou plus, ce n'est pas suffisant pour prendre une décision, ce n'est pas beaucoup mieux qu'un MA. Alors que l'on s'intéresse aux écarts par rapport à cette MA théorique des gains.

aussi loin que tu ailles, aussi loin que ça aille.

J'ai bricolé le rnn avec le testeur ce matin - c'est un recyclage sur les incréments. Sur le train, c'est bon, mais sur le testeur, c'est mauvais.

Je n'en ai pas besoin si les résultats ne sont pas meilleurs que ceux de la forêt. ) Catbust, d'ailleurs, est capable de montrer une image plus intéressante. En général, c'est une chose cool, mais ça ne sert toujours à rien.
 

Neural Network Porn... Je mettrai bientôt en ligne la deuxième partie avec les conclusions, sur le RNN (GRU).

ч.2. Test normal à la fin de la vidéo. Avant cela, je ne voulais pas m'entraîner correctement.


Et un petit récapitulatif de la façon dont la même chose fonctionne avec le catbust, où le résultat est meilleur :


 
Maxim Dmitrievsky:

Neural Network Porn... Je mettrai bientôt en ligne la deuxième partie avec les conclusions, sur le RNN (GRU).

ч.2. Test normal à la fin de la vidéo. Avant cela, je ne voulais pas m'entraîner correctement.


Et un petit récapitulatif de la façon dont la même chose fonctionne avec le catbust, où le résultat est meilleur :


Vous n'utilisez pas Numba pour l'accélération ?

 
Rorschach:

N'utilisez-vous pas Numba pour accélérer les choses ?

Les boucles elles-mêmes sont rapides sans cela, jusqu'à présent je n'en ai pas besoin.

Si possible, la vectorisation est partout, tout y est rapide.

Défaut évident de la Z.I. - on ne peut pas enseigner par la perte de logarithme ou l'entropie croisée, il faut au moins ajouter une métrique. Je viens juste de le réaliser. Pour cette raison, les résultats ne sont pas très bons, très probablement.

L'invitation vient-elle de l'ODS ? Il y a peut-être d'autres moyens, il faudra que je demande.
 
Maxim Dmitrievsky:

les boucles elles-mêmes fonctionnent rapidement sans cela, jusqu'à présent, aucun besoin

si possible, vectorisation partout, tout y est rapide

Défaut évident de la Z.I. - on ne peut pas enseigner par logloss ou par entropie croisée, il faut au moins visser une métrique de précision. Je viens juste de le réaliser. Pour cette raison, les résultats ne sont pas très bons, très probablement.

avez-vous reçu l'invitation de l'ods ? peut-être y a-t-il d'autres moyens, je vais devoir demander

Parfois, les tableaux numpy prennent plus de temps à calculer que les listes python. J'ai également remarqué que le fait d'envelopper le code dans une fonction entraîne une accélération.

N'étant pas encore arrivé, je ne sais pas quand sera ma prochaine visite en Nouvelle-Écosse.

 
Rorschach:

Sur ,je constate parfois que les tableaux numpy prennent plus de temps à être évalués que les listes python. J'ai également remarqué que le fait de placer le code dans une fonction permet d'accélérer le processus.

Je ne l'ai pas encore fait, je ne suis pas pressé, je ne sais pas quand la prochaine course en Nouvelle-Zélande aura lieu.

c'est bizarre. Probablement en comptant élément par élément au lieu de vecteur par vecteur.

nampai comme sur les plus devrait voler, avec un petit overhead
 
Maxim Dmitrievsky:

c'est bizarre. Probablement en comptant élément par élément au lieu de vecteur par vecteur.

Nampai comme les plus devrait voler, avec un peu de surenchère.

Oui, si vous devez le faire en boucle.

J'ai compté quelque chose comme 500 fois pour le numba, mais ce n'est pas exact. Vous devez mettre ce code dans une fonction et y mettre @njit. @vectorize fonctionne à la vitesse de @njit, donc il n'y a pas de raison de le bidouiller, seulement si vous comptez sur le gpu. Mais le gpu est encore plus problématique, les tableaux ne peuvent pas être déclarés à l'intérieur de la fonction et le code doit être sans boucle, sinon il sera très long.
 

Et voici comment le catbust a été entraîné sur les mêmes données (en 5 secondes)

52 : learn : 0.7964708 test : 0.7848837 best : 0.7860866 (27) total : 604ms remaining : 5.09s

Ensemble de données source :

Modèle entraîné (la seconde moitié de la transaction est l'échantillon de test) :


Pas toujours, bien sûr, en fonction de l'échantillonnage (et il est aléatoire, c'est-à-dire qu'il nécessite un sur-échantillonnage). Parfois comme ça :

34 : learn : 0.5985972 test : 0.5915832 best : 0.5927856 (9) total : 437ms remaining : 5.81s