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

 
Yuriy Asaulenko:


En fait, ils disent qu'il y a beaucoup de neurones sur l'internet et en C++. Mais je ne les ai pas cherchés.


http://www.opennn.net/

https://www.neuraldesigner.com/

OpenNN | Open Neural Networks Library
  • www.opennn.net
The main advantage of OpenNN is its high performance. It is developed in C++ for better memory management and higher processing speed, and implements CPU parallelization by means of OpenMP and GPU acceleration with CUDA.
 
Et pourtant, si j'ai bien compris, il n'y a pas de résultats de trading satisfaisants, pas même sur la démo !
 
elibrarius:

Je commence à explorer les réseaux neuronaux.

Je cherche des options qui peuvent être mises en œuvre directement dans MT5.

Je suis intéressé par la variante utilisant ALGLIB (https://www.mql5.com/ru/articles/2279), mais d'après la description du réseau, il s'agit d'un réseau séquentiel sans rétroaction. Et l'inconvénient est qu'il ne peut être formé que par un seul fil de processeur (qui traite le conseiller expert avec un réseau neuronal).

Je pense qu'il ne serait pas trop difficile d'ajouter 2 couches séquentielles cachées au réseau neuronal de l'article https://www.mql5.com/ru/articles/497, puis de l'entraîner par force brute ou génétique dans le testeur. Mais dans ce cas, vous pouvez utiliser beaucoup plus de fils de calcul (cœurs de votre processeur, dans le réseau et dans le nuage). Est-ce que j'ai bien compris ?

Comment ajouter des instructions manuelles pour les bonnes réponses (lieux d'achat et de vente) dans la formation d'un tel réseau ?

Peut-être existe-t-il déjà une bibliothèque pour les réseaux séquentiels multicouches quelque part ?

De même, je ne comprends pas très bien l'utilité de l'utilisation de couches internes, à des fins de trading sur le marché des changes/des actions. Est-il judicieux de les ajouter ? Pourquoi ?


MLP n'est pas bon pour les prévisions de marché, voir les vidéos ci-dessus, il faut un RNN, c'est-à-dire un réseau avec mémoire.

https://nplus1.ru/material/2016/11/04/recurrent-networks

Азбука ИИ: «Рекуррентные нейросети»
Азбука ИИ: «Рекуррентные нейросети»
  • 2016.11.04
  • Тарас Молотилин
  • nplus1.ru
N+1 совместно с МФТИ продолжает знакомить читателя с наиболее яркими аспектами современных исследований в области искусственного интеллекта. В прошлый раз мы писали об общих принципах машинного обучения и конкретно о методе обратного распространения ошибки для обучения нейросетей. Сегодня наш собеседник — Валентин Малых, младший научный...
 
Renat Akhtyamov:
Et pourtant, il n'y a pas de résultats de trading satisfaisants, même sur la démo !

C'est une question d'optimisation, ce n'est pas la peine de tester toutes les versions pour le moment, je le ferai quand j'aurai tout implémenté.
 
Yuriy Asaulenko:

Une expérience visant à former un réseau de neurones (NS) pour croiser deux MA a échoué. Il a été entraîné à reconnaître uniquement les croisements vers le haut.

Pour l'expérience, le NS - 3,3,3,1 a été sélectionné et testé pour l'entraînement et la reconnaissance de modèles créés artificiellement. Cependant, après avoir appris à reconnaître les MAs, pas un seul croisement n'a été reconnu. La raison en est que le NS a besoin d'images plus contrastées, et ne se soucie pas de toutes les différences de 0,01-0,1 entre les entrées.

Pour une structure donnée de NS, une reconnaissance tout à fait fiable peut être obtenue à une différence de signal non inférieure à 0,2-0,3.


MLP vous tout le temps et va donner un tel gâchis, j'ai déjà expérimenté avec eux, il n'y a aucun moyen de ramasser les couches - puis recycler, puis recycler pas assez de couches, puis leur quantité
 
Renat Akhtyamov:
Je ne vois aucun résultat satisfaisant, même en démo !

Personne ne va passer des mois à développer une stratégie pour ensuite aller s'en vanter sur un compte de démonstration. Ces choses sont échangées sur le marché réel, et l'historique des transactions est caché à tout le monde. J'ai même lu sur le forum que des personnes traitent délibérément avec deux courtiers, en perdant tour à tour sur l'un et en compensant les pertes sur l'autre, de sorte que même le courtier ne sait pas quelles transactions ont été effectuées en utilisant la stratégie et lesquelles étaient fausses.

Il y a des résultats. Parfois, de bonnes combinaisons de prédicteurs et le modèle apportent des bénéfices pendant quelques mois, plus souvent - moins. Mais ils sont remplacés par d'autres.


Mon opinion personnelle - neurones, forêt, régressions - tout cela est trop faible pour le forex. La raison en est que le comportement des prix change tout le temps, les règles qui sont rentables aujourd'hui peuvent ne pas l'être il y a une semaine. Et l'approche standard - prendre les indicateurs et les prix pendant quelques mois et entraîner les neurones - signifie qu'il doit trouver les mêmes règles de comportement des prix pour les deux mois. Et il n'y a pas de telles règles et personne ne sait ce qu'il trouvera, mais il se trompera dans 99 % des cas. Parfois, le modèle peut avoir de la chance et tomber dans ce 1%, mais il est trop loin du graal et de tels conseillers experts tradent généralement bien jusqu'au premier stop loss et peuvent alors être jetés.

J'étudie les modèles de reconnaissance des modèles qui examinent le comportement des prix après des modèles similaires dans l'histoire et utilisent ces statistiques pour le commerce.
Je n'ai pas vu de package en R qui fasse tout ce dont j'ai besoin, j'ai un modèle assemblé au coup par coup à partir d'autres, plus mes propres vélos. Ce qui se rapproche le plus d'une description de modèle se trouve dans un autre fil de discussion, je conseillerais de commencer à construire votre graal avec ceci (citation ci-dessous). De nouveaux problèmes apparaîtront au cours du processus, vous devrez y réfléchir et les expérimenter.

Forum sur le trading, les systèmes de trading automatisés et les tests de stratégie

Analyser les caractéristiques STATISTIQUES les plus importantes d'un modèle et choisir une méthode de trading en fonction de celles-ci.

Vladimir, 2017.04.06 06:20

Recherchez l'indicateur "mon plus proche voisin" dans la base de code. La méthode est assez simple. Définissez la longueur du modèle actuel, trouvez des modèles similaires dans l'historique (par exemple, utilisez la corrélation comme distance entre les modèles), prédisez le comportement futur des prix à partir des modèles passés en pondérant leurs prédictions individuelles. C'est essentiellement la même chose que le clustering, ou le RBF, ou le SVM, ou le GRNN. Tout dépend de la façon dont vous mesurez la distance entre le modèle actuel et les modèles antérieurs similaires. Lisez à propos de GRNN et Bayes. La théorie de la prédiction y est décrite en termes de distributions statistiques. Il y a beaucoup d'écrits sur le GRNN et les méthodes de prédiction mentionnées ci-dessus et tout se résume à une formule simple :


prédiction y = SOMME y[k]*exp(-d[k]/2s^2) / SOMME exp(-d[k]/2s^2)


où y[k] est le kième motif passé, d[k] est la distance entre le kième motif et le motif actuel. Si les distances ont une distribution gaussienne, alors d[k] = (x - x[k])^2. Pour une distribution arbitraire (super gaussienne), d[k] = |x - x[k]|^p, où vous choisissez p selon que vous voulez donner plus de poids aux voisins les plus proches (grand p), ou donner à tous les voisins presque le même poids (petit p) comme dans le socialisme. Avec p=0, nous avons un socialisme total.

Après s'être familiarisé avec les voisins les plus proches et le GRNN, la prochaine question évidente se pose. Comment mesurer la distance entre le modèle actuel et les modèles antérieurs si vous tenez compte des distorsions de l'axe du temps (c'est-à-dire que les modèles antérieurs peuvent ressembler au modèle actuel mais en étant étirés ou comprimés dans le temps). C'est là que réside le problème.


 

Quelqu'un a-t-il essayé la programmation génétique comme méthode de ML ?

Comme Chaos Hunter ?

 
Maxim Dmitrievsky:


Le MLP n'est pas adapté à la prévision du marché, voir les vidéos ci-dessus, il faut un RNN, c'est-à-dire un réseau avec mémoire.

https://nplus1.ru/material/2016/11/04/recurrent-networks

Si je ne me trompe pas, RNN sera extrêmement difficile à mettre en œuvre dans MT5, et de bons résultats nécessitent soit un achat, soit un développement interne avec des coûts de main-d'œuvre énormes.

Si vous envoyez au MLP, en plus des informations sur le prix et les indicateurs de la barre actuelle, les mêmes informations pour les 10-30 barres précédentes, cela constituera une sorte de mémoire. Certains neurones traiteront l'état actuel, d'autres l'évolution de la situation dans un passé proche.

Lors d'un trading manuel, nous regardons également les dernières barres, et pas seulement l'état actuel des indicateurs.

Il est clair que la quantité de calculs va augmenter, c'est pourquoi je me suis intéressé à la possibilité de transférer les calculs d'un cœur à tous les cœurs du processeur, du réseau ou du nuage. Comment cela pourrait-il être fait ? Au moins pour MLP.

 
Nowi:

Quelqu'un a-t-il essayé la programmation génétique comme méthode de ML ?

Comme Chaos Hunter ?

Et comme celle des Chasseurs du Chaos ? Donnez-moi un lien spécifique.
 
elibrarius:

Il est clair que la quantité de calculs va augmenter, c'est pourquoi je me suis intéressé à la possibilité de transférer des calculs d'un cœur à tous les cœurs du processeur, au réseau ou au nuage. Comment cela pourrait-il être fait ? Au moins pour MLP.


Sur OpenCL, pas si vous n'êtes pas paresseux ;)
Raison: