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

 
Forester #:

La substitution par la moyenne était utilisée en statistique lorsqu'il n'y avait tout simplement pas de données, puis la moyenne était substituée. Ils ont utilisé le NAN comme un manque ou une omission de données - ils avaient besoin de marquer ce moment d'une manière ou d'une autre - ils ont décidé d'utiliser le NAN à cette fin avec un remplacement ultérieur par la moyenne.

J'ai le NAN - il y a une erreur dans la préparation des données et j'obtiens par exemple après /0 (mais parfois j'obtiens + - INF). Je n'ai pas besoin de considérer les données erronées comme normales ou même moyennes.
Les erreurs doivent être corrigées (j'imprime que la colonne contient NAN et qu'elle est manquante). Mais qui lit ces impressions... ? )))

Bon, alors il n'y a rien à demander, qu'est-ce qu'on peut faire d'autre que de le jeter ?


Au cas où, un exemple de remplacement des NAN, puisque j'ai déjà écrit un exemple.

m <- round(matrix(rnorm(100),ncol = 5,nrow = 10),2)
m[ sample(1:nrow(m),5,replace = T) , sample(1:ncol(m),5,replace = T) ] <- NaN
m

[,1]  [,2]  [,3]  [,4]  [,5]
 [1,] -1.17 -0.10 -0.22 -1.49 -1.23
 [2,]   NaN   NaN  0.85   NaN -2.13
 [3,]  0.60  0.06  1.50 -0.31  0.05
 [4,]   NaN   NaN -0.41   NaN -0.43
 [5,]  1.17  0.86 -0.51  1.43 -0.07
 [6,] -0.44  0.79 -0.61  0.68  0.11
 [7,]  0.85  0.74  0.31 -1.16 -0.38
 [8,]   NaN   NaN  1.09   NaN -0.36
 [9,]   NaN   NaN -0.58   NaN -1.27
[10,] -0.19 -0.42  0.07  0.31  1.92

et la solution

library(imputeTS)
m2 <- round(apply(m,2,na_ma),2)
m2

 [,1]  [,2]  [,3]  [,4]  [,5]
 [1,] -1.17 -0.10 -0.22 -1.49 -1.23
 [2,] -0.14  0.12  0.85 -0.57 -2.13
 [3,]  0.60  0.06  1.50 -0.31  0.05
 [4,]  0.49  0.49 -0.41  0.27 -0.43
 [5,]  1.17  0.86 -0.51  1.43 -0.07
 [6,] -0.44  0.79 -0.61  0.68  0.11
 [7,]  0.85  0.74  0.31 -1.16 -0.38
 [8,]  0.37  0.51  1.09 -0.14 -0.36
 [9,]  0.14  0.14 -0.58  0.04 -1.27
[10,] -0.19 -0.42  0.07  0.31  1.92
 
mytarmailS #:

Dans ce cas, il n'y a rien à demander, rien à faire que de le jeter.


Au cas où, un exemple de remplacement des NAV, puisque j'ai déjà écrit un exemple.

et la solution

Merci, peut-être que le code sera utile à quelqu'un.

 
L'aide sur l'onnx sur le site web a été mise à jour - https://www.mql5.com/ru/docs/onnx
Документация по MQL5: ONNX модели
Документация по MQL5: ONNX модели
  • www.mql5.com
ONNX модели - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
mytarmailS #:


J'ai réfléchi à votre exemple.

J'ai de gros doutes.

Premièrement, est-ce que je comprends bien.

Sur une partie de la cote, des points d'entrée ont été trouvés qui donneront une sorte de ligne d'équilibre parfaite.

Si c'est le cas, il s'agit d'une surestimation de l'histoire. Les points d'entrée/sortie trouvés ne satisfont pas du tout l'idée de base du MO selon laquelle "l'histoire se répète". Avec le MO, on recherche des modèles abstraits, avec l'espoir/justification qu'ils se répéteront à l'avenir. Et voici un balisage de certaines zones de prix....


Existe-t-il une autre méthode ? Ou est-ce que quelque chose m'échappe ?

 
СанСаныч Фоменко #:

J'ai réfléchi à votre exemple.

Gros doutes.

D'abord, si j'ai bien compris.

