Discussão do artigo "Gradient Boosting (CatBoost) no desenvolvimento de sistemas de negociação. Uma abordagem ingênua"

 

Novo artigo Gradient Boosting (CatBoost) no desenvolvimento de sistemas de negociação. Uma abordagem ingênua foi publicado:

Treinamento do classificador CatBoost em Python e exportação do modelo para a mql5, bem como a análise dos parâmetros do modelo e um testador de estratégia customizado. A linguagem Python e a biblioteca MetaTrader 5 são usadas para preparar os dados e treinar o modelo.

O robô compilado pode ser testado no Testador de Estratégia padrão da MetaTrader 5. Selecionamos um tempo gráfico adequado (que deve corresponder ao utilizado no treinamento do modelo) e as entradas look_back e MA_period, que também deve corresponder aos parâmetros do programa em Python. Vamos verificar o modelo no período de treinamento (subamostras treinamento + validação):

Desempenho do modelo (subamostras de treinamento + validação)

Se nós compararmos o resultado com o obtido no testador personalizado, esses resultados são iguais, exceto por alguns desvios do spread. Agora, vamos testar o modelo usando os dados absolutamente novos, desde o início do ano:

Desempenho do modelo em novos dados

O modelo teve um desempenho significativamente pior com os novos dados. Esse resultado ruim está relacionado a razões objetivas, que eu tentarei descrever mais adiante.

Autor: Maxim Dmitrievsky