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

 
mytarmailS:

Aidez-moi à comprendre...

Qu'est-ce qui se passe ? Tout semble correct, il y a un bug ou autre ?

===============================================================

Vous trouverez ci-dessous un exemple d'obtention (possible !) de ce dont vous avez besoin. Même si l'on ne sait pas très bien pourquoi vous en avez besoin ? Ou je ne comprends pas votre question ?

X <- rep(0,1000)
Y <- rep(999,100)
dat <- sample(c(X, Y))
table(dat)
0  999
1000  100
#Возьмем последние 100 значения вектора dat
s <-tail(dat,100)
# Определим индексы этого куска
# в которых Значения не = 0
which(s!=0)
[1]  2  6  9 11 19 20 21 35 36 43 51 59 80
[14] 90 98
# Проверим визуально
> s
[1]   0 999   0   0   0 999   0   0 999   0
[11] 999   0   0   0   0   0   0   0 999 999
[21] 999   0   0   0   0   0   0   0   0   0
[31]   0   0   0   0 999 999   0   0   0   0
[41]   0   0 999   0   0   0   0   0   0   0
[51] 999   0   0   0   0   0   0   0 999   0
[61]   0   0   0   0   0   0   0   0   0   0
[71]   0   0   0   0   0   0   0   0   0 999
[81]   0   0   0   0   0   0   0   0   0 999
[91]   0   0   0   0   0   0   0 999   0   0
# Запишем все это красиво
require(magrittr)
# Преобразуем вектор в матрицу
d <- matrix(dat, ncol = 100, byrow = T)%>%
# пройдемся по строкам и определим индексы
# ненулевых значений  
  apply(., 1, function(x) which(x != 0))%>%
# пройдемся по списку и отберем последние
# три индекса
  lapply(., function(x) tail(x, 3))%>%
# преобразуем список в вектор
  unlist()%>%
# преобразуем вектор в матрицу
  
matrix(., ncol = 3, byrow = T)
> d
[,1] [,2] [,3]
[1,]   64   72   93
[2,]   66   79   84
[3,]   73   87   92
[4,]   62   85  100
[5,]   94   97   98
[6,]   83   93   94
[7,]   52   65   74
[8,]   63   70   99
[9,]   61   62   79
[10,]   75   76   98
[11,]   80   90   98
 
Vladimir Perervenko:
Ниже пример получения (один из возможных!) того, что Вам нужно. Хотя и не понятно зачем Вам это? Или я не понял вопрос?

"999" est un niveau de soutien ou de résistance, cela n'a pas vraiment d'importance, juste un "niveau".

Le niveau n'est pas sur chaque bougie, il arrive quand il le veut, c'est pourquoi la vue

0 999   0   0   0 999   0   0 999   0

Ainsi, lorsque je crée une date de train et que j'écris chaque bougie, je veux me souvenir des trois derniers niveaux avant celle-ci.

C'est un peu le but. :)

 

Certains des messages ont été supprimés...
Je répète à Andrey Dik, qui s'est vanté de ses "codes" :

Faites ce défi Plz -https://numer.ai/

Résultat R assemblé à partir de "cubes" (fonctions et bibliothèques standard) = 0.69121https://numer.ai/ai/dr_tr
Pas beaucoup, mais au-dessus de la moyenne,
et si l'on considère que n'importe quel écolier peut construire un tel modèle à partir de dés et l'enseigner par l'instruction pendant une demi-heure, c'est un résultat décent.

Tout le monde peut se vanter et enseigner... Ce résultat en dira beaucoup plus sur la personne.

 
Dr. Trader:

Certains des messages ont été supprimés...
Je répète à Andrey Dik, qui se vantait de ses "codes" :

Faites ce défi Plz -https://numer.ai/

Résultat R, assemblé à partir de "cubes" (fonctions et bibliothèques standard) = 0.69121https://numer.ai/ai/dr_tr
Pas beaucoup, mais au-dessus de la moyenne,
Et si l'on considère que n'importe quel écolier peut construire un tel modèle à partir de dés et l'enseigner par l'instruction pendant une demi-heure, c'est un résultat convenable.

Tout le monde peut se vanter et enseigner... Ce résultat en dira beaucoup plus sur la personne.

Donc tu vas juste continuer à "piquer" ?

Qu'est-ce qui te fait croire que je vais tomber dans le panneau "comment oses-tu ?" ? Quel intérêt ai-je à cela ?

Je ne me vantais pas de mes codes, j'énonçais un fait. Des milliers de personnes utilisent effectivement (de manière totalement gratuite) l'algorithme génétique de l'article (ou ses modifications) dans leurs projets. Ils me contactent et me demandent de l'intégrer dans leurs projets s'ils ne parviennent pas à le faire. Il s'agissait d'une parade à l'attaque du type "vous êtes un troll et vous n'avez rien fait", plutôt que de la vantardise.

 

Dans le fil d'actualité, j'ai reçu des informations sur les forêts aléatoires pour la survie, la régression et la classification (RF-SRC). Le paquet s'appelle randomForestsSRC.

L'idéologie Random Forest pour la survie est Survival.

J'ai cherché ce qu'est la survie en général.

