NeuroRobo e um teste radical de capacidade de generalização da inteligência artificial

Nesse post iremos fazer um teste dos modelos de inteligência artificial do NeuroRobo, e sua capacidade de aprendizado, partindo do seguinte desafio, em três etapas:

1.Otimização inicial: fazer uma otimização com apenas os últimos 30 dias de mercado.

2.Teste de generalização: Com o Setup e aprendizado obtido em 1, fazer um backtesting de 365 dias (1 ano), com 12 meses anteriores totalmente desconhecidos pelo robô.

3.Avaliação de generalização: avaliar a curva de capital para verificar se houve consistência de aprendizado.

Vamos começar pela etapa 1, preparando os parâmetros de entrada que serão otimizados:

tela-neurorobo-pro-20190602-1

Ainda na etapa 1, inciamos a otimização, com um período de 30 dias (no caso de 2019.05.02 a 2019.06.02):

tela-neurorobo-pro-20190602-2

tela-neurorobo-pro-20190602-3

E analisamos os resultados obtidos, escolhendo o setup de maior escore (45):

tela-neurorobo-pro-20190602-4

Clicando nesse setup chegamos em sua curva de capital:

tela-neurorobo-pro-20190602-6

Agora vamos iniciar a etapa 2, fazendo uma mudança radical da data de início de backtesting, alterando apenas o ano, de 2019 para 2018, ou seja de 2019.05.02 para 2018.05.02, tornando um backtesting de 1 mês em 13 meses:

tela-neurorobo-pro-20190602-5

O resultado é a curva de capital abaixo:

tela-neurorobo-pro-20190602-7

Agora iniciamos a etapa 3, analisando e comparando as duas curvas de capital. Note inicialmente que a primeira curva de capital corresponde ao final dessa segunda, com um maior período, apenas em escala menor.

Outro ponto relevante é comparar as métricas dos dois backtestings:

tela-neurorobo-pro-20190602-9

tela-neurorobo-pro-20190602-8

Note que alguns parâmetros sofrem maior ou menor impacto, mas o robô conseguiu manter um fator de lucro de 1,29 e fator de recuperação de 3,84 partindo de uma amostra de apenas 24 trades e generalizando para 574 trades.

Na verdade, a tecnologia de inteligência artificial do NeuroRobo mostra dois pontos muito fortes nesse teste: grande capacidade de generalização a partir de uma amostra pequena e forte adaptação a mercados desconhecidos.

Se você acha fácil esse desafio, experimente fazer isso com qualquer robô, e verá a grande dificuldade de os resultados se manterem alinhados entre as três etapas, pelos mais variados problemas, como sobreajuste, falta de inteligência reativa do robô, uso de indicadores, etc.

__________
Por Rogério Figurelli em 02/06/2019