Aprendizado de máquina no trading: teoria, prática, negociação e não só - página 141

 
Dr. Trader:

Não sei como o fazer da maneira normal, mas assim com a biblioteca:


Muito obrigado!!! Vocês sabem muito bem sobre pacotes, me ofereceram para escrever classe format() novamente no fórum especial sobre a mesma questão, e mostrei um exemplo com ~ 300 linhas de código, já comecei a pensar em muletas, e aqui está uma ótima solução... obrigado!

 

Mais uma pergunta - tenho três dataframes com comprimentos ligeiramente diferentes, porque as observações foram feitas em momentos diferentes,

Como posso sincronizá-los para deixar apenas as observações que estão nos três quadros e descartar aquelas que ocorrem apenas em quadros separados?

> 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

Interessante. Melhorar uma estratégia existente com a aprendizagem de máquinas. O artigo sofre com a falta de informação sobre a amostragem, mas a ideia é interessante.
 
mytarmailS:

Mais uma pergunta - tenho três dataframes com comprimentos ligeiramente diferentes, porque as observações foram feitas em momentos diferentes,

como podem ser sincronizadas a tempo de deixar apenas as observações que estão nos três quadros e descartar aquelas que ocorrem apenas em quadros separados

de frente, seria assim:


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

Interessante. Melhorar uma estratégia existente com a aprendizagem de máquinas. O artigo sofre de falta de informação sobre amostragem, mas a ideia é interessante.
Bom artigo, eu também tenho experimentado com "SMM" ultimamente, mas de uma forma mais usual.
 
Alexey Burnakov:

De frente, será assim:

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

Interessante. Melhorar uma estratégia existente com a aprendizagem de máquinas. O artigo sofre de falta de informação sobre a amostragem, mas a ideia é interessante.

Alexey!

Que pessoa interessante você é!

Escrevi aqui cem vezes que uso o rf para melhorar o desempenho do TS real nos indicadores, mas vocês não responderam.

E mais, já sugeri isso várias vezes:

1. Pegue o verdadeiro TS.

2. Distinguimos os problemas do TS e começamos a resolvê-los usando ferramentas R

No meu caso mencionado usei rf para resolver o problema de atraso do indicador, que normalmente dá informação na barra 1 (-1), e rf dá informação na barra seguinte. Para H4 são 8 horas! Como resultado, eu consegui diminuir consideravelmente o drawdown.

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

Interessante. Melhorar uma estratégia existente com a aprendizagem de máquinas. O artigo sofre com a falta de informação sobre a amostragem, mas a ideia é interessante.

A ideia deste artigo é implementada de forma ligeiramente diferente no artigo https://www.mql5.com/ru/articles/1628.

Será que todos lêem os artigos de aprendizagem da máquina neste site com um ano de atraso?(pergunta retórica)

Boa sorte.

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

Alexei!

Que pessoa interessante você é!

Escrevi aqui cem vezes que uso o rf para melhorar o desempenho do TS real nos indicadores, e vocês não responderam.

Além disso, expressei repetidamente a ideia disso:

1. Pegue o verdadeiro TS.

2. Distinguimos os problemas do TS e começamos a resolvê-los usando ferramentas R

No meu caso mencionado usei rf para resolver o problema de atraso do indicador, que normalmente dá informação na barra 1 (-1), e rf dá informação na barra à frente. Para H4 são 8 horas! Como resultado, eu consegui diminuir consideravelmente o drawdown.

Eu compreendo. É apenas difícil avaliar a Profundidade do Pensamento sem detalhes. E havia fotos nesse artigo. O Perervenko também tem semelhantes. E eu também li o artigo dele.
 
Alexey Burnakov:
Eu compreendo. Só que sem detalhes é difícil avaliar a profundidade do pensamento. E havia fotos nesse artigo. Perervenko também se parece com isso. E eu também li o artigo dele.

Bem, aqui está a ofensa...

O meu objectivo é conduzir a conversa numa direcção prática, para não ofender ninguém de forma alguma...

Até agora temos bocados e pedaços espalhados.

A sua abordagem académica.... Para mim o valor dos seus cálculos é inquestionável, mas .... Eu já expressei as minhas dúvidas acima.

Estou acompanhando de perto o trabalhode Vladimir Perervenko, nunca vi nenhuma evidência de que os modelos não sejam requalificados. A última ligação. A importância das variáveis é determinada por um algoritmo de árvore. Mas as árvores, devido à conveniência dos valores de ruído disponíveis, tendem a usar mais frequentemente estes preditores de ruído e como resultado o ruído surge na estimativa da importância...

Então temos que começar com algoritmos para remover os preditores de ruído. Todas as outras etapas sem estas não têm qualquer utilidade prática, uma vez que todas as estimativas do modelo não podem ser extrapoladas para o futuro.

Então o treinamento de um modelo em janelas, e a largura da janela deve ser justificada de alguma forma. Depois, utilizando o modelo treinado numa pré-selecção de preditores para a janela de trabalho....

Algo parecido com isto.

Razão: