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

 
Dr. Trader:

Les prix ne sont pas introduits dans le modèle sans une certaine forme de conversion.

L'échafaudage pour l'extrapolation prend la valeur connue la plus proche. Neuronc ou la règle dans l'extrapolation va calculer quelque chose selon les formules internes. Mais en fait, tous ces modèles dans cette situation vont fusionner, il n'y a donc aucune différence.

Ils le font sans aucune conversion, mais là n'est pas la question.

La différence est énorme dans l'application technique de ces modèles. Ce n'est pas ce que le drain a à voir avec cela, encore une fois ce n'est pas le sujet.
 

Tout faire en MT n'est pas pratique. La meilleure option à mon avis est Python pour l'apprentissage et l'expérimentation et une DLL avec le chargement d'un modèle entraîné pour la MT. Python a un truc tellement cool pour les expériences Jupiter notebook. Outre l'exécution de code interactif, vous pouvez y prendre des notes, ce qui est pratique pour noter vos réflexions sur un sujet. Vous devez donc choisir une bibliothèque qui peut fonctionner en Python et en C++. Python est facile à apprendre.

 
Grigoriy Chaunin:

Tout faire en MT n'est pas pratique. La meilleure option à mon avis est Python pour l'apprentissage et l'expérimentation et une DLL avec le chargement d'un modèle entraîné pour la MT. Python a un truc tellement cool pour les expériences Jupiter notebook. Outre l'exécution interactive du code, vous pouvez y prendre des notes, ce qui est pratique pour noter vos réflexions sur un sujet. Vous devez donc choisir une bibliothèque qui peut fonctionner en Python et en C++. Python est facile à apprendre.


Tout cela n'a rien à voir avec l'essentiel, à savoir que vous devez tout faire au même endroit où vous négociez, sans tracas inutiles... économiser du temps et des nerfs. Vous devez tout faire au même endroit où vous négociez, sans tracas inutile, ce qui vous fait gagner du temps et vous épargne des nerfs.

Mais python est cool sans aucun doute, R l'a filé - ennuyant sa lenteur. D'après ce que j'ai compris, les pros de l'apprentissage automatique s'assoient exactement sur python, tandis que R est plutôt destiné à l'apprentissage et à l'analyse des statistiques et aux étudiants. Mais là encore, c'est du pipeau, quand on peut le connecter directement.

 

R est, du point de vue d'un programmeur, un langage étrange et différent de tout autre. Oui, pour l'apprentissage automatique, Python est la norme.

 
Grigoriy Chaunin:

R est, du point de vue d'un programmeur, un langage étrange et différent de tout autre. Oui, Python est la norme pour l'apprentissage automatique.

Vous êtes bizarres. Pour l'un d'entre eux, "R, du point de vue d'un programmeur, est un langage étrange et différent de tout autre". De quels programmeurs parlez-vous ? L'autredit "J'ai essayé R - c'est irritant parce que c'est lent" - peut-être l'avez-vous essayé au mauvais endroit ou de la mauvaise façon ?

Vous ne le savez peut-être pas, mais tous les modules Python sont disponibles en R , et donc en MT. De plus, tous les derniers développements géants TensorFlow (Googl), CNTK (Microsoft) et autres ont instantanément offert une API en R et donc en MT. J'ai insisté deux fois : il est aujourd'hui possible d'utiliser toute la richesse des développements de l'apprentissage automatique dans le terminal via R. Il faut comprendre ce que l'on veut faire, avoir des connaissances et des compétences. Tu veux faire ce que tu veux, fais-le.

Le fil de discussion s'est transformé en verbiage inutile. Malheureusement.

Bonne chance

 
Vladimir Perervenko:

Vous êtes étranges. Pour l'un d'entre eux, "R est, du point de vue d'un programmeur, un langage étrange qui ne ressemble à rien d'autre". De quels programmeurs parlez-vous ? Un autredit "J'ai essayé R et c'était très lent" - peut-être essayiez-vous de le tourner au mauvais endroit ou avec un mauvais outil ?

Le fil de discussion s'est transformé en un verbiage inutile. Malheureusement.

Bonne chance


