Discussão do artigo "Algoritmo de aprendizado de máquina CatBoost da Yandex sem conhecimento prévio de Python ou R" - página 6

 
Aleksey Vyazmikin:

Talvez você possa tentar as configurações do artigo?

  • "Período": 8;
  • "Timeframe": 2 Minutes;
  • "Métodos MA": Linear ponderado;
  • "Preço de cálculo": Preço alto.
Parece que tive que definir o capital de US$ 10.000,00 para US$ 200.000,00, então agora tenho pelo menos resultados melhores: Pontuação de 24 para 15 mil negociações com 0,89 PF
 
konorti:
Parece que tive de definir o capital de US$ 10 mil para US$ 200 mil, então agora tenho pelo menos melhores resultados: Pontuação de 24 para 15 mil negociações com 0,89 PF

Em meu código, defino o tamanho do lote igual a um. Considere o código como um modelo para fazer experiências com o CatBoost.

 
Aleksey Vyazmikin:

Em meu código, defina o tamanho do lote igual a um. Considere o código como um modelo para fazer experimentos com o CatBoost.

Obrigado, parece melhor agora, mas com 40 sementes ainda não havia mais de 0,5. Estou tentando usar mais sementes. É diferente se ele for de 1 a 100 por 1 ou de 1 a 10000 com uma etapa de 100?
 
konorti:
Obrigado, parece melhor agora, mas com 40 sementes ainda não havia mais do que 0,5. Estou tentando usar mais sementes. É diferente se for de 1 a 100 por 1 ou de 1 a 10000 com uma etapa de 100?

Faça a quantização e só então aplique a semente. Cada semente é diferente.

 
Aleksey Vyazmikin:

Faça a quantização e só então aplique a semente. Cada semente é diferente.

Obrigado, mas não sei se entendi bem o que você disse. A quantização e a semeadura são preparadas em uma única etapa ao configurá-las no script CB_bat, certo?

De qualquer forma, durante a noite, cerca de 200-300 sementes foram geradas com melhores resultados, e também foram gerados arquivos mqh. Quando fiz o backtesting durante o período de treinamento, a curva do patrimônio líquido aumentou bem, mas quando o testei durante o período de teste e exame, as negociações raramente eram feitas. O período Ma foi de 96, então agora comecei novamente desde o início. Mudei para o DJI30 (para variar) , usei o período 8 e M2 e otimizei apenas o preço e o tipo de MA. Dessa forma, foram geradas muito mais de 15 mil negociações (até reduzi a duração do período, pois o arquivo XXXCB_Save_pred.csv tem cerca de 1,3 Gb e um ciclo de treinamento tem 13 minutos). Defino o parâmetro seed de 1 a 10000 com uma etapa de 100, o que gera cerca de 100 modelos. Espero que haja algum resultado depois disso.

 
konorti:

Obrigado, mas não sei se entendi bem o que você disse. A quantização e a propagação são preparadas em uma única etapa ao configurá-las no script CB_bat, certo?

De qualquer forma, durante a noite, foram geradas cerca de 200-300 sementes com melhores resultados, e também foram gerados arquivos mqh. Quando fiz o backtesting durante o período de treinamento, a curva do patrimônio líquido aumentou bem, mas quando testei durante o período de teste e exame, as negociações raramente eram feitas. O período Ma foi de 96, então agora comecei novamente desde o início. Mudei para o DJI30 (para variar) , usei o período 8 e M2 e otimizei apenas o preço e o tipo de MA. Dessa forma, foram geradas muito mais de 15 mil negociações (até reduzi a duração do período, pois o arquivo XXXCB_Save_pred.csv tem cerca de 1,3 Gb e um ciclo de treinamento tem 13 minutos). Defino o parâmetro seed de 1 a 10000 com uma etapa de 100, o que gera cerca de 100 modelos. Espero que haja algum resultado depois disso.

Recomendo que você primeiro encontre a melhor maneira de quantizar, examinando as diferentes opções e, em seguida, a semente. O ideal é que você procure suas próprias configurações de quantização para cada preditor e, em seguida, combine os resultados. Talvez eu escreva sobre isso no próximo artigo.

 
Aleksey Vyazmikin:


Em anexo, estão o código do EA e o script que organiza toda a infraestrutura - era importante para mim que o que eu estava descrevendo pudesse ser reproduzido - portanto, teste e informe os erros, sugira melhorias - estou à disposição para receber opiniões gerais sobre isso.

Obrigado pelo artigo útil!

É possível aproveitar a GPU para treinar o modelo?

Em uma abordagem "direta", adicionar a opção "--task-type GPU" a _01_Train_All resulta em um erro: Error: change of option sampling_frequency is unimplemented for task type GPU and was not default in previous run

 
SergXO:

Obrigado pelo artigo útil!

É possível usar a GPU para treinar o modelo?

Ao adicionar a opção "--task-type GPU" a _01_Train_All, ocorre o seguinte erro: Error: change of option sampling_frequency is unimplemented for task type GPU and was not default in previous run

Infelizmente, não tenho uma placa Nvidia, portanto, é difícil descobrir a causa. Comece removendo as chaves o máximo possível, pois nem todos os recursos implementados na CPU são compatíveis com a GPU.

 
Aleksey Vyazmikin:

Infelizmente, não tenho uma placa da Nvidia, portanto, é difícil descobrir a causa. Comece removendo as chaves ao máximo, pois nem todos os recursos implementados na CPU são compatíveis com a GPU.


Alexey, boa tarde.

Muito obrigado pelo artigo!

Você poderia me dizer se é possível ensinar a IA anexada ao artigo a calcular e desenhar um ziguezague?


Muito obrigado por sua resposta.

 
User11:


Alexei, boa tarde.

Muito obrigado pelo artigo!

Você poderia me dizer se é possível ensinar a IA anexada ao artigo a calcular e desenhar um ziguezague?


Muito obrigado por sua resposta.

Olá.

Se estivermos falando de substituir um indicador, é possível treiná-lo, mas se estivermos falando de prever extremos, é muito mais difícil, mas o algoritmo CatBoost permite que você faça isso, se houver preditores correspondentes.