Trouver un ensemble d'indicateurs pour alimenter les entrées du réseau neuronal. Discussion. Un outil d'évaluation des résultats. - page 10

 
marketeer писал(а) >>
... L'adaptation implique un ajustement à la suite de tests, et ici le système fini est simplement testé par rapport à cette suite...
Ajuster à un ensemble de tests ou comparer à un ensemble de tests - je ne vois pas la différence. IMHO
 
rip >> :

Fonctionne très bien sur les attracteurs :) Je ne l'ai pas essayé sur des photos. Je pense que la question est la structure de la rangée. Je ne l'ai pas pré-traité.

Si je le trouve, je vous l'enverrai. C'est Delphi, cependant...

 
TheXpert >> :

J'ai tâté le terrain, mais dans un domaine d'application complètement différent. Au fait, je n'ai pas réussi à faire fonctionner l'ACP non linéaire. Et le linéaire est trop faible, je pense.


Dans l'espace étendu du théorème de Mercer, essayez d'appliquer vos données et de résoudre le même problème, ce qui correspond au thème de l'association dans les réseaux neuronaux abordé ici.

 
joo >> :
Ajuster à un ensemble de tests, ou comparer à un ensemble de tests - je ne vois pas la différence. IMHO

Il y a une différence, et une grande différence (au niveau de l'algorithme et des résultats). Mais restons-en à nos opinions. Si quelqu'un est intéressé, veuillez me contacter en personne.

 
TheXpert >> :

Si je le trouve, je vous l'enverrai. C'est Delphi, cependant...

Je vous en serais reconnaissant. Je pense que la question portait sur le prétraitement. Je ne l'ai pas fait, car je ne faisais que vérifier le fonctionnement du réseau.

 
mettre en place Deductor Academic (http://www.basegroup.ru/download/deductor/ ), bien sûr à des fins académiques . Effectue des analyses de corrélation et de facteurs, dessine des cartes de Kohonen. Peut faire beaucoup d'autres choses... à trouver comment et quoi.
 
iliarr >> :

Salutations à tous les participants et visiteurs du forum.


Je souhaite proposer à toutes les personnes intéressées de discuter et de rechercher un ensemble d'indicateurs les mieux adaptés pour alimenter les entrées des réseaux neuronaux.

Si vous voulez estimer la rentabilité du neuronet dans mon programme, vous pouvez l'utiliser comme un outil, je peux aussi placer un Expert Advisor MQL4 avec un neuronet entraîné. Dans des limites raisonnables, bien sûr.


J'ai écrit moi-même (en java) un perseptron avec un nombre arbitraire de couches et de neurones dans chaque couche. Je l'entraîne avec un algorithme génétique de la bibliothèque JGAP (http://jgap.sourceforge.net/).

Le nombre de neurones dans la première couche est égal au nombre d'entrées et dans la deuxième couche - arbitrairement, dans la troisième couche 1 neurone. Le neuronet produit des signaux de trading (sortie du neuronet >0,5 - achat, sortie du neuronet<-0,5 - vente). Les signaux sont traités par un testeur de trading auto-écrit qui, sur la base du signal du neuronet, inverse la position (ou entre sur le marché, si aucune position n'est ouverte). La fonction cible de l'algorithme génétique est le bénéfice résultant. Une telle approche, à mon avis, nous permet de minimiser toutes les erreurs possibles et de rendre la formation aussi proche que possible du trading réel. J'exporte le réseau formé dans MQL4 Expert Advisor et le teste dans le testeur de stratégie de MT4. Je forme les entrées pour le réseau neuronal dans l'indicateur MT4 et les télécharge dans un fichier. L'indicateur et le conseiller expert sont formés par le programme et sont écrits dans les fichiers (moins de confusion et moins d'erreurs).

Pour moi, les réseaux à 4 couches ne donnent pas plus de bénéfices (généralement moins) que les réseaux à 3 couches, mais ils sont plus longs à former.
J'ai entraîné un réseau 8-10-1 pendant 4 jours sur un Core2 Quadro 2.3. 10 fils parallèles avec différentes populations initiales en compétition pour voir "qui a le plus de profit". 4 jours ont passé, environ 4000 générations avec 200 chromosomes dans une population. Le profit maximum a été obtenu dans les 2000 premières générations, au-delà, le profit n'a pas augmenté. La plus forte augmentation des bénéfices a été enregistrée dans les 100 premières générations.

J'ai vérifié les résultats de ce réseau dans le testeur de stratégie MT4. J'ai découvert que le réseau n'atteint presque jamais le seuil de +-0,5 et que le signal de transaction n'est pas déclenché. La raison n'est pas claire, c'est-à-dire que j'ai vérifié l'exactitude de l'exportation vers MQL4 (avec les mêmes valeurs d'entrées en Java et en MQL4, le réseau donne les mêmes valeurs, peut-être que tout le flux entrant aurait dû être soumis, et non des valeurs aléatoires). J'ai abaissé le seuil à 0,4 et cela semble fonctionner... Puis j'ai découvert que le Conseiller Expert ne peut pas ouvrir une position en une seule fois... Mon conseiller expert fermera la barre et le prix aura le temps de bouger avant la prochaine barre. Sur la période d'apprentissage (j'apprends du 1-08-09 au 1-10-09) le profit dans MT4 était inférieur à celui de mon testeur, sur la période de test dans MT4 (1-10-09 au 1-11-09), le net était profitable. J'ai regardé quels étaient les points d'entrées non rentables et j'ai eu l'impression que les données qui entrent dans le réseau neuronal ne contiennent pas suffisamment d'informations...

Réseau neuronal d'entrée I : (k=100)

Je comprends le fonctionnement des indicateurs, mais je ne les comprends pas assez, ainsi que le marché, pour choisir moi-même un nombre minimal d'indicateurs...

J'ai cherché sur le forum et j'ai trouvé (l'auteur du post dont j'ai pris l'idée, malheureusement, je ne me souviens plus) :

étudié dans 10 threads, 200 générations, taille de la population 200 pour la période du 1-08-09 au 1-10-09 (mon testeur java donne les résultats)
réseau 9-10-1 : profit 10521
9-20-1 net : bénéfice 10 434
9-30-1 réseau : profit 10361
9-50-1 réseau : profit 10059
le résultat est bon, mais il semblait être meilleur avec la version précédente... je vais devoir le mettre avec les entrées précédentes (je n'ai pas sauvegardé les résultats de la dernière formation)

Des multiplicateurs supplémentaires sont nécessaires pour ajuster les valeurs comprises entre -1 et +1.


Après avoir lu ce que j'ai écrit, j'ai commencé à penser à une erreur possible dans l'exportation du réseau neuronal formé vers le conseiller expert - il devrait être testé à nouveau.

P.S. Je suis en train d'écrire un réseau neuronal récurrent de structure arbitraire (si je comprends bien, le réseau neuronal récurrent prend en compte non seulement la valeur, mais aussi l'angle de pente).


Parmi ces brillants théoriciens des réseaux neuronaux, j'apparaîtrais probablement comme le mouton noir. Mais quelqu'un doit faire des hamburgers et quelqu'un doit les manger. Je vais donc me risquer à donner quelques conseils intéressants. Vous pouvez utiliser deux indicateurs Force Index.mq4( période 3.53), DeMarker.mq4( période 3.53) pour former le réseau neuronal et relier les changements de ces indicateurs au flux temporel normal - le temps sera le troisième indicateur. Les indicateurs sont simples et prédisent les changements sur le marché avec une fiabilité de 100%. Dans l'indice de force, entrez le niveau 0.0, et dans le DeMarker, entrez les niveaux 0.1 et 0.9. Il est clair que dans le code de ces indicateurs, nous devons changer la dimension des périodes de int à double.

 
Avelox >> :

Parmi ces brillants théoriciens des réseaux neuronaux, j'apparaîtrais probablement comme le mouton noir. Mais quelqu'un doit faire des hamburgers et quelqu'un doit les manger. Je vais donc me risquer à donner quelques conseils intéressants. Vous pouvez utiliser deux indicateurs Force Index.mq4( période 3.53), DeMarker.mq4( période 3.53) pour former le réseau neuronal et relier les changements de ces indicateurs au flux temporel normal - le temps sera le troisième indicateur. Les indicateurs sont simples et prédisent les changements sur le marché avec une fiabilité de 100%. Dans l'indice de force, entrez le niveau 0.0, et dans le DeMarker, entrez les niveaux 0.1 et 0.9. Il est clair que dans le code de ces indicateurs, nous devons changer la dimension des périodes de int à double.

tant de temps a passé... J'ai écrit mon algorithme génétique, j'ai fait un réseau récurrent de propagation vers l'avant avec une rétroaction de toutes les couches ultérieures vers toutes les précédentes... mais je n'ai pas fait l'exportation des nouvelles neuristiques dans mql4... Je ne l'ai pas encore fait... Si je le fais, je garderai vos indicateurs à l'esprit. :)