Dans notre idéologie, par exemple, "Survie" correspond à un gain de 100 pips. En médecine, où de tels modèles sont appliqués, c'est la mort.

Le modèle lui-même requiert une variable "temps à vivre". Le nombre de barres avant d'atteindre 100 pips dans mon exemple est suggéré comme une telle variable.

Nous construisons un professeur pour le modèle.

ZZ donne des inversions. Nous marquons les épaules avec un zéro et un.

La deuxième variable - le temps de survie - est nécessaire dans les modèles

Dans PZ, nous fixons le profit minimum en pips.

Puis nous revenons en arrière et formons le nombre de barres avant ce pivot. Si PZ s'est déroulé plus tard que son paramètre, toutes les barres qui nous garantissent un profit sont marquées de la même façon. C'est le moment de vivre. On obtient un vecteur de la forme suivante :

1,1,1,..1,2,3,4... n

Le numéro de barre "n" correspond à une inversion ZZ. Et de 1 à n, on obtient le bénéfice, que nous avons défini comme un paramètre ZZ.


PS.

Il y a beaucoup de modèles de Survie. Personnellement, je n'y ai pas prêté beaucoup d'attention, car ils sont utilisés en médecine. Bien que les termes "mort" et "guéri" utilisés dans ces modèles soient très bien interprétés dans le commerce comme takeprofit, stop loss, drawdown, c'est-à-dire certaines conditions limites qui entraînent le suivi des ordres de commerce.


 
Dr. Trader:

Certains des messages ont été supprimés...
Je répète à Andrey Dik, qui s'est vanté de ses "codes" :

Faites ce défi Plz -https://numer.ai/

Résultat R, assemblé à partir de "cubes" (fonctions et bibliothèques standard) = 0.69121https://numer.ai/ai/dr_tr
Pas beaucoup, mais au-dessus de la moyenne,
Et si l'on considère que n'importe quel écolier peut construire un tel modèle à partir de dés et l'enseigner par l'instruction pendant une demi-heure, c'est un résultat convenable.

Tout le monde peut se vanter et enseigner... Ce résultat en dira beaucoup plus sur la personne.

ML battle gotAI ici les gars ont 0.69033 et ils ont honte de cela
 
mytarmailS:

"999" est un niveau de soutien ou de résistance, cela n'a pas vraiment d'importance, juste un "niveau".

Le niveau n'est pas sur chaque bougie, il arrive quand il le veut, c'est pourquoi la vue

0 999   0   0   0 999   0   0 999   0

Ainsi, lorsque je crée une date de train et que j'écris chaque bougie, je veux me souvenir des trois derniers niveaux avant celle-ci.

C'est un peu le but. :)

==================================

Ahh, eh bien, cela doit être changé un peu. Utilisez une largeur de fenêtre glissante de 100.

 
lucky_teapot:
ML bataille gotAI ici les gars ont 0.69033 et ils ont honte de cela

Un fil de discussion intéressant, merci, surtout au camarade "NO".

Vladimir Perervenko:

Déjà fait, merci

 

Je viens de regarder le profil de lucky_teapot, il y avait un fil de discussion sur le forum avec un lien vers l'article. Je pense qu'il a été transféré du forum mql4.com, que je n'ai presque jamais étudié, grâce à MetaQuotes si c'était vraiment de là.
L'article date de presque 9 ans, mais j'ai trouvé beaucoup de choses utiles que je peux aussi bien essayer maintenant. Je pense même avoir compris l'espace de décalage dimensionnel, qu'Alexei a déjà mentionné plusieurs fois dans ce fil.
L'article lui-même, je le trouve très utile -https://www.mql5.com/ru/articles/1506

Toutes les conférences de ce cours, également intéressantes -http://www.intuit.ru/studies/courses/2255/139/info

 
Dr. Trader:

J'ai regardé par hasard le profil de lucky_teapot, il y avait un fil de discussion du forum avec un lien vers un article. Je pense qu'il a été transféré du forum mql4.com, que je n'ai pas vraiment étudié, grâce à MetaQuotes si cela vient effectivement de là.
L'article date de presque 9 ans, mais j'ai trouvé beaucoup de choses utiles que je peux aussi bien essayer maintenant. Je pense même avoir compris l'espace de décalage dimensionnel, qu'Alexei a déjà mentionné plusieurs fois dans ce fil.
L'article lui-même, je le trouve très utile -https://www.mql5.com/ru/articles/1506

Toutes les conférences de ce cours, également intéressantes -http://www.intuit.ru/studies/courses/2255/139/info

===========================================================================

A l'époque, l'article a été lu avec beaucoup d'intérêt. Aujourd'hui, c'est un peu grinçant - "jeu", "devinez". Beaucoup de mathématiques, aussi académiques soient-elles, mais ce sont les détails bien sûr. L'essentiel pour moi depuis lors - seulement des indicateurs pour les entrées, ne pas utiliser les métriques standard, seulement la classification et la détermination dynamique du volume des lots.

À cette époque, il n'y avait pas beaucoup de paquets pour les réseaux neuronaux (par exemple FANN), et les connecter avec MT4 était une aventure. Aujourd'hui, le choix de programmes est bien sûr beaucoup plus large. Vous ne pouvez pas les suivre en permanence.

Bonne chance