L'Apprentissage Automatique dans le trading : théorie, modèles, pratique et trading algo - page 1344
Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
Si ce n'est pas un secret, sur quels principes la série artificielle est-elle faite ? S'agit-il simplement d'une onde sinusoïdale mélangée au bruit, ou est-ce plus compliqué que cela ?
Comme il y a plusieurs questions dans mon post, je devrais y répondre en une seule fois.
Il s'agit du forum pour le trading, les systèmes de trading automatisés et le test des stratégies de trading.
Comment utiliser l'apprentissage automatique dans le trading : théorie et pratique (le trading et pas seulement)
Yuriy Asaulenko, 2019.02.17 21:01
J'ai essayé de former un réseau neuronal en Python. Le paquet est scikit-learn, la NS elle-même est sklearn.neural_network.MLPRegressor. Plus de 100 neurones, couches cachées -7, entrées -19, sortie 1. La tâche consiste à prédire un processus aléatoire.
La tâche est artificielle, réalisée sur un générateur de bruit et de manière à ce que ce bruit puisse théoriquement être prédit. Je l'ai essayé pour quelques comptes à l'avance.
Résultat de la comparaison entre la prévision et la réalité pour 5 000 points choisis au hasard :
X est la prévision, Y est la valeur réelle. Ils sont tous très proches d'une ligne droite de 45 degrés. C'est-à-dire que la prédiction est presque parfaite (sur un échantillon artificiel).
L'apprentissage est très rapide - 24 époques. Dans le temps, environ 10 secondes.
Je dois dire que j'ai été très surpris. J'ai essayé très fort de cacher les données. Je suis surpris qu'elle l'ait trouvé. En général, proche du mysticisme).
Conclusions : La NS sklearn.neural_network.MLPRegressor est tout à fait utilisable. Je n'ai pas encore essayé le classificateur.
J'ai déjà essayé quelque chose avec le marché, sans résultat jusqu'à présent. Il ne cherche pas, dit qu'il n'y a rien, bien que la tâche soit de la même classe que celle qui a été générée artificiellement.
Je dois dire tout de suite que je n'ai pas inventé la machine à mouvement perpétuel et que je n'ai fait aucun tour, donc si je l'ai fait, ce sera purement dû à mon ignorance.
Au début, un peu de théorie. Les processus aléatoires peuvent être prédits, y compris même à pile ou face. Tout dépend de la formulation du problème de prédiction. Par exemple, la prévision "Il va pleuvoir demain" est correcte à environ 90%. Cependant, vous ne dites pas s'il va pleuvoir le matin, l'après-midi ou en fin de soirée ou s'il risque de pleuvoir toute la journée, car vous n'obtiendrez pas de prévisions fiables.
Il est possible de prédire les séries chronologiques - c'est possible sous certaines conditions. L'une de ces conditions possibles est la nature limitée du spectre de BP - plus le spectre est large, plus l'intervalle de prévision est petit, plus il est étroit, plus l'intervalle de prévision est long.
Les séries chronologiques du marché ont un spectre infini, de sorte que vous ne pouvez pas vraiment prédire le prix pour 5 minutes ou une heure à l'avance. Je ne me suis pas fixé une telle tâche.
Maintenant, préparons les données pour la formation.
1. nous obtenons une série du générateur de nombres aléatoires (RNG) et la transformons en une forme proche de celle du marché. Une telle série a un spectre illimité et il n'est pas réaliste de prédire ses valeurs.
2. nous faisons passer la série par le filtre passe-bas (LPF). Nous avons reçu une série aléatoire ayant un spectre limité et la possibilité de prédire pour n-comptes à l'avance, cependant cette série n'est pas très similaire à celle du marché.
3. Nous générons une série avec M=0 en utilisant le RNG et l'ajoutons à la série après le LPF, après avoir tenu un tambourin. Nous obtenons à nouveau une série proche de celle du marché. Nous utiliserons cette série pour la formation.
4. Comme fonction cible, nous prenons la série de l'étape 2 passée par le LPF et décalée de N échantillons vers l'arrière qui donne la prévision de N échantillons vers l'avant.
Ensuite, les séries d'entrées et de cibles sont envoyées au SN, puis l'entraînement et la vérification des résultats de l'entraînement. Répétez ensuite les étapes 1 à 4, en envoyant la série de l'étape 3 au NS et en comparant la sortie du NS avec une série décalée de N échantillons à l'étape 4.
C'est tout. Pas de merveilles. Tout cela peut être fait sans NS. Ce qui m'a surpris, c'est que le NS l'a fait en quelques secondes, et en seulement 24 cycles d'apprentissage. Et cela avec beaucoup de bruit, vous ne pouvez même pas voir la composante basse fréquence. Incroyable.
Pourquoi ça n'a pas marché avec le marché VR. Tout filtre passe-bas a un retard important et sa courbe est décalée vers la droite par rapport au VR. C'est-à-dire que nous avons un signal BF déjà retardé à chaque point de la série, et donc l'intervalle de prédiction s'avère être plus grand que celui autorisé, et la prédiction devient irréaliste. On ne peut même pas construire une vraie cible pour l'entraînement.
Yuriy Asaulenko:
Le concept de spectre n'est défini que pour un processus stationnaire. Le prix ne l'est pas, ne serait-ce que parce que la dispersion augmente avec le temps.
Le concept de spectre n'est défini que pour un processus stationnaire. Le prix ne l'est pas, ne serait-ce qu'en raison de l'augmentation de la dispersion dans le temps.
C'est du cycle, il y a un aîné dans un jardin, et un oncle à Kiev.
OK, je ne vous empêcherai pas de vendre des tambours Stradivarius.
OK, je ne vous empêcherai pas de vendre des tambours Stradivarius.
Obtenir des prix en Python via un socket presque instantanément (50k enregistrements) en 10 lignes de code
et sur le côté mt5 20
je n'ai pas besoin de libs improvisés pour r. pourquoi est-ce si difficile de le faire soi-même ? Merci pour les sockets natives dans mt5.
je peux ajouter n'importe quelle fonction très facilement, que vous ayez besoin de signaux pour ouvrir des transactions ou autre chose.
Obtenir des prix en Python via un socket presque instantanément (50k enregistrements) en 10 lignes de code
et sur le côté mt5 20
je n'ai pas besoin de libs improvisés pour r. pourquoi est-ce si difficile de le faire soi-même ? Merci pour le fait que les sockets natifs fonctionnent dans mt5.
Tu parles.)
Je vois qu'ils sont passés à Spyder. Ils devraient, c'est mieux que de bricoler votre ordinateur portable.
Juste au cas où. La grille d'un graphique est réalisée par plt.grid().
Bon, d'accord, j'ai pitié. )) Presque tout signal radio est un processus non stationnaire, mais il possède un spectre.
Les amateurs de radio confondent un processus aléatoire avec sa mise en œuvre.
Les amateurs de radio confondent un processus aléatoire avec sa mise en œuvre.
Je ne discuterai pas avec les trolls.
Ouais, c'est ça.)
Je vois que vous êtes passé à Spyder. C'est vrai, c'est mieux que de jouer avec U-notepad.
ZS La grille du graphique est réalisée par plt.grid().
j'ai du bricoler spyder pour le mettre sur bare python, sans anaconda.
j'avais vscode avant, mais il vide la batterie, alors je dois chercher la prise.