Sur certains tronçons du quotir, on a trouvé des points d'entrée qui donnent une certaine ligne d'équilibre idéale.

Si c'est le cas, il s'agit d'une adaptation excessive de l'histoire. Les points d'entrée/sortie trouvés ne satisfont pas du tout l'idée de base du MO selon laquelle "l'histoire se répète". Avec le MO, on recherche des modèles abstraits, avec l'espoir/justification qu'ils se répéteront à l'avenir. Et voici une majoration d'une certaine zone de prix....


Existe-t-il une autre méthode ? Ou est-ce que quelque chose m'échappe ?

Le but de l'exemple est de montrer qu'il est possible d'entraîner le modèle non seulement avec des cibles prêtes à l'emploi, mais aussi avec des fonctions de perte d'une complexité quelconque minimisant ou maximisant la FF.

Dans cet exemple (à la demande de ceux qui le souhaitent), il est montré comment entraîner l'AMO pour un profit stable maximal, mais il peut s'agir de n'importe quelle fonction de perte à votre convenance.....

Personne n'empêche non plus d'ajouter un échantillonnage de test et de validation pour l'entraînement afin d'éviter le surentraînement, mais cela compliquerait le code et dépasserait le cadre de l'exemple.
 
mytarmailS #:
L'objectif de cet exemple est de montrer qu'il est possible d'entraîner le modèle non seulement sur des cibles prêtes à l'emploi, mais aussi sur des fonctions de perte de toute complexité en minimisant ou en maximisant la FF.

Dans cet exemple (à la demande des personnes intéressées), il est montré comment entraîner l'AMO pour un profit stable maximal, mais il peut s'agir de n'importe quelle fonction de perte à votre convenance.....

Personne n'empêche non plus d'ajouter un échantillonnage de test et de validation pour l'entraînement afin d'éviter le surentraînement, mais cela compliquerait le code et dépasserait le cadre de l'exemple.

Je vois, c'est très curieux

 
СанСаныч Фоменко #:

Je vois, c'est très curieux

qu'est-ce qui est curieux ? cela a été dit il y a quelques mois dans ce fil de discussion dans des dialogues avec ma participation))) ici beaucoup ont soutenu que max/min ff ne devrait pas être dans n'importe quelle manière)))))

comme vous réglez le ff, le bateau naviguera....

 
Andrey Dik #:

Ce qui est curieux, c'est que cela a été dit il y a quelques mois dans ce fil de discussion, dans des dialogues auxquels j'ai participé)) ici, beaucoup ont soutenu que les ff max/min ne devraient en aucun cas être))))

comme vous réglez le ff, le bateau naviguera....

L'algorithme a son propre ff, qui ne peut pas être changé (ne fonctionnera pas), c'est juste un ajout pour que l'ajustement de courbe soit beau. Il n'affecte rien globalement. Il y avait déjà ici une variante avec des pertes personnalisées sur le facteur de profit, sur le trayne c'est beau comme d'habitude.

Nous tournons en rond et sommes surpris à chaque fois. L'amnésie est une affection agréable, chaque jour des nouvelles 😀.
 
Maxim Dmitrievsky #:
L'algorithme a son propre ff, qui ne peut pas être modifié (il ne fonctionnera pas), c'est juste un ajout pour l'ajustement de courbe, pour le rendre plus beau). Il n'affecte rien globalement.

Max, vous pouvez définir n'importe quel FF, et il est bon de le définir en fonction de l'objectif d'apprentissage.

Si l'objectif d'apprentissage est l'ajustement de courbe, alors ce sera l'ajustement de courbe)).

Mais cela n'annule pas le fait que toute formation est l'essence de l'optimisation (max/minimisation) d'une certaine FF.

 
Andrey Dik #:

Max, FF peut être défini comme vous le souhaitez, et c'est une bonne idée de fixer un objectif d'apprentissage approprié.

Si l'objectif d'apprentissage est le kurwafing, alors il sera le kurwafing)).

mais cela n'annule pas le fait que toute formation est l'essence même de l'optimisation (max/minimisation) d'une certaine FF.

Mais je n'arrive pas à imaginer comment TC peut être tiré de là :) peut-être que quelqu'un a un FF super-duper, mais qu'il garde le silence
Raison: