Apprentissage profond, IA, réseaux neuronaux dans SQ4
14 réponses
Mark Fric
il y a 6 ans #233156
J'aimerais ouvrir une discussion à ce sujet, sur ce qu'il faut faire et comment l'intégrer / l'utiliser avec SQ4.
Nous prévoyons actuellement de développer un module de réseau neuronal personnalisé qui sera capable d'entraîner le réseau neuronal à produire des signaux de négociation.
Comment cela fonctionnera du point de vue des utilisateurs :
- L'utilisateur configure les entrées - liste des signaux/indicateurs à utiliser dans le NN, certaines propriétés du NN, données de backtest, etc.
- SQ4 entraînera le NN sur les données historiques à l'aide de l'évolution génétique.
- Le résultat sera une stratégie avec un code source complet qui utilise des réseaux neuronaux entraînés qui produisent des signaux pour acheter/vendre/tenir/sortir. La stratégie peut être utilisée dans Mt4 ou d'autres plateformes de trading.
Nous avons préparé le 50%, qui devrait être assez simple à utiliser.
Je suis ouvert à la discussion sur ce que vous attendez de l'apprentissage profond et sur la façon dont il devrait fonctionner avec SQ4.
Notre implémentation décrite ci-dessus est une solution "fixe" avec peu de personnalisations possibles. Nous ne sommes pas opposés à l'intégration de SQ avec TensorFlow ou une solution similaire, afin de fournir plus de flexibilité au processus d'apprentissage profond.
Nous devrions simplement déterminer comment l'intégrer - ce qu'il faut faire de la part de SQ pour qu'il fonctionne et soit aussi flexible que possible.
Marque
StratégieArchitecte de Quantités
FILIPE BONALDO ACERBI
il y a 6 ans #233195
Bonjour Mark,
C'est un très bon sujet. Je souhaite partager mon expérience sur NN.
L'année dernière, j'ai implémenté un perceptron multicouche supervisé en mql4 avec une méthode d'apprentissage par rétropropagation. Mes données d'entrée sont les plus hauts, les plus bas et les prix de clôture des X dernières barres, plus un autre indicateur de prix comme les moyennes mobiles. Ainsi, par exemple, à chaque nouvelle barre, l'EA reçoit en entrée du NN les 10 dernières barres de prix (haut, bas et clôture). Le résultat attendu sera 1 si le prix futur atteint le TP (+2 ATR à partir du dernier cours d'ouverture) et -1 si le prix futur atteint le ST (-2 ATR à partir du dernier cours d'ouverture).
Le NN s'exécute pour chaque barre et j'ai testé pendant une longue période, mais le résultat final est que le NN ne s'est pas entraîné et n'a pas d'avantage.
Après quelques recherches, j'ai découvert que le NN ne s'entraînait pas lorsque le marché présentait des configurations multiples ou des configurations de bougies et, dans ce modèle que j'ai construit, je présentais plusieurs configurations au NN et c'est la raison pour laquelle le NN ne s'entraînait pas. C'est pourquoi le NN ne s'entraînait pas. Parce que chaque modèle a son avantage. L'idéal est de ne présenter qu'un seul modèle pour chaque NN et d'essayer d'entraîner ce modèle spécifique.
Nous devons donc d'abord classer les modèles similaires et introduire un modèle spécifique dans le NN pour voir s'il peut être entraîné.
J'ai donc trouvé une nouvelle approche à mettre en place et j'y travaille pour l'instant. La première tâche consiste à regrouper les motifs similaires. J'ai trouvé un bon algorithme appelé BIRCH clustering (balanced iterative reducing and clustering using hierarchies) pour classer les motifs. Avec BIRCH clustering, je peux filtrer les motifs similaires comme dans le graphique ci-joint.
Comme nous pouvons le voir, chaque rectangle est un modèle spécifique et je pense que c'est la meilleure façon d'implémenter NN.
Après avoir classé les motifs, nous les présentons à un NN pour voir s'il peut entraîner ce motif spécifique.
devonkyle
il y a 6 ans #233221
Tensorflow serait intéressant ou l'une des variations de Tensorflow Lite ou Keras. Je préférerais de loin voir une intégration d'autres paquets Python comme scikit-learn. Les méthodes Random Forest et Ensembles fonctionneraient bien avec GP. Pymc3 pour la modélisation bayésienne serait un ajout intéressant (pour la version 5 ou 6 :))
A-t-on déjà discuté de la tarification de la mise à jour de la version 3 vers la version 4 ou s'agit-il plutôt d'attendre et de voir pour l'instant ?
Les globes terrestres
il y a 5 ans #233481
Je pense qu'en l'état actuel de ce que l'on appelle l'IA, il est préférable de l'intégrer dans le processus de recherche de stratégie plutôt que dans la prise de décision en matière de négociation.
Je n'ai vu aucune preuve de l'apprentissage automatique, de l'apprentissage profond, etc. pour faire des profits sur des comptes réels.
drayzen
il y a 5 ans #233629
Bonjour Mark,
J'ai récemment trouvé ce générateur d'EA de BJF (http://eagenerator.com/) qui, semble-t-il, n'est que le Hlaiman (http://hlaiman.com/) reconditionné à un prix beaucoup plus élevé...
Il existe un EA de démonstration et un indicateur sur MQL5.com, ainsi que des articles du créateur sur son utilisation : https://www.mql5.com/en/search#!keyword=hlaiman
Voici leur documentation : http://hlaiman.com/download/EA%20Generator/Using%20EA%20Generator%20EN.pdf
J'ai remarqué qu'il y avait aussi pas mal d'articles sur les sujets neuronaux : https://www.mql5.com/en/search#!keyword=neural
C'est sans doute une meilleure utilisation du temps que de lancer des dés... 😉
... l'extraterrestre ne se préoccupe pas de l'opinion des humains ...
développeralgo222
il y a 5 ans #235124
Pourquoi pensez-vous que DL dans SQ4 ne fonctionnerait pas ? Quelle est votre expérience en matière d'IA ? Tout dépend de la manière et des algorithmes que vous utilisez pour mettre en œuvre votre architecture. L'IA en elle-même nécessite une connaissance approfondie de ce que vous faites et de ce que vous voulez accomplir.
Se contenter de mettre au point des algorithmes d'IA à moitié construits (généralement des algorithmes superficiels supervisés) pour résoudre le problème du domaine commercial est une idée de novice.
L'IA fonctionne si vous avez les bonnes connaissances et si vous l'utilisez correctement, sinon c'est comme tirer à la mitrailleuse en étant aveugle et en espérant atteindre votre cible.
ytu
il y a 5 ans #234129
Bonjour Mark,
Avez-vous pensé à ENCOG Machine Learning ? Il contient une bibliothèque JAVA (voir ce lien - https://github.com/encog).
Puisque SQ est également basé sur JAVA, peut-être que les deux peuvent se mélanger et se compléter mieux que Phyton, ou d'autres paquets.
ENCOG existe depuis de nombreuses années et s'est avéré très stable et rapide. En ce qui concerne les séries temporelles, il dispose de RNN.
clonex / Ivan Hudec
il y a 5 ans #235145
encoche 😀 😀 😀 😉
mikeyc
il y a 5 ans #235350
Je pense qu'il vaut mieux consacrer ses efforts à rendre SQ4 totalement fiable et exempt de bogues comme il l'est actuellement.
Les techniques NN et autres techniques ML non linéaires ne feront qu'ajouter des ajustements de courbes dans de nombreux cas.
tightpips
il y a 5 ans #235364
Il s'agit d'une excellente idée et d'une conversation. J'aimerais voir comment l'implémentation de ce module fonctionnera avec SQ4, l'utilisation et l'interface utilisateur de MS Azure ML est quelque chose à examiner.
mattedmonds
il y a 3 ans #268795
La situation a-t-elle évolué au cours des deux dernières années ?
Aram Mohammed
il y a 2 ans #274233
Je suis très curieux de voir cette fonctionnalité mise en œuvre dans SQX. Y a-t-il eu des progrès dans ce sens récemment ?
Arvid Mock
il y a 1 an #279615
Bonjour l'équipe Strategyquant,
Avez-vous terminé le développement de l'intégration des réseaux neuronaux dans SQ ?
Merci de votre réponse.
Salutations Arvid
tom
il y a 1 an #279799
Oui, toute mise à jour serait très appréciée.
Keelan Brettner
il y a 1 an #280238
J'ai hâte ! C'est fait ? Comment l'obtenir, j'essaye de mettre en place quelque chose pour mt5 car mon courtier a des conditions personnalisées incroyables.
tomas262
il y a 1 an #280250
Bonjour,
Les réseaux neuronaux / l'apprentissage profond à couches multiples ne font pas partie de SQX pour l'instant, mais nous prévoyons de les mettre en œuvre à l'avenir. Nous ne pouvons cependant pas promettre de date de mise à disposition.
Affichage de 15 réponses de 1 à 15 (sur un total de 15)