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

 
Yuriy Asaulenko:

Como você lê livros? Coloca-as debaixo do rabo?

É muito popular. Um problema ou tem uma solução ou não tem. Se não o fizer, não pode resolvê-lo. Se houver, não vais conseguir resolvê-lo. E NS não tem nada a ver com isso.

Portanto, leia o livro sugerido acima. Há sempre uma solução óptima numa quantidade de uma, o quão satisfatória é uma segunda questão.

 

Como prometido, reportei os resultados do teste de diferentes indicadores para a selecção de um modelo de classificação binária. O teste inclui 17 indicadores: Logloss; BalancedErrorRate; LogLikelihoodOfPrediction; WKappa; Kappa; BrierScore; ZeroOneLoss; Accuracy; BalancedAccuracy; MCC; Precision; Recall; F1; AUC; HingeLoss; HammingLoss; CrossEntropy, o padrão é Logloss. A metodologia é simples, executar CatBoost com as mesmas configurações nas mesmas amostras para treinamento, teste e verificação final, os valores numéricos são retirados do arquivo para a verificação final, que não participa do treinamento. Para cada indicador são formadas 8 árvores de diferentes tamanhos de 1 a 8, o que calcula a média, bem como a capacidade de selecionar bons valores do conjunto, e também foi utilizado para determinar o significado do redimensionamento das árvores. Quatro alvos foram usados para treinamento, as estratégias diferindo mais pelo alvo para o movimento de tendência. Os resultados de cada indicador foram resumidos na tabela seguinte:



Verificou-se que alguns dos indicadores são totalmente consistentes entre si e foram reunidos em grupos - o identificador do grupo indicador é mostrado a verde.


Segue-se uma tabela de resumo para cada indicador, onde os valores máximo e mínimo do indicador são destacados e os valores de pico em toda a amostra são coloridos.

A seguir é apresentada uma tabela resumida do lucro médio de cada indicador, como uma variante de identificação de um indicador universal para todas as variantes da meta - o montante médio máximo.



Como escrevi anteriormente, eu estava testando minha fórmula nesses dados em paralelo para selecionar o melhor indicador entre os dados obtidos - "%Todos*1%", os resultados foram combinados em tal tabela para cada indicador que participava do teste.

Tal abordagem permitiu uma classificação baseada na soma das pontuações do Fator de Seleção para cada indicador, como mostrado na tabela abaixo.

Curiosamente, o favorito no primeiro ranking, Precisão, estava no fundo, sugerindo que não é versátil, mas que seu desempenho foi muito bom para o primeiro alvo.

Também é possível considerar quais as opções que este fator selecionou da tabela de cada indicador e olhar para a classificação na soma destes indicadores.

Para resumir, é possível agregar os resultados em uma tabela de resumo e somar as pontuações para os lugares - quem tiver menos essa métrica pode ser melhor.

Podemos concluir que Logloss é mais uma média do que a melhor métrica para a seleção de modelos, ao mesmo tempo diferentes TS podem exigir diferentes métodos de seleção de modelos treinados. Assim, por exemplo, para uma amostra mais equilibrada por alvo (colunas_100) A precisão é perfeita, mas para uma amostra desequilibrada, onde por exemplo 20% (colunas_200) e menos do que o alvo "1", as coisas correm mal com ele e aqui é razoável usar o HingeLoss que lidou perfeitamente com esta tarefa. O mais equilibrado, talvez, foi o indicador Recall - ele pode ser usado para sondar o solo, acho eu. Tal indicador como a Precisão revelou-se extremamente pouco fiável e desequilibrado, por um lado conseguiu encontrar a melhor opção com o alvo mais equilibrado, mas por outro lado, a média de todas as opções de árvores que não abateram bem, pelo que não é muito adequada para encontrar amostras desequilibradas ou afinação de modelos.

 
Alexander_K2:


A tendência é fácil e suavemente despejada pela sanita com uma cobiçada chave inglesa que encontrei literalmente "de joelhos".


Pergunto-me o que terá acontecido.

 
Aleksey Vyazmikin:

Grandes testes, obrigado.

Há alguma informação sobre o diferencial dos erros do teste do traine? Basta levar qualquer um Precisão ou logloss lá, os mais populares

por exemplo, algo como isto

2018.11.27 02:26:37.780 Core 2  2018.11.23 23:59:59   RlMonteCarlo TRAIN LOSS
2018.11.27 02:26:37.780 Core 2  2018.11.23 23:59:59   0.19023
2018.11.27 02:26:37.780 Core 2  2018.11.23 23:59:59   RlMonteCarlo TEST LOSS
2018.11.27 02:26:37.780 Core 2  2018.11.23 23:59:59   0.43959

Vestígio direito teste esquerdo:

Estou interessado na capacidade do modelo de generalizar, e quais são as proezas para lidar com o excesso de roupa. Vejo que estás rapidamente a aprender a lidar com a ferramenta. Finalmente, conversas substantivas :)))

 
Maxim Dmitrievsky:

