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

 
Maxim Dmitrievsky #:
Sim, quando há muito ruído, os componentes com variação máxima não podem mostrar nada. Não entendi como o segundo conjunto de dados está envolvido, mas também é algo do kozul e havia algo sobre tritment em seus vídeos.

Bem, parece que o segundo conjunto de dados é necessário apenas para encontrar o contraste com o primeiro. Parece que, de alguma forma, as matrizes de covariância dos dois conjuntos de dados são comparadas de forma inteligente.

 
Aleksey Nikolayev #:

Esses parecem ser não lineares em toda a sua extensão, e ambos são lineares como o PCA, se não me engano.

Sim, eles são não lineares, mas isso é ruim?


Tentei esse PCA de contraste e obtive praticamente o mesmo resultado que o PCA.

Esta vinheta mostra uma comparação de todos os diferentes tipos.

Ela mostra como o PCA parece "pálido" em relação a outros métodos, mas se os dados não forem apenas normalizados, mas também centralizados (o que eu fiz separadamente), o PCA regular fornecerá o mesmo resultado nos dados apresentados aqui.

 
mytarmailS #:

Sim, não linear, mas isso é algo ruim?


Tentei esse contraste PCA e obtive praticamente o mesmo resultado que o PCA.

Esta vinheta mostra uma comparação de todos os diferentes tipos.

Ela mostra como a PCA parece "pálida" em relação a outros métodos, mas se os dados não forem apenas normalizados, mas também centralizados (o que fiz separadamente), a PCA normal fornecerá o mesmo resultado nos dados apresentados aqui.

Provavelmente "ruim" em comparação com esses dados de teste, e o mesmo resultado é obtido nos córtices?
 
Forester #:
Provavelmente "ruim" em comparação com esses dados de teste, e o mesmo resultado obtido em kotrovki?

Não, o mesmo em seus próprios dados


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

library(scPCA)
label <- toy_df$label
data <- toy_df[, -31]


pca <- prcomp(data,center = TRUE)
plot(pca$x,col=label,lwd=2,main = "обычный РСА")

cpca <- scPCA(target = data, background = background_df, penalties = 0, n_centers = 4)
plot(cpca$x, col=label, lwd=2,main = "контрасный РСА")

Foi isso que eu fiz.

npca <- prcomp(data,center = TRUE,scale. = TRUE)
plot(npca$x,col=label,lwd=2,main = "обычный РСА + нормализация")

library(umap)
um <- umap(data)
plot(um$layout,col=label,lwd=2,main = "umap без нормализации данных")

num <- umap( scale(data,center = TRUE,scale = TRUE) )
plot(num$layout,col=label,lwd=2,main = "umap + нормализация")



É assim.... Tiramos nossas próprias conclusões.

 

O objetivo não é centralizar algo em um conjunto de dados específico, mas encontrar uma representação bem-sucedida dos dados de forma flexível. O que esse método permite que você faça. Acho que o yumap também pode fazer isso, mas o linear geralmente é quase sempre melhor do que o não linear, em termos de estabilidade.

É uma boa maneira de fazer isso, mas há uma maneira mais bonita.

O cPCA está pronto para ser discutido se alguém estiver praticando com ele.

 

Encontrei outro problema.
Encontrei uma boa variante com treinamento uma vez por semana em 5.000 linhas de M5 (3,5 semanas). E decidi mudar todos os dados para 300 linhas - como treinar não aos sábados, mas às terças-feiras. Como resultado, o modelo em OOS, que era lucrativo, tornou-se não lucrativo.
Essas novas 300 linhas (cerca de 8% do total) trouxeram outras fichas e outras divisões, que se tornaram melhores para dados ligeiramente alterados.
Repeti a mudança em 300 para 50000 linhas. Parece ser apenas 0,8% das novas linhas. Mas as alterações no OOS também são significativas, embora não tão fortes quanto com 5.000 linhas.

Em geral, há um ajuste não apenas ao tamanho da janela, mas também ao início da janela. Pequenos deslocamentos fazem uma grande diferença no resultado. Não há características fortes, tudo está no limite de 50/50 ± 1-2%.
 
Eu esqueceria o treinamento em intervalos. A RL já demonstrou seu fracasso nessa questão. A Wizard também escreveu sobre isso quando eu estava interessado nesse tipo de coisa. Muitas abordagens e a impossibilidade de se concentrar em algo :)
 

Senhores, especialistas e acadêmicos deste tópico, por favor, expressem sua opinião sobre o seguinte:

E se considerarmos o forex como um jogo de jogos. Como o xadrez. Ou Go, ou qualquer outro.
Dividimos o jogo em lotes: 500 etapas cada. Cada etapa é um preço de fechamento por hora. 500 etapas correspondem a um mês médio de negociação.
Inserimos qualquer coisa + estado do saldo.
Definimos duas regras: se o saldo cair 30% ou se o jogo terminar com um saldo negativo, o jogo começa novamente.
Total de N jogos (digamos 120 - como 10 anos)
O objetivo é vencer todos os jogos, independentemente do saldo positivo. Em resumo, fechar todos os meses com saldo positivo.

Ações do agente:
1) Comprar 0,01
2) Comprar 0,02
3) Comprar 0,03
4) Comprar 0,04
5) Comprar 0,05
6) Comprar 0,06
7) Comprar 0.07
8) Comprar 0.08
9) Comprar 0.09
10) Comprar 0.1

11) Vender 0.01
12) Vender 0.02
13) Vender 0.03
14) Vender 0.04
15) Vender 0.05
16) Vender 0.06
17) Venda 0.07
18) Venda 0.08
19) Venda 0.09
20) Venda 0.10

21) Fechamento 0.01
22) Fechamento 0.02
23) Fechamento 0.03
24) Fechamento 0.04
25) Fechar 0,05
26) Fechar 0,06
27) Fechar 0,07
28) Fechar 0,08
29) Fechar 0,09
30) Fechar 0,10

31) Fechar tudo

32) Não abrir uma posição
33) Pular um movimento

Total de 33 ações.

A recompensa é diferida - igual à diferença entre o preço de abertura da posição e o preço de fechamento das posições parciais e totais.
O saldo de entrada fornecerá uma fração do estado que o agente conhece. Afinal, de acordo com as regras, o estado do ambiente deve mudar com as ações do agente. O agente não pode alterar o gráfico de preços, mas pode influenciar seu saldo que entra no estado. É como o análogo de peças em um tabuleiro. O agente não sabe quantos milhões de passos podem ser dados com elas, mas ele sabe quantas peças lhe restam no tabuleiro.

Assim, não é necessário memorizar cada candle seguinte (se ele dará um sinal de menos ou de mais), mas aprendemos a sacrificar pequenos drawdowns (peças no tabuleiro) para obter lucro no final.

Li na Internet como treinar uma rede neural se ela tiver mais de uma saída, eles escrevem sobre DQN. Como se o q-learning fosse uma memorização estúpida de estados e, no caso de um novo estado, o resultado fosse deplorável, e o DQN fosse uma projeção de estados memorizados em novos estados, como resultado da escolha do estado ideal a partir de ações over_dofig.


Afinal, no xadrez há um número condicionalmente desconhecido de estados e, nessas condições, a rede neural vence um ser humano. Por que não tentar um método semelhante em um jogo chamado "freaking forex for fuck's sake"?

 
Ivan Butko #:

Senhores,

Então, qual é a pergunta?
 
mytarmailS #:
Então, qual é a pergunta?

Opinião sobre a tentativa de ensinar forex ensinando os agentes a jogar jogos.

Há algum peixe que tenha tentado algo assim, com alguma experiência?