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

 
mytarmailS #:

Houve alguma negociação ou foi tudo no nível dos testes no r-ka?

Apenas R.

 

Estou longe de ser um profissional em MO, portanto, gostaria de saber como resolver um problema.

Como você sabe, para converter a temperatura de Fahrenheit para Celsius, é usada a fórmula padrão: C = (F-32)*5/9

O GradientBousting mostra excelentes resultados dentro da amostra, mas fora dela o erro aumenta imediatamente.

Por quê? Porque a fórmula é muito simples. O que podemos dizer sobre uma relação complexa no mercado de moedas?)

Como fazer com que esse algoritmo mostre bons resultados em OOS?

[Excluído]  
Evgeni Gavrilovi Bousting mostra excelentes resultados na amostra, mas, além disso, o erro aumenta imediatamente.

Por quê? Porque a fórmula é muito simples. O que podemos dizer sobre a complexa relação no mercado de moedas?)

Como fazer com que esse algoritmo mostre bons resultados em OOS?

Você precisa normalizar todos os dados em um intervalo ou tirar o OOS do mesmo intervalo de valores

Fora dele, o valor extremo do intervalo será previsto, e é assim que funcionam parcialmente a floresta, o bousting e o OOS.
 
Sempre me perguntei por que os pesos são ajustados no testador de estratégias? Está se encaixando...

A melhor solução não seria otimizar o número de neurônios, camadas e tipos de funções (algumas na primeira, outras na última) de ativação no testador de estratégias? E usar a retropropagação do erro como uma mudança de pesos?

Decidi testar a ideia. Rede de camada única (não sei como expandir o número de camadas), função tangente (não sei como alterá-la) nos neurônios, nenhuma função na saída (não sei como colocá-la). Período de treinamento: ano - 2021/08/01-2022/08/01

A otimização consistiu em selecionar os seguintes parâmetros:

- número de dados de entrada (o loop enviou para a entrada o número solicitado de diferenças de preço de fechamento N0-N1, você pode fazer outras coisas, mas os ponteiros não alcançaram) - de 1 a 999 (a variável de matriz não permitiu fazer mais), etapa 1.
- número de neurônios - de 1 a 99 999 (não ria), etapa 1.
- número de conjuntos (Bar++[número de dados de entrada]) - 9 999, etapa 1. Como o treinamento foi realizado em um gráfico de uma hora, há 6500 barras em um ano. O resultado é quase um ano e meio , acho que está tudo bem.
- fator de aprendizado na saída: de 0 a 1 em etapas de 0,00001.
- fator de aprendizado na entrada: de 0 a 1 em etapas de 0.00001
- número de épocas - de 1 a 1000, etapa 1.


Então, vou logo avisando sobre o número de épocas - não consegui mudar nada, nem 1 época nem 1000, não notei muita diferença, provavelmente há alguns erros.

MAS! Observações interessantes:

- quanto maior o número de neurônios, maior o número de negociações (quase todos os candles, se forem previstos em direções diferentes)
- a taxa de aprendizado na entrada nos primeiros 10 melhores resultados é, na maioria das vezes, próxima de 0,7
- a taxa de aprendizado na saída nos primeiros 10 melhores resultados é, na maioria das vezes, próxima de 0,07
- os melhores resultados mostram a fórmula: o número de dados de entrada < o número de neurônios < o número de conjuntos. O melhor resultado (até onde tive paciência para esperar) foi algo assim: cerca de 200 dados de entrada, cerca de 300 neurônios e cerca de 400 conjuntos. Por que o melhor resultado? Porque no backtest - crescimento suave ondulante, nos dois meses seguintes - crescimento suave ondulante e.... no período anterior ao backtest de cerca de 2 meses - crescimento suave ondulado .

Por uma questão de interesse 99 999 neurônios - 50/50, mas, naturalmente - o maior lucro - ou o maior drawdown
. Ao mesmo tempo, o número de entradas não ultrapassou 100 e o número de conjuntos não ultrapassou 100. É um longo tempo de espera. Porém, não se sabe quais resultados seriam mostrados com 1.000 entradas e 1.000 conjuntos, ou 10.000.
 
Evgeni Gavrilovi Bousting mostra excelentes resultados na amostra, mas, além disso, o erro aumenta imediatamente.

Por quê? Porque a fórmula é muito simples. O que podemos dizer sobre a complexa relação no mercado de moedas?)

Como fazer com que esse algoritmo mostre bons resultados em OOS?

É preciso aprender o AMO em uma amostra de treinamento e escolher um modelo em uma amostra de teste....
Validação cruzada do Google
 
СанСаныч Фоменко #:

Somente R

Então, há uma probabilidade de erro no código; você precisa fazer testes com cotações reais ou simular....

Aconteceu comigo recentemente, o sinal olhou para +1 barra, não era um erro óbvio, levou meia hora para resolver....
 
Ivan Butko testador de estratégia? Isso é ajuste...

Não é a melhor saída? .....
O primeiro e o segundo são ajustes, também conhecidos como busca de parâmetros desconhecidos, também conhecidos como otimização.
E não importa o que você está ajustando, pesos, número de neurônios. Neurônios, FUN. Ativação, número de maçãs na cesta.
 
mytarmailS #:
Tanto a primeira quanto a segunda são ajustes, ou seja, busca de parâmetros desconhecidos, ou seja, otimização.
E não importa o que está sendo ajustado: pesos, número de neurônios. Neurônios, FUN. Ativação, número de maçãs na cesta.

Isso é uma coisa triste de se dizer. Não sei o que fazer a respeito.

As opções básicas, onde mais procurar...
 
Ivan Butko #:

É uma coisa triste de se dizer. Não sei o que fazer a respeito.

Essa é a principal opção, onde mais procurar...
Sarcasmo?
 
mytarmailS #:
Sarcasmo?

Não, de forma alguma. Eu simplesmente não sei mais o que fazer. Tentar usar redes neurais do mercado... Acho que também não há nenhuma perspectiva.