Como automatizar seu Walk Forward Analysis (WFA)

Como automatizar a execução do seu teste WFA utilizando a ferramenta Extreme Forward Analysis e quais os benefícios dessa abordagem

Kaio Valente
devtrader
6 min readJul 29, 2022

--

No artigo “O guia definitivo do Walk Forward Analysis (WFA)” apresentei todo o racional da abordagem, passando pelos seus objetivos, como executá-lo manualmente e suas boas práticas. Recomendo que leia-o antes de iniciar neste artigo.

Ao final do artigo comentei brevemente sobre a necessidade de expandir o teste para cobrir a maior combinação possível de configurações de Steps, períodos In Sample e Out of Sample. E sobre a dificuldade de executar todos os passos necessários manualmente: backtests, otimizações e coleta de dados.

É exatamente este ponto que vamos tratar neste artigo.

É possível automatizar todo esse processo?

Felizmente sim, é possível. E o ganho de produtividade é absurdo.

Quem é acostumado a executar WFAs manualmente, sabe que o processo pode demorar horas, dependendo da quantidade de steps. Com a utilização da ferramenta, a execução de todas as combinações do WFM é feita em poucos minutos. E tudo isso, integrado ao Metatrader 5 (MT5).

Vamos Começar

Tudo começa com uma simples otimização no MT5. Selecionamos o período total que queremos validar e os parâmetros de otimização, assim como o range de cada um. Conforme o exemplo abaixo:

Exemplo de configuração de otimização no Metatrader 5

No exemplo acima, utilizamos o robô desenvolvido neste artigo. Selecionamos 2 parâmetros para otimização:

  • Média: de 5 períodos até 20 períodos, variando de 1 em 1.
  • Take Profit: de 500 pontos até 1000 pontos, variando de 100 em 100.

Você não precisa se preocupar em definir a quantidade de steps ou a proporção de In Sample e Out of Sample, a ferramenta fará isso tudo automaticamente.

Ao término da otimização, um arquivo .wfa será gerado na pasta compartilhada do seu MT5.

Vamos fazer upload deste arquivo no BotSpot.

Conhecendo o Extreme Forward Analysis

As principais funcionalidades presentes na ferramenta são:

  • Separação de períodos In Sample, Out of Sample e cálculo de Steps
  • Processamento do WFA
  • Exibição dos melhores parâmetros em cada step
  • Análise de Significância Estatística
  • Cálculo automático de Walk Forward Efficiency (WFE)
  • Diferentes métricas de avaliação para cálculo de WFE
  • Processamento completo de Walk Forward Matrix (WFM)
  • Geração de gráficos Out of Sample
  • Distribuição de resultados de todos os parâmetros da otimização
  • Exibição de todos os períodos IS e OOS
  • Walk Forward Timeline

Vamos detalhar cada algumas.

Analisando o WFA

Ao iniciar o processamento, dado o histórico utilizado durante a otimização, automaticamente a ferramenta calcula as quantidades possíveis de combinações, levando em consideração a relação IS x OOS e Steps.

No máximo, 12 combinações serão executadas:

IS e OOS em meses

A quantidade de Steps vai variar de acordo com o tamanho do histórico disponível.

Para cada combinação a ferramenta processa todo o WFA, calculando os melhores resultados em período IS, obtendo a melhor parametrização e calculando seu respectivo resultado em OOS. Além de calcular o WFE para cada Step e o WFE da execução geral.

Exemplo de WFA na configuração: Steps 6 | IS: 24 meses | OOS: 6 meses. Métrica: Lucro Médio

Na imagem acima, conseguimos visualizar quanto a estratégia fez de lucro médio mensal no meses em período de otimização (In Sample) e o lucro médio em meses de períodos não otimizados (Out of Sample). A relação entre OOS e IS (WFE), quantidade de operação em cada período e qual a melhor combinação de parâmetros que produziram o resultado de cada step.

Dessa forma, conseguimos avaliar se o WFE foi satisfatório ou não, seguindo as recomendações mencionadas aqui.

A ferramenta também fornece os parâmetros que foram mais frequentes entre todos os steps de execução:

Parâmetros mais frequentes do WFA

Neste caso, é uma otimização de Stop Loss e Take Profit em pontos. Notem que o Stop Loss de 500 pontos foi o melhor em todos os steps.

Métricas de Avaliação

No exemplo acima, estamos utilizando Lucro médio como métrica de avaliação para cálculo do WFE. Mas a ferramenta permite utilizar outras duas opções:

  • CAGR / Média do Drawdown
  • CAGR / Máximo Drawdown
Métrica de Avaliação

Analisando o WFM

Como mencionamos anteriormente, todas as combinações possíveis de Steps, IS e OOS (em meses) são processadas. É nesta sessão que conseguimos visualizar o resultado de todas elas.

A ferramenta exibe a quantidade de steps que foram executados em cada passo.

A significância estatística é calculada com base na quantidade de operações executadas em cada período de otimização e pode ser: baixa, média ou alta.

Por padrão, o melhor resultado de WFE já vem selecionado.

Também é possível visualizar a média do WFE entre todas as combinações e a média de lucro gerada entre todas a curvas OOS.

Walk Forward Matrix

É selecionar e possível ver os detalhes de cada uma destas execuções.

Analisando Curvas Out of Sample

Ao selecionar uma execução, os gráficos com a curva de capital e períodos out of sample serão gerados.

A quantidade de meses, anos e períodos com resultados negativos também são informados.

Estes gráficos são particularmente importantes, pois exibem os resultados em períodos onde a estratégia não foi otimizada. É o que podemos esperar que vá acontecer em live trading.

Estratégias com sinais de overfitting irão apresentar curvas erráticas em períodos OOS.

Gráficos de resultados em períodos não otimizados

Este é um dos principais recursos visuais da ferramenta. Aqui você consegue identificar facilmente se a curva de capital foi gerada com resultados outliers ou se teve períodos negativos consecutivos.

Distribuição de Resultados

Outra feature muito importante é a distribuição de resultados. Neste gráfico conseguimos visualizar a performance de todos os conjuntos de parâmetros da otimização. Cada linha representa o capital acumulado de uma combinação específica de parâmetros.

No eixo X do gráfico, temos a passagem do tempo medida em períodos Out of Sample.

O objetivo é entender o comportamento geral da estratégia utilizando diferentes parâmetros. Quanto mais curvas positivas, melhor.

Essa análise pode ser feita de forma objetiva pelo cálculo da média e desvio padrão. O Z-Score é a relação Média/Desvio Padrão, quanto maior, melhor.

Caso este gráfico apresente muitas linhas negativas, também temos um sinal de overfitting. Já que boa parte das parametrizações não estarão gerado resultados satisfatórios.

WFA Timeline

Também é possível visualizar de forma gráfica o intervalo de datas em cada peíodo In Sample e Out of Sample. É só passar o mouse em cima.

WFA Timeline

Ou atráveis da tabela de períodos:

Períodos In Sample x Out of Sample

Se você deseja executar testes de robustez das suas estratégias de maneira profissional, a ferramenta Extreme Forward Analysis está disponível aqui.

Se você gostou desse tipo de conteúdo e gostaria de acompanhar, siga @devtrader no instagram.

--

--