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

 
Roffild:

Je répondais à la question "pourquoi avons-nous besoin de Spark ?".

Vous avez prouvé la nécessité du système de quelqu'un d'autre, mais vous n'avez pas pu montrer ce que vous pouvez personnellement faire avec votre bibliothèque et répondre à ma question spécifique, et il y a une tâche de compétences de niveau d'entrée. https://www.mql5.com/ru/forum/86386/page1033#comment_8211170

En fait, le motif contient des signaux de stratégie simple sur le croisement des moyennes mobiles - EMA 9 et EMA 14, légèrement bruités, pour augmenter la rentabilité).

Je publie le modèle de réponse complet - solutions avec signaux initiaux, superposition d'indicateurs et exécution visuelle dans le testeur de l'un des EA formés sur les signaux ci-dessus.

Je colle EA_EURUSD_H1_NN - basé sur un réseau neuronal, EA_EURUSD_H1_RF - sur des forêts aléatoires,

Les Expert Advisors sont testés sur le serveur EURUSD H1 MetaQuotes-Demo, les graphiques de test appropriés sont présentés ci-dessous.

...neuronet


...forêts aléatoires

Sur les deux graphiques, il y a une période d'entraînement, c'est-à-dire la période des signaux d'entraînement, voir le modèle.

Машинное обучение в трейдинге: теория и практика (торговля и не только)
Машинное обучение в трейдинге: теория и практика (торговля и не только)
  • 2018.07.29
  • www.mql5.com
Добрый день всем, Знаю, что есть на форуме энтузиасты machine learning и статистики...
Dossiers :
 
Ivan Negreshniy:

Vous prouviez la nécessité du système de quelqu'un d'autre, mais pour montrer ce que vous pouvez personnellement faire avec votre bibliothèque et répondre à ma question spécifique, et il y a une tâche pour les compétences de niveau d'entrée. https://www.mql5.com/ru/forum/86386/page1033#comment_8211170

En fait, le motif contient les signaux d'une stratégie simple sur le croisement des moyennes mobiles - EMA 9 et EMA 14, légèrement bruités, pour augmenter la rentabilité).

Je colle le modèle complet de la réponse - solution avec signaux initiaux, indicateurs superposés et exécution visuelle dans le testeur d'un des conseillers experts formés sur les signaux ci-dessus.

Je mets EA_EURUSD_H1_NN - basé sur un réseau neuronal, EA_EURUSD_H1_RF - sur des forêts aléatoires,

Les conseillers sont testés sur le serveur EURUSD H1 MetaQuotes-Demo, ci-dessous les graphiques de test correspondants.

...neuronet


...forêts aléatoires

Sur les deux graphiques, la période d'entraînement est marquée, c'est-à-dire la période pendant laquelle il y a un signal d'entraînement, voir le modèle.

NN c'est ta grille secrète ?

et les caractéristiques sont exactement les mêmes ?

 
Maxim Dmitrievsky:

NN, c'est ta grille secrète ? Les différences sont grandes.

et les caractéristiques sont exactement les mêmes ?

Oui, mais le but est différent - mettons-nous d'accord sur les formats et échangeons des informations sur les OI pour le commerce, sinon nous n'aurons aucun progrès, seulement un repli aveugle.

PS : Les caractéristiques dans les deux EAs sont comptées par la barre OHLC, et leur nombre et formule de calcul, sont identiques.

 
Ivan Negreshniy:

Oui, mais le but est différent : convenons des formats et échangeons des informations sur les OI pour le commerce, sinon nous ne ferons aucun progrès, seulement des coups bas, du style "d'un aveugle à un aveugle".

PS : Dans les deux EAs, les jetons sont calculés en utilisant la barre OHLC et leur nombre et la formule de calcul sont identiques.

Vous devriez nous rejoindre dans notre salon de discussion, nous y discutons de stratégies et nous négocions. Il y a beaucoup de ségrégation par sujet, qui se soucie de ce qui est intéressant.

Les sujets importants ou secrets sont interdits aux personnes extérieures.

 
Maxim Dmitrievsky:

C'est clair depuis longtemps pour Spark, je n'ai pas demandé. Je parlais de l'idée. Cette approche avec spark est tout simplement hors de contrôle en raison de la manière inefficace d'apprendre et de la puissance requise.

La même chose peut être faite par optimisation dans le nuage MT5 sans échafaudage. Je ne connais pas votre résultat et je ne sais pas s'il vous permet de faire des bénéfices, mais ce n'est pas le cas et cet algorithme échouera toujours à cause des surajustements.

IALA

Il existe une opinion selon laquelle le modèle construit devrait toujours retourner 0 ou 1.

