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

 
elibrarius:

Talvez seja sensato...

Mas foi-nos dito que tudo estava a ser provado e substanciado na universidade, e que também tivemos experiências feitas no laboratório. E não nos foi dito "Tomem-no como verdade, o que não requer provas".

Eu concordo ) mas acho que ele cobriu toda a teoria com outros tópicos, você só precisa reler tudo

O fórum é um meio de comunicação muito pobre, para mim... há muita informação, 90% dela é esquecida e o resto é esquecido ou mal lido... daí, há uma ligeira onda de mal-entendidos entre os participantes.

 
Maxim Dmitrievsky:

Concordo com isto, mas ele parece ter descrito a teoria noutros tópicos, só precisas de reler tudo

O fórum é um meio de comunicação muito pobre, para mim... Demasiada informação, 90% dela é esquecida, o resto é esquecida ou mal lida... daí, há uma ligeira onda de mal-entendidos entre os participantes.

Eu não a compresso/descompresso, mas preciso de mais tempo). Vai sem retorno.
Você precisa colocar coisas importantes em um blog ou em um artigo (mas elas têm que ser aceitas), é mais fácil fazer um blog. Caso contrário, você esquece tudo o que queria dizer e os outros, e esquece seus próprios pensamentos com o tempo. E depois atira o link do blog para o fórum e discute-o...
 
Aleksey Terentev:

Neste momento, existe um modelo estável. Ainda precisa de trabalhar nisso, mas ocupado com outras tarefas.

Input = preço + 13, 26 yema;

Pré-processamento, saída = sigmóide (max, min, close), delta (open-close), derivada (max, min, close), logaritmo da derivada (max, min, close), detrend (close-eme13, close-eme26), yema(13, 26), yema derivado(13, 26); Converter conjunto de dados em séries temporais de conjuntos de dados (1 vela + 5 última). Total 16 x 6 = 96 parâmetros.

Arquitetura:
BatchNormalization(96);
GRU(96, L2, Dropout=0,5, 'elu');
GRU(64, L2, Dropout=0,5, 'elu');
BatchNormalization(64, Dropout=0,3);
Dense(32, Dropout=0,3, 'elu');
Dense(16, 'elu');
Dense(8, 'elu');
Dense(3, 'softmax');
Optimizer=Nadam;
Perda=Centralização transversal categórica;

Os sinais BouncedMA saem de uma vela à frente (acima no ramo);

Estimativas: perda ~0,7-0,8; precisão ~0,55;
Mas tais estimativas do modelo não falam sobre a qualidade dos seus sinais. São inferiores, devido ao facto de os sinais serem de treino = 1.0, 0.95, 0.0, -0.95, -1.0, E a previsão da classe de compra/venda flutua ~abs(0.45, 0.7).
Além disso, de um conjunto de dados de 5000 linhas, o treinamento é executado em 0,8 partes, o que significa que o modelo nem sequer vê os últimos dados de cotação (~1000 linhas). A previsão é feita nos últimos 100 castiçais.

Como você pode ver, o treinamento pode ser interrompido em ~45 épocas.


Código, Indicador.

É assim que as mensagens neste tópico devem ser. Dados reprodutíveis, código e resultado. Isto pode ser discutido, complementado e comparado. Tudo o resto é um disparate sem valor.

Muito bem. Vou mostrar o mesmo modelo em R/MT um pouco mais tarde, vamos comparar tanto o volume como a qualidade do código. Eu também estou muito ocupado neste momento. Mas com certeza voltará a este tópico.

Boa sorte.

 
Alexander_K2:

Mais uma vez.

Para a previsão, é crucial, incrivelmente importante, conhecer as leis de distribuição dos valores previstos.

Você não os conhece para preços, ou para incrementos, ou para o tempo entre cotações. Além disso, você nem sequer tenta encaixá-los de uma forma ou de outra. Então como é que se pode prever? Estes arquivos de carrapatos infames já araram através de um bilhão de comerciantes. Resultado = 0.

Fiz apenas um pouco de trabalho com isto e estou no preto todas as semanas. Eu praticamente agarrei o Graal pelas orelhas ontem (e afinal era o gato do meu Schrodinger...)

Alexander! o que você diz merece um blog ou um artigo, o fórum perde seu fio condutor ... pense sobre isso, talvez as idéias principais podem ser colocadas em um blog, pelo menos de forma abstrata, e link para ele a fim de manter a linha do tempo ... não deve levar muito tempo

 

Peço ao Homem com letra maiúscula que não seja preguiçoso e apresente o modelo de sua NS sequencialmente:

1. input - incrementos não importa o tempo entre eles

2. input - incrementos com tempo exponencial entre aspas.

3. Para diferentes volumes de amostra

Formalize-o como um artigo (não é por nada).

 
Maxim Dmitrievsky:

Alexander! Seus argumentos são dignos de um blog ou artigos, o tópico se perde no fórum... pense nisso, talvez as idéias principais possam ser colocadas em um blog, pelo menos no abstrato, e dê um link para manter a cronologia... não deve levar muito tempo

Sim, sim, estou a pensar no artigo, mas ainda não tenho tempo.

 
Alexander_K2:

1. input - incrementos, independentemente do tempo que os separa

2. input - incrementos com tempo exponencial entre aspas.

for(int i=start;i<rates_total;i++) 
    {
     Buffer1[i]=close[i]/close[i-1];
     Buffer2[i]=close[i]/close[i-3];
     Buffer3[i]=close[i]/close[i-7];
     Buffer4[i]=close[i]/close[i-20];
     Buffer5[i]=close[i]/close[i-53];
     Buffer6[i]=close[i]/close[i-143];
     Buffer7[i]=close[i]/close[i-387];
     Buffer8[i]=close[i]/close[i-1046];
    }
é possível alimentar-se nesta forma? ou precisa de uma diferença?
 
Maxim Dmitrievsky:
está bem alimentar-se nesta forma?

Eu tenho um gerador de números exponenciais que define o tempo para ler a citação

 
Alexander_K2:

Eu tenho um gerador de números exponenciais que define o tempo para ler a citação

É o mesmo aqui, mas os dados são retirados de qualquer TF, não por carrapatos. Talvez os carrapatos não façam sentido?

 
Maxim Dmitrievsky:

É exactamente o mesmo aqui, apenas os dados são retirados de um TF arbitrário, não por carrapatos... talvez carrapatos não façam sentido? porque em qualquer escala deveria ser a mesma distribuição

Talvez não. Eu já me acostumei a eles simplesmente.

O importante é que o artigo tenha uma metodologia para que o fio da experimentação ao longo do tempo possa ser rastreado. E esta coisa não se perderá - será algo para discutir e ficar como uma memória.