Óptimos testes, obrigado.

Existe alguma informação sobre o diferencial de erros do teste de treino? basta ter uma Precisão ou logloss lá, os mais comuns

por exemplo, algo como isto

Vestígio direito teste esquerdo:

Estou interessado na capacidade do modelo de generalizar, e quais são as proezas para lidar com o excesso de roupa. Vejo que dominaste a ferramenta rapidamente. Finalmente, conversações substantivas :))

Catbust utiliza três amostras - uma é uma amostra de teste utilizada para treinamento, a segunda para testar o treinamento de cada modelo e selecionar o melhor modelo, que foi obtido no processo de treinamento e provou ser estável nos dados do teste, e a terceira é uma amostra de exame, que é marcada após o final do treinamento pelo modelo selecionado. Uma vez que pode realmente aprender muito bem na amostra de treinamento, não faz sentido comparar os resultados na amostra de teste com a amostra de treinamento, mas o teste com a amostra do exame faz. Mas como lidei com tudo isto manualmente no Excel, não fui suficientemente forte para verificar os resultados da amostra de teste também. Tais dados são obviamente necessários para avaliar o modelo, e devem ser levados em conta e analisados, mas o processo ainda não está automatizado (apenas comecei a escrever um roteiro para preparar a configuração para o processamento - longe da análise) e eu não posso falar sobre quaisquer números.

Não notei nenhum método especial para combater o sobretreinamento, exceto métodos de parar o treinamento em caso de leituras extra boas... O algoritmo em si tem alguma aleatoriedade que pode ser desligada - também permite escolher não os melhores preditores para ramificar a árvore, o que deve ajudar a evitar o sobre-aprendizado.

Agora eu quero alimentar os preditores em porções e ver o que acontece, porque o modelo tem o princípio da árvore gananciosa de qualquer maneira e isso às vezes impede que ele obtenha melhores resultados.

 
Aleksey Vyazmikin:

Catbust utiliza três amostras - uma é o teste, no qual aprende, a segunda é testar a aprendizagem de cada modelo e selecionar o melhor modelo, que foi obtido no processo de aprendizagem e provou ser estável nos dados do teste, e a terceira é uma amostra de exame, que é marcada pelo fato de o modelo selecionado ter sido treinado. Uma vez que pode realmente aprender muito bem na amostra de treinamento, não faz sentido comparar os resultados na amostra de teste com a amostra de treinamento, mas o teste com a amostra do exame faz. Mas como lidei com tudo isto manualmente no Excel, não fui suficientemente forte para verificar os resultados da amostra de teste também. Tais dados são obviamente necessários para avaliar o modelo, e devem ser levados em conta e analisados, mas o processo ainda não está automatizado (apenas comecei a escrever um roteiro para preparar a configuração para o processamento - longe da análise) e eu não posso falar sobre quaisquer números.

Não notei nenhum método especial para combater o sobretreinamento, exceto métodos de parar o treinamento em caso de leituras extra boas... O algoritmo em si tem alguma aleatoriedade que pode ser desligada - também permite escolher não os melhores preditores para ramificar a árvore, o que deve ajudar a evitar o sobre-aprendizado.

Agora quero me alimentar em porções de preditores, e ver o que acontece, já que o modelo ainda tem um princípio ganancioso de construção de árvores e isso às vezes impede que ele obtenha melhores resultados.

É exatamente isso que é irritante, as integrações eternas que levam mais tempo do que o desenvolvimento da TC. Eu também gostaria de trabalhar em píton, mas ainda não há tempo.

 
Maxim Dmitrievsky:

É isso que é tão irritante, as integrações eternas que levam mais tempo do que o desenvolvimento da TC. Eu também gostaria de fazer uma pitão, mas ainda não tenho tempo.

Eu quero usá-lo com o MT5 porque não estou trabalhando com python, eu gosto que o ketbust tem versão console.

 
Aleksey Vyazmikin:

Eu não estou com python, eu gostei que o ketbust tem versão console, eu quero tornar esta versão compatível com o MT5.

Você pode usar os consoles, mas eles são desconfortáveis para usar

 
Maxim Dmitrievsky:

quase todos têm consolas, são constrangedores de trabalhar com

Eu não sabia, quem mais os tem?

Porque não conveniente - haverá um script no MT5, onde você pode implementar configurações e enumeração de parâmetros - muito melhor do que com puro código Python ou R.

O Catbust é capaz de trabalhar com fazendas graficas, o que também tem atraído minha atenção.

 
Aleksey Vyazmikin:

Eu não sabia, quem mais o tem exactamente?

Porque não conveniente - haverá um script no MT5, onde você pode implementar configurações e enumeração de parâmetros - de qualquer forma melhor do que com puro código Python ou R.

Catbust sabe como trabalhar com fazendas grpf, o que também chamou minha atenção.

todas as bibliotecas têm o mbo, esta é apenas a libra dos profissionais.

não confortável e demorado com MO em idiomas de baixo nível, especialmente pesquisa