Mais que se passe-t-il si nous traitons le résultat renvoyé par le modèle comme celui d'un indicateur ? Essayer d'estimer un tel modèle par MSE, etc. ne servira à rien. Mais si vous appliquez un tel modèle avec des paramètres d'achat > 0,75 et de vente < 0,25, vous obtiendrez de bons bénéfices.

L'idée en elle-même : jeter plusieurs données de différents indicateurs dans une forêt aléatoire et obtenir un super indicateur.

La recherche du graal nécessite la vérification d'idées non standard.

 
Roffild:

Il existe une opinion selon laquelle un modèle construit devrait toujours retourner 0 ou 1.

Mais que se passe-t-il si nous traitons le résultat renvoyé par le modèle comme un indicateur ? Essayer d'estimer un tel modèle par MSE, etc. ne servira à rien. Mais si vous appliquez un tel modèle avec des paramètres d'achat > 0,75 et de vente < 0,25, vous obtiendrez de bons bénéfices.

L'idée en elle-même : lancer plusieurs données de différents indicateurs dans une forêt aléatoire et obtenir un super-indicateur.

Pour trouver le graal, il faut tester des idées qui sortent des sentiers battus.

La forêt ne donne pas de probabilités d'appartenance à une classe, donc ces inégalités n'ont aucun sens.

>< 0.5 et c'est tout, pas d'autre moyen. Et puis il y a la question de savoir ce qui est le mieux - des signes et des résultats binarisés ou non.

vous pouvez diviser 0 à 100 en classes, il n'y a pas de différence, ce n'est pas la NS
 
Maxim Dmitrievsky:

la forêt ne donne pas de probabilités d'appartenance à une classe, donc ces inégalités n'ont aucun sens.

>< 0.5 et c'est tout, il n'y a pas d'autre moyen. Et une autre question est de savoir ce qui est le mieux - des signes et des sorties binarisés ou non.

on peut le diviser en classes de 0 à 100, ce n'est pas comme en NS.
S'il n'y a pas de probabilité, alors à quoi servent ces lignes ?
static void CDForest::DFProcess(CDecisionForest &df,double &x[],double &y[])
...
//--- calculation
   v=1.0/(double)df.m_ntrees;
   for(i_=0;i_<=df.m_nclasses-1;i_++)
      y[i_]=v*y[i_];
 
Roffild:
S'il n'y a pas de probabilité, alors à quoi servent ces lignes ?

Oh, c'est vrai.

le résultat de tous les algorithmes de classification inclus dans ALGLIB n'est pas la classe à laquelle l'objet appartient, mais un vecteur de probabilités conditionnelles.

Mais ce n'est pas une grande consolation. Il y aura moins de signaux et pas nécessairement plus de résultats. Pour moi, par exemple, ce n'est pas le cas. Je fixe un seuil de 0,5 partout maintenant.

C'est la comparabilité des erreurs sur la trace et l'oob qui est beaucoup plus importante.

 
Maxim Dmitrievsky:

Oh, c'est vrai.

le résultat de tous les algorithmes de classification inclus dans ALGLIB n'est pas la classe à laquelle l'objet appartient, mais un vecteur de probabilités conditionnelles.

Mais ce n'est pas une grande consolation. Il y aura moins de signaux et pas nécessairement plus de résultats. Pour moi, par exemple, ce n'est pas le cas. Je fixe un seuil de 0,5 partout maintenant.

Ce qui est beaucoup plus important, c'est la comparabilité des erreurs dans le train et dans l'oob.

Mais ce sont des particularités des algorithmes modifiés.

AlgLib implémente la forêt aléatoire classique sans modification. C'est la même chose dans Spark.

Fixer le seuil à 0,5 = adapter les données au résultat.

P.S. Même les paramètres de la génération de la forêt aléatoire sont différents.

 
Roffild:

Mais ce sont des particularités des algorithmes modifiés.

AlgLib implémente une forêt aléatoire classique sans modification. Il en va de même pour Spark.

Fixer le seuil à 0,5 = adapter les données au résultat.

P.S. Même les paramètres de génération de la forêt aléatoire sont différents...

je pense que j'ai aussi algLib )

voici une description, je ne sais pas à quel point elle est "classique".

http://alglib.sources.ru/dataanalysis/decisionforest.php

��� �������� ������� - ���������� ����������
  • alglib.sources.ru
��� �������� �������� ������� �������� ��������� ������������� � ��������� RDF, � ����� �������� ����������� ��� ������ � ������ �������� ������� � ������ ��� �������� �������� �����. ����� ������� ���� �������� ����������� ���������� ������ �� ����� ��������� ����������� ������� ������������� � ���������. ��� ���������� ������ ����������...