La lenteur de R lui-même, je ne parle pas des paquets. Fonctionne plus lentement que python et plus lentement que MT5. Ou bien il est lent ; comme RStudio, il ne déplace même pas les fenêtres de manière fluide, ce qui signifie qu'il est même lent en soi. Sans parler de VS 2017 en conjonction avec Ropen, il se bloque constamment, incompatibilité des paquets, etc. J'ai peur d'imaginer ce qui se passera si vous utilisez également un paquet pour travailler avec python. De nombreux paquets R sont écrits par Dieu sait qui et peuvent contenir des bogues, il n'y a pas de normes unifiées.

Il n'y a que quelques bons paquets de réseaux neuronaux que vous avez décrits dans votre dernier article et qui fonctionnent très bien sans R. Tout le reste sur le prétraitement et ainsi de suite pour le forex est plus un jeu d'esprit qu'une utilisation efficace des avantages du langage. Eh bien oui, les photos peuvent être évaluées à l'œil, mais dans la plupart des situations, les évaluations numériques pour tous les modèles sont suffisantes. IMHO :)

 
Maxim Dmitrievsky:

Slow R lui-même, je ne parle pas des paquets. Fonctionne plus lentement que python et plus lentement que MT5.

Pas plus lent que MT5... J'ai donné une comparaison plus tôt :

ALGLIB est un frein terrible à l'apprentissage.

A servi 240-50-1 net sur ALGLIB, - a attendu 2 jours, n'a pas attendu et l'a éteint.

J'ai enseigné le réseau 70-5-1 en une demi-heure. L'apprentissage de nnet à partir de R prend moins d'une minute avec les mêmes données.

En outre, R peut vous fournir un calcul parallèle sur tous les cœurs du processeur pour une accélération supplémentaire.
 
elibrarius:

Pas plus lent que MT5... J'ai donné une comparaison plus tôt :


Vous avez donné une comparaison avec un autre NS - ce n'est plus R mais un paquet qui est écrit en pros et bien sûr c'est rapide. Pour un grand réseau, vous avez besoin de l'optimiseur LBFGS, peut-être l'avez-vous utilisé. Les forêts sont joliment rapides dans alglib, par exemple, j'aime ça... et la qualité des modèles n'est jamais pire que dans MLP. Le boosting est certainement inférieur, mais pas trop critique, d'après ce que je peux voir dans les articles sur Internet. C'est-à-dire qu'il y a essentiellement un modèle universel qui est un échafaudage d'arbres, et qui est rapide. Tout le reste, à savoir qu'un autre neurone peut faire quelque chose de mieux, n'a pas encore été prouvé dans la pratique (en relation avec le forex).

Le multithreading n'est pas dans R mais dans les packs de réseaux neuronaux, connectez-vous à mt5 aussi et ce sera un multithreading.

 
Maxim Dmitrievsky:

Vous avez fait une comparaison avec une autre NS - ce n'est pas R mais un paquet écrit en pros et bien sûr c'est rapide. Alglib n'a pas de multithreading dans sa version gratuite, et pour les grands réseaux, vous avez besoin de l'optimiseur LBFGS, que vous avez peut-être utilisé. La forêt est bien rapide dans Alglib, par exemple, j'aime bien... La qualité des modèles n'est jamais pire que dans MLP.

On dirait le même MLP, donc le réseau est le même en structure et en quantité de données. Ce paquet n'utilise pas le multithreading, il lit tout avec un seul thread (j'ai vérifié avec le gestionnaire de tâches).

J'ai comparé les vitesses de LBFGS (environ 40 min.) et de LM (27 min.). D'après les descriptions, LBFGS doit être plus rapide, mais en pratique c'est l'inverse dans ALGLIB.

Vérifié et échafaudage - beaucoup plus rapide que NS (4 min.), et le résultat est à peu près le même. Et ce qui est intéressant, c'est que la régression linéaire compte encore plus vite, avec les mêmes résultats.
Comme quelqu'un l'a écrit ici - tout est question de fonctionnalités.

 
elibrarius:
Il semble que ce soit le même MLP, donc le réseau est le même en structure et en quantité de données. Ce paquet n'utilisait pas le multithreading - j'ai tout lu dans un seul fil (je l'ai vérifié dans le gestionnaire de tâches).

J'ai comparé les vitesses de LBFGS (environ 40 min.) et de LM (27 min.). Selon les descriptions, LBFGS devrait être plus rapide, mais en pratique, ALGLIB est le contraire.

D'après ce que j'ai compris, vous pouvez définir 1 ou 2 époques, car il converge presque toujours la première fois... peut-être était-ce un oubli ? bien que je ne l'aie pas utilisé depuis un moment, je pourrais être confus.

Raison: