Resultado divergente no mesmo ativo no Backtest com quantidade distintas de ativos.

 

Foi executado um backtest de, aproximadamente, 500 ativos e, posteriormente, numa seleção de 99 ativos os resultados (utilizando parâmetros idênticos no backtest – somente a quantidade de ativos é diferente) para alguns ativos apresentam diferença significativa no Profit e na quantidade de operações. Alguém saberia dizer se existe algum bug nas versões recentes (Versão 5 build 2485 – 05/06/2020)?

 
DeltaX.BR:

Foi executado um backtest de, aproximadamente, 500 ativos e, posteriormente, numa seleção de 99 ativos os resultados (utilizando parâmetros idênticos no backtest – somente a quantidade de ativos é diferente) para alguns ativos apresentam diferença significativa no Profit e na quantidade de operações. Alguém saberia dizer se existe algum bug nas versões recentes (Versão 5 build 2485 – 05/06/2020)?

Backtest Genético?
 
Flavio Jarabeck:
Backtest Genético?


Não estou utilizando algoritmo genético.

 

@DeltaX.BR existem muitas possibilidades pra esse problema que você está enfrentando. Aconselho você a postar algumas fotos pra gente poder lhe ajudar melhor.

Mas, vamos aos possíveis erros:

- Você mudou a corretora sem querer. -> Atualmente existem 3 base de dados de histórico (Grupo XP, Modal, Terra). Cada essas base de dados tem divergência muito grande nas informações armazenadas. Exemplo: Quando uma corretora está fora do ar ela deixa de armazenar os ticks e deixa o buraco no histórico lá.

- A latência de backtest está variável. Assim, cada backtest que você fizer você irá obter um resultado um pouco diferente devido a splipagem na entrada.

- Está ativado a calculo em pips.

- Quando você seleciona 500 ativos ele pega uma data de inicio e uma data de fim para o backtest. Essa data de inicio não é o inicio do histórico completo de cada ativo, mas sim o início onde todos os ativos tem histórico. Exemplo: MGLU inicia em 2015 e PETR em 2013 a data de inicio do backtest vai ser em 2015 pq MGLU não tem histórico em 2013. Logo, quando você diminui a quantidade de ativo a data inicial tende a ficar mais antiga.

Creio eu, se você não estiver dando vacilo besta, que seu problema possa ser essa última possibilidade. Verifica a data inicial do backtest quando você selecionar o histórico completo.

 
Hawllysson Almeida:

@DeltaX.BR existem muitas possibilidades pra esse problema que você está enfrentando. Aconselho você a postar algumas fotos pra gente poder lhe ajudar melhor.

Mas, vamos aos possíveis erros:

- Você mudou a corretora sem querer. -> Atualmente existem 3 base de dados de histórico (Grupo XP, Modal, Terra). Cada essas base de dados tem divergência muito grande nas informações armazenadas. Exemplo: Quando uma corretora está fora do ar ela deixa de armazenar os ticks e deixa o buraco no histórico lá.

- A latência de backtest está variável. Assim, cada backtest que você fizer você irá obter um resultado um pouco diferente devido a splipagem na entrada.

- Está ativado a calculo em pips.

- Quando você seleciona 500 ativos ele pega uma data de inicio e uma data de fim para o backtest. Essa data de inicio não é o inicio do histórico completo de cada ativo, mas sim o início onde todos os ativos tem histórico. Exemplo: MGLU inicia em 2015 e PETR em 2013 a data de inicio do backtest vai ser em 2015 pq MGLU não tem histórico em 2013. Logo, quando você diminui a quantidade de ativo a data inicial tende a ficar mais antiga.

Creio eu, se você não estiver dando vacilo besta, que seu problema possa ser essa última possibilidade. Verifica a data inicial do backtest quando você selecionar o histórico completo.

O erro ainda persiste até hoje (19/07/2020):


O backtest do MT5 apresenta valores inconsistente e contraditórios quando é executado sucessivamente com, exatamente, os mesmos parâmetros e mesmo conjunto de dados.

O cache (adicionado nas versões mais recentes), possivelmente, está ocultando falhas no procedimento de backtest a partir das últimas versões.

O conjunto de teste tem 100 papéis e o backtest foi executado sucessivamente excluindo o arquivo de cache.

Aparentemente, o resultado do backtest não pode ser considerado, pois, pode apresentar resultados muito divergentes.

Arquivos anexados:
MT5.png  110 kb
MT5B.png  21 kb