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

 
Vladimir Perervenko:

Félicitations.

Terminal : ajout d'une API permettant de demander des données au terminal MetaTrader 5 via des applications utilisantR.

Nous avons préparé un paquet spécial MetaTraderR. Il contient une DLL pour l'interaction entre R et le terminal MetaTrader 5, une documentation et des fichiers r auxiliaires. Le paquet est en cours d'enregistrement dans le dépôtCRAN et sera disponible pour le téléchargement et l'installation dans un avenir proche.

Attendons la suite.

Bonne chance

Ou peut-être même des condoléances, car maintenant il est facile de comparer le travail avec le mql natif sur le big data et de comprendre - quelle merde ce r...).

 
Aleksey Vyazmikin:

Voici une autre façon de représenter le comportement des modèles de l'échantillon - ici par couleur :

TP - classification correcte "1" - vert

FP - erreur de classification "1" - rouge

FN - classification erronée "0" (en fait, il manque "1") - bleu

La taille de l'écran est grande - il est plus intéressant de regarder en cliquant.

Et le gif sur la pression des deux variantes va changer pour plus de clarté.

on peut constater que mes modèles ont très peu d'immersion sur le marché, car il y a beaucoup de bleu - nous devons examiner les raisons de cette inactivité. Je devrais peut-être chercher d'autres moyens d'arrêter l'apprentissage, pas seulement par la précision. Bien sûr, j'aurais fixé des limites à l'exhaustivité et à la précision, mais pour une raison inconnue, cette option d'arrêt de l'éducation n'est pas fournie par les développeurs, ce qui est dommage.

Sauts en raison de recherches dépassant les plages de valeurs

trouvé des prédicteurs intéressants ?

 
Maxim Dmitrievsky:

omissions dues à des caractéristiques dépassant les fourchettes de valeurs

avez-vous trouvé des prédicteurs intéressants ?

Vous pensez donc que de telles valeurs n'ont jamais été rencontrées auparavant dans l'histoire et que c'est pour cela que le modèle en inactivité forme des lacunes, c'est-à-dire que l'échantillon n'est pas assez complet pour l'entraînement ?

Eh bien, mes prédicteurs sont tous intéressants - ils ont été constitués au fil des ans :) Ce qui fonctionne le mieux, je ne le sais pas encore, je travaille actuellement sur un script qui m'aidera à mieux le comprendre, je l'espère.

 
Vladimir Perervenko:

Félicitations.

Terminal : Ajout d'une API pour demander des données au terminal MetaTrader 5 via des applications utilisant lelangage R.

Nous avons préparé un paquet spécial MetaTraderR. Il contient une DLL pour l'interaction entre R et le terminal MetaTrader 5, une documentation et des fichiers r auxiliaires. Le paquet est en cours d'enregistrement dans le dépôtCRAN et sera disponible pour le téléchargement et l'installation dans un avenir proche.

Attendons la suite.

Bonne chance

Très intéressant, nous allons attendre

 

Ce pourquoi les arbres font du bruit...

Dans le graphique, l'axe Y est le numéro de la feuille (arbre binaire), et l'axe X est la chaîne d'échantillonnage (chaîne de test dans ce cas). Les gammes de couleurs dans la légende - valeurs prises modulo, montrent la réponse de la feuille. Le modèle utilise 7 arbres, c'est-à-dire qu'une valeur de chaque feuille arrive sur une ligne, 7 au total, elles sont additionnées puis la fonction logistique est appliquée, par exemple la somme de 0 sera égale à 0,5.

Vous pouvez conclure du graphique que certaines des feuilles n'ont pas été activées dans la période de l'échantillon de test, c'est-à-dire que les situations dans l'échantillon de formation et de test n'ont pas été répétées, vous pouvez également noter une grande concentration de feuilles avec une faible réponse (rouge) qui n'affectent pas significativement le résultat, indiquant plus probablement le bruit ou la désunion des conditions logiquement similaires.

Graphique du modèle sur le marché

Le graphique de la balance de précision

Le modèle est pris à titre d'exemple comme contenant un petit nombre de feuilles (arbres).

 

J'ai essayé d'entraîner un réseau neuronal en Python. Le paquet est scikit-learn, le NS lui-même est sklearn.neural_network.MLPRegressor. Neurones plus de 100, 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. Pas de recherche, dit qu'il n'y a rien, bien que la tâche soit de la même classe que celle générée artificiellement.

 
Yuriy Asaulenko:

J'ai essayé d'entraîner un réseau neuronal en Python. Le paquet est scikit-learn, le NS lui-même est sklearn.neural_network.MLPRegressor. Neurones plus de 100, 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. Ne cherche pas, dit qu'il n'y a rien, bien que la tâche soit de la même classe que celle générée artificiellement.

Ce n'est pas une tâche de la même classe.

Le marché n'est PAS un générateur de bruit.
 
Oleg avtomat:

C'est une tâche qui n'est PAS de la même classe.

Le marché n'est PAS un générateur de bruit.

La question est très discutable.)) Donnez votre modèle, et si c'est possible de le conduire en NS, en même temps et vérifiez si ce tracteur fonctionne).

 
Yuriy Asaulenko:

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 sorte que ce bruit peut théoriquement être prédit. Je l'ai essayé pour quelques comptes à l'avance.

Le résultat est une comparaison de la prédiction avec la réalité en 5 000 points choisis au hasard :


C'est-à-dire que la prédiction est presque parfaite (sur un échantillon artificiel).

Donc, les données ne sont pas aléatoires, comment les expliquer autrement.

 
Yuriy Asaulenko:

C'est un point discutable). Donnez-nous votre modèle, et s'il est possible de le conduire en NS, nous vérifierons si ce tracteur fonctionne).

La question n'est pas du tout discutable. Et c'est exactement ce que dit votre NS, fonctionnant tout à fait sur le générateur de bruit, mais ne fonctionnant pas sur la BP du marché avec son résultat"Pas de recherche, dit qu' il n'y a rien là".