No post anterior, montamos um gráfico com os scores de todos os competidores (excluindo os zeros, para efeito de visualização) ao longo de cada cenário alternativo usado na Avaliação da Challenge2. Foi interessante comparar como o topo do ranking apresentou uma mediana mais alta e uma menor dispersão dos resultados.

De fato, queremos evitar estratégias que apresentem risco de 'quebra' (retornos mais negativos do que toleramos), mesmo que apenas em cenários extremos. O Teste de Robustez é uma ferramenta que consegue nos auxiliar nesta missão, ao trazer como resultado um score que é a mediana dos scores simulados.

Uma outra maneira de analisarmos o resultado do Teste de Robustez é comparando o ranking no período de Backstest vs o ranking na Avaliação. Os gráficos abaixo foram criados tomando, para cada competidor, a diferença entre seu score e a mediana. Vemos que a curva suave do período do Backtest ('In Sample') deixa de existir, refletindo as mudanças no ranking final.

Podemos fazer alguns comentários sobre as diferenças entre os resultados do Backtest e o Teste de Robustez.

1. Overfit no Backtest. Os algoritmos foram criados e testados em uma janela de dados diferente daquela usada na Avaliação. Um usuário pode, mesmo que não intencionalmente, acabar fazendo um overfit do modelo para a janela de teste e isso resulta em uma performance diferente da esperada.

Recomendamos a leitura dos tutoriais:
• Walk Forward: Testes Dentro e Fora da Amostra
Possíveis Erros nos Modelos
• Escolha do Universo e da Frequência de Observação.

2. Riscos não previstos no código. Seria ingênuo pensar que conseguimos, na construção do algoritmo, mapear e endereçar todos os possíveis riscos em torno da estratégia. Ao passar o algoritmo por possíveis cenários alternativos e avaliar qual teria sido o desempenho da estratégia em cada um, o Teste de Robustez nos traz informação que pode ser usada nesta análise de risco. Os cenários escolhidos para tal são aqueles que apresentam métricas muito ruins (retorno anual negativo ou MDD muito intenso, por exemplo).

Recomendamos a leitura dos tutoriais:
• Backtest vs Teste de Robustez

Esperamos que os tutoriais possam ajudar na evolução individual da nossa comunidade e que os algoritmos repaginados possam participar das futuras competições!

 

BrazilUSA