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

 
forexman77:

Je ne peux pas encore en être sûr, car j'ai joué avec de nombreux paramètres, l'amélioration était d'environ 0,1. Il y a peut-être des techniques que je ne connais pas, c'est pourquoi j'ai demandé.

si rien n'y fait, alors le problème se situe au niveau des données, il n'y a rien d'autre à régler dans les las.
 
Aleksey Vyazmikin:

Bien sûr que vous pouvez, mais vous devez le faire en plusieurs fois (problèmes de serveur), Jeu de filtres - définissant où vous ne pouvez pas acheter/vendre, Jeu de MaloVhodov - entrées de tendance pour un profit décent, Jeu de MnogoVhodov - toutes les entrées sauf celles qui ne sont pas rentables.

J'ai essayé le malovhodov pour commencer.

J'ai essayé d'apprendre à la forêt à prédire arr_Buy à partir de 2015 sur la base de arr_Vektor_Week, arr_Vektor_Day, etc.

Les classes sont très déséquilibrées (il y a 10 fois plus d'exemples de classe 0 que de classe 1), ce qui ajoute beaucoup de difficulté.

Il s'agit de l'arbre 2015 formé sur


y_pred
y_true01
09726886118
1552912256
Et c'est en 2016, nouveau pour les données sur les arbres :
y_pred
y_true01
09658190918
162968956

Dans les deux cas, la prédiction est peu précise, mais elle est au moins exacte à plus de 50 % dans les deux cas.

L'arbre est comme ça :


Il y a toujours à gauche du VRAI, à droite du FAUX. Pour les ovales, le pronostic a besoin d'être arrondi (>=0.5 -> 1 ; <0.5 -> 0) Je vais essayer mnogovhodov, je pense que ce sera mieux, les classes 0 et 1 y sont plus égales.

 
Dr. Trader:

J'ai essayé Malovhodov pour commencer.

J'ai essayé d'apprendre à la forêt à prédire arr_Buy à partir de 2015 sur la base de arr_Vektor_Week, arr_Vektor_Day, etc.

Les classes sont très déséquilibrées (il y a 10 fois plus d'exemples de classe 0 que de classe 1), ce qui ajoute beaucoup de difficulté.

Il s'agit de l'arbre 2015 formé sur


y_pred
y_true01
09726886118
1552912256

Dans les deux cas, la prédiction est peu précise, mais elle est au moins exacte à plus de 50 % dans les deux cas.

L'arbre est comme ça :


Il y a toujours à gauche du VRAI, à droite du FAUX. Dans la prédiction ovale, il faut toujours arrondir (>=0.5 -> 1 ; <0.5 -> 0) Je vais essayer mnogovhodov, je pense que ce sera mieux, là les classes 0 et 1 sont plus égales.

Wow, quel tout petit arbre ! Je suis surpris ! J'ai lu dans l'arbre le désir d'entrer lors d'un renversement de tendance, c'est-à-dire d'acheter réellement au plus bas. Selon votre système, les autres prédicteurs n'étaient pas informatifs ?

Quels sont les chiffres dans les ovales ?
 

Ma forêt de vraies et fausses marques a traversé.

[[ 2011  2948]
 [  215 11821]]//тест

[[14997     0]
 [    0 35985]]//тренировка

La classe que je recherchais se trouvait pour plus de la moitié dans une autre classe dans le test, mais elle s'est bien répartie dans la formation).

 
Dr. Trader - veuillez écrire une liste des prédicteurs dans l'arbre, car la capture d'écran a réduit leurs noms.
 
Aleksey Vyazmikin:

Wow, quel tout petit arbre ! Je suis surpris ! J'ai lu dans l'arbre une volonté d'entrer sur un renversement de tendance, c'est-à-dire d'acheter au plus bas. Selon votre système, les autres prédicteurs n'étaient pas informatifs ?

Que sont les chiffres dans les ovales ?

Certains d'entre eux ont été rejetés lors du processus de sélection des paramètres de l'arbre et des prédicteurs. Je ne peux pas dire quoi que ce soit de spécifique sur l'informativité en général, mais dans le cas présent, ce sont ceux-là qui conviennent le mieux.

Les ovales sont des prédictions de l'arbre. Mon arbre a été formé en mode "anova", c'est-à-dire qu'on ne donne pas une prédiction spécifique 0 ou 1, mais la probabilité. Tout ce qui est supérieur à 0,5 est très probablement de classe 1. Ce qui est inférieur à 0,5 est très probablement de classe 0. Ainsi, plus la prévision est proche de 0 ou de 1, plus elle est fiable.

Vous pouvez décrire l'arbre de manière programmatique de la manière suivante :

double prediction;
if(arr_Donproc<3.5)
{
  if(arr_iDeltaH1>=-6.5)
  {
    if(arr_TimeH>=14)
    {
       prediction = 0.29;
    }
    else
    {
       prediction = 0.44;
    }
  }
  else
  {
     prediction = 0.58;
  }
}
else
{
  if(arr_RSI_Open_ < 0.5)
  {
     //...
  }
  else
  {
     //...
  }
}

int predictionClass = 0;
if(prediction >= 0.5) predictionClass=1;

if(predictionClass == 0)
{
  //...
}
else if(predictionClass == 1)
{
  //...
}
 
Aleksey Vyazmikin:
Dr. Trader - veuillez écrire une liste de prédicteurs dans l'arbre, car l'écran a coupé leurs noms.

C'est vrai, je n'avais pas remarqué. En hochet, il était en quelque sorte facile de voir la liste et les règles. Je n'ai pas de cliquetis maintenant, je vais chercher une autre façon de faire.

 
Dr Trader:

Certains des prédicteurs ont été éliminés lors du processus de sélection des paramètres de l'arbre et des prédicteurs ; certains prédicteurs ont été rejetés par l'arbre lui-même. Je ne peux pas dire quoi que ce soit de spécifique sur l'informativité en général, mais dans le cas présent, ce sont celles-là qui conviennent le mieux.

Les ovales sont des prédictions de l'arbre. Mon arbre a été formé en mode "anova", c'est-à-dire que l'on ne donne pas une prédiction spécifique 0 ou 1, mais la probabilité. Tout ce qui est supérieur à 0,5 est très probablement de classe 1. Ce qui est inférieur à 0,5 est très probablement de classe 0. Ainsi, plus la prévision est proche de 0 ou de 1, plus elle est fiable.

Vous pouvez décrire l'arbre de manière programmatique de la façon suivante :

Hier j'ai refait l'information arr_iDelta dans différentes variations, j'ai ajouté deux types de prédicteurs supplémentaires et j'ai rendu le calcul plus complet pour H4,MN1,W1 - je pense que ce sont des prédicteurs importants, donc j'ai supprimé les anciens analogues et ajouté les nouveaux, par exemple

Au fait, la plupart des prédicteurs sont calculés à l'aide du script, les nouveaux sont calculés à l'aide de l'EA et le résultat est congruent, c'est-à-dire qu'il n'y a pas d'erreur.

Merci pour l'interprétation sous forme de code ! Si cela vous intéresse, les données sur le collage des futures Si.

Je joins à nouveau les fichiers, je vous propose de les expérimenter.

Dossiers :
Filter_02.zip  3805 kb
 
MaloVhodov_02
Dossiers :
MaloVhodov_02.zip  3774 kb
 
MnogoVhodov_02
Dossiers :
MnogoVhodov_02.zip  3804 kb