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

 
Dr. Trader:

Je ne sais pas comment le faire de manière standard, mais comme ceci avec la bibliothèque :


Merci beaucoup ! !! Vous connaissez très bien les packages, on m'a proposé de réécrire la classe format() sur un forum spécial pour la même question, et j'ai montré un exemple avec ~ 300 lignes de code, j'ai déjà commencé à penser à des béquilles de toutes sortes, et voilà une excellente solution... merci !

 

Une autre question : j'ai trois cadres de données avec des longueurs légèrement différentes, car les observations ont été faites à des moments différents,

Comment puis-je les synchroniser pour ne garder que les observations qui se trouvent dans les trois images et écarter celles qui ne se produisent que dans des images distinctes ?

> head(sec1)
        date  time   open   high    low  close vol
1 2016.09.06 08:45 3081.5 3082.5 3080.5 3080.5   6
2 2016.09.06 08:50 3081.5 3081.5 3079.5 3080.5   6
3 2016.09.06 08:55 3081.5 3082.5 3081.5 3082.5  19
4 2016.09.06 09:00 3083.5 3083.5 3081.5 3082.5  19
5 2016.09.06 09:05 3083.5 3085.5 3082.5 3085.5   8
6 2016.09.06 09:10 3086.5 3086.5 3084.5 3086.5  15
> head(sec2)
        date  time  open  high   low close vol
1 2016.09.13 13:00 95.34 95.40 95.33 95.39  36
2 2016.09.13 13:05 95.40 95.43 95.39 95.41  40
3 2016.09.13 13:10 95.42 95.44 95.40 95.42  37
4 2016.09.13 13:15 95.41 95.42 95.39 95.39  25
5 2016.09.13 13:20 95.40 95.41 95.38 95.38  21
6 2016.09.13 13:25 95.39 95.42 95.38 95.42  32
> head(sec3)
        date  time    open    high     low   close vol
1 2016.09.14 18:10 1.12433 1.12456 1.12431 1.12450 137
2 2016.09.14 18:15 1.12444 1.12459 1.12424 1.12455 139
3 2016.09.14 18:20 1.12454 1.12477 1.12446 1.12469 148
4 2016.09.14 18:25 1.12468 1.12474 1.12442 1.12453 120
5 2016.09.14 18:30 1.12452 1.12483 1.12442 1.12482 156
6 2016.09.14 18:35 1.12481 1.12499 1.12472 1.12474 126
 
https://www.mql5.com/en/blogs/post/650079

Intéressant. Améliorer une stratégie existante grâce à l'apprentissage automatique. L'article souffre d'un manque d'informations sur l'échantillonnage, mais l'idée est intéressante.
 
mytarmailS:

Une autre question : j'ai trois cadres de données avec des longueurs légèrement différentes, car les observations ont été faites à des moments différents,

comment les synchroniser dans le temps pour ne garder que les observations qui se trouvent dans les trois images et écarter celles qui ne se produisent que dans des images distinctes ?

de front, ce serait comme ça :


a <- data.frame(c1 = c('a','b','c','d','e','f'), c2 = c(1,2,3,4,5,6))

b <- data.frame(c1 = c('a','b','c','d','e'), c2 = c(1,2,3,4,5))

c <- data.frame(c1 = c('b','c','d','e','f'), c2 = c(2,3,4,5,6))


a$concat <- do.call(paste0, a[1:2])

b$concat <- do.call(paste0, b[1:2])

c$concat <- do.call(paste0, c[1:2])


concat_vec <- append(unique(a$concat)

    , c(unique(b$concat)

    , unique(c$concat)))

concat_vec_tbl <- as.data.frame(table(concat_vec))

concat_vec_tbl <- concat_vec_tbl[concat_vec_tbl$Freq == 3, ]



a <- a[a$concat %in% concat_vec_tbl$concat_vec, ]

b <- b[b$concat %in% concat_vec_tbl$concat_vec, ]

c <- c[c$concat %in% concat_vec_tbl$concat_vec, ]

 
Alexey Burnakov:
https://www.mql5.com/en/blogs/post/650079

Intéressant. Améliorer une stratégie existante grâce à l'apprentissage automatique. L'article souffre d'un manque d'informations sur l'échantillonnage, mais l'idée est intéressante.
Bon article, j'ai expérimenté le "SMM" dernièrement aussi, mais d'une manière plus habituelle.
 
Alexey Burnakov:

De face, ce sera comme ça :

merci
 
Alexey Burnakov:
https://www.mql5.com/en/blogs/post/650079

Intéressant. Améliorer une stratégie existante grâce à l'apprentissage automatique. L'article souffre d'un manque d'informations sur l'échantillonnage, mais l'idée est intéressante.

Alexey !

Quelle personne intéressante vous êtes !

J'ai écrit ici une centaine de fois que j'utilise la rf pour améliorer les performances des TS réels sur les indicateurs, mais vous n'avez pas répondu.

De plus, j'ai suggéré à plusieurs reprises que :

1. Prenez le vrai TS.

2. Nous distinguons les problèmes de TS et commençons à les résoudre en utilisant les outils R.

Dans le cas que j'ai mentionné, j'ai utilisé rf pour résoudre le problème de décalage de l'indicateur, qui donne habituellement des informations sur la barre 1 (-1), et rf donne des informations une barre en avant. Pour H4, c'est 8 heures ! En conséquence, j'ai réussi à réduire considérablement le drawdown.

 
Alexey Burnakov:
https://www.mql5.com/en/blogs/post/650079

Intéressant. Améliorer une stratégie existante grâce à l'apprentissage automatique. L'article souffre d'un manque d'informations sur l'échantillonnage, mais l'idée est intéressante.

L'idée de cet article est mise en œuvre de manière légèrement différente dans l'article https://www.mql5.com/ru/articles/1628.

Je me demande si tout le monde lit les articles sur l'apprentissage automatique sur ce site avec un an de retard... (question rhétorique).

Bonne chance

Глубокая нейросеть со Stacked RBM. Самообучение, самоконтроль
Глубокая нейросеть со Stacked RBM. Самообучение, самоконтроль
  • 2016.03.31
  • //www.mql5.com/ru/users/vlad1949">
  • www.mql5.com
Статья является продолжением предыдущих статей по глубоким нейросетям и выбору предикторов. В ней мы рассмотрим особенность нейросети, инициируемой Stacked RBM, а также её реализации в пакете "darch".
 
SanSanych Fomenko:

Alexei !

Quelle personne intéressante vous êtes !

J'ai écrit ici une centaine de fois que j'utilise la rf pour améliorer les performances de la vraie TS sur les indicateurs, et vous n'avez pas répondu.

De plus, j'ai exprimé à plusieurs reprises l'idée que :

1. Prenez le vrai TS.

2. Nous distinguons les problèmes de TS et commençons à les résoudre en utilisant les outils R.

Dans le cas que j'ai mentionné, j'ai utilisé rf pour résoudre le problème de décalage de l'indicateur, qui donne habituellement des informations sur la barre 1 (-1), et rf donne des informations une barre en avant. Pour H4, c'est 8 heures ! En conséquence, j'ai réussi à réduire considérablement le drawdown.

Je comprends. Il est difficile d'évaluer la profondeur de la pensée sans données spécifiques. Et il y avait des photos dans cet article. Perervenko en a des similaires, aussi. Et j'ai lu son article aussi.
 
Alexey Burnakov:
Je comprends. C'est juste que sans détails précis, il est difficile d'évaluer la profondeur de la pensée. Et il y avait des photos dans cet article. Perervenko ressemble aussi à ça. Et j'ai lu son article aussi.

Eh bien, voici l'infraction...

Mon but est d'orienter la conversation dans une direction pratique, et non d'offenser qui que ce soit de quelque manière que ce soit...

Pour l'instant, nous avons des morceaux épars.

Votre approche académique.... Pour moi, la valeur de vos calculs est incontestable, mais ..... J'ai exprimé mes doutes ci-dessus.

Je suis de près le travailde Vladimir Perervenko, je n'ai jamais vu de preuve que les modèles ne sont pas réentraînés. Le dernier lien. L'importance des variables est déterminée par un algorithme d'arbre. Mais les arbres, en raison de la commodité des valeurs de bruit disponibles, ont tendance à utiliser plus souvent ces prédicteurs de bruit et, par conséquent, le bruit apparaît dans l'estimation de l'importance...

Nous devons donc commencer par des algorithmes pour éliminer les prédicteurs de bruit. Sans cela, toutes les autres étapes ne sont d'aucune utilité pratique, car toutes les estimations du modèle ne peuvent être extrapolées dans le futur.

Ensuite, la formation d'un modèle dans des fenêtres, et la largeur des fenêtres doit être justifiée d'une manière ou d'une autre. Puis utilisation du modèle entraîné dans une présélection de prédicteurs pour la fenêtre de travail.....

Quelque chose comme ça.