Documentação

Aplicações

Última atualização em 6. 5. 2015 por Mark Fric

Matriz de Avanço

Walk-Forward Matrix é uma característica poderosa e única na plataforma StrategyQuant. Ela pode ajudá-lo com duas coisas:

  1. Verificar a robustez da estratégia
    se a estratégia passar no teste Walk-Forwad Matrix significa que com a ajuda da reoptimização de parâmetros é adaptável a uma grande variedade de condições de mercado
  2. Encontre o período ideal para a reoptimização da estratégia
    ajudará você a identificar a melhor freqüência de otimização

Padrão Otimização do Walk-Forward testa os resultados da estratégia com reoptimização periódica, digamos a cada 300 dias.
Mas como sabemos qual é o melhor período de reoptimização? Só podemos adivinhar, a menos que utilizemos a Matriz Walk-Forward que testará várias combinações de períodos de reoptimização.

O que é Walk-Forward Matrix?

É simplesmente um conjunto de otimizações Walk-Forward realizadas com diferentes números de períodos de reoptimização e diferentes Out of Sample %.

O resultado da WF Matrix poderia ser como na imagem abaixo - mostrando o resultado total mais o período ideal de reoptimização.

Também mostrará um gráfico 3D de pontuações (resultados de robustez) todas as combinações de OOS / execuções realizadas nesta matriz WF.

Este quadro e esta tabela serão explicados no final deste artigo, vamos começar com o exemplo completo primeiro.

Exemplo de Matriz de Avanço em StrategyQuant

Executar a Walk-Forward Matrix é quase tão simples quanto executar a otimização WF, nas próximas linhas mostrarei o processo completo.
Todo o processo de utilização da WF Matrix é quase igual à utilização de uma otimização WF, portanto, neste exemplo, descreverei apenas as diferenças.
Você pode se referir a Exemplo de otimização do Walk-Forward para os detalhes sobre as etapas não descritas.

Conteúdo:

  1. Carregando uma estratégia de otimização
  2. Definição de valores de otimização
  3. Configuração de percursos a pé
  4. Verificação dos resultados
  5. Interpretando os resultados

Etapa 1: Carregando uma estratégia de otimização

Temos que mudar para a janela do Otimizador e carregar a estratégia que queremos otimizar.

Desta vez vamos mudar para o modo Walk-Forward Matrix e definir os parâmetros. A WF Matrix realiza uma série de otimizações simples de Walk-Forward, então temos que configurar por qual número de períodos (runs) e OOS % ele passará. Para isso, podemos usar os campos Start, Stop e Increment.

Na matriz, temos que especificar quais combinações queremos testar para a Otimização do Walk-Forward. Em nosso exemplo, usaremos os períodos 5, 7, 9, 11, 13, 15 corridas e OOS % 20, 30, 40.

Nota!
A computação da Matriz Walk-Forward é muito demorada, porque ela tem que executar a otimização completa do Walk-Forward para cada combinação na matriz. É melhor não definir muitos passos, pelo menos se você quiser ter os resultados relativamente rápido.

Há um novo tipo de otimização Walk-Forward disponível - Simulação - que pode melhorar a velocidade de computação da otimização Walk-Forward ou matriz WF 10-100x mais rápida.


Etapa 2: Definição de valores de otimização

Passo 3: Configuração dos percursos a pé

Essas configurações são definidas da mesma forma ou de forma muito semelhante à de Exemplo de otimização do Walk-Forward.

Podemos clicar no botão Início para iniciar os testes.


Etapa 4: Verificação dos resultados

Como dito anteriormente, a análise da Matriz Walk-Forward pode demorar muito tempo, portanto, espere até que ela esteja concluída. Você pode usar menos parâmetros, menos passos e menos combinações de WF para diminuir o número de testes necessários e fazer com que a análise termine mais rapidamente.

Quando a otimização termina, mais uma vez obtemos um novo resultado Walk-Forward Matrix em nosso banco de dados.

Quando terminar, veremos que temos apenas dois resultados no banco de dados - estratégia original e resultado da matriz Walk-Forward.

O resultado da matriz WF em banco de dados nos mostra o melhor Lucro Líquido de todas as otimizações realizadas no Walk-Forwad. Vamos clicar duas vezes no resultado da WF no banco de dados para abri-lo em detalhes.

Os detalhes mostram o resultado final do teste de robustez - se a estratégia passou ou falhou no teste - e um gráfico 3D configurável que pode exibir os resultados para todas as combinações de matrizes.

Abaixo dos resultados finais, você pode escolher qualquer combinação Walk-Forward que foi testada e ver os resultados detalhados abaixo.

Quando mudarmos para a tabela Equity, veremos também os resultados da otimização Walk-Forward para uma combinação selecionada da tabela WF Matrix.

A linha azul representa a estratégia reoptimizada e a linha cinza mais fina representa a estratégia original não otimizada.
Podemos ver claramente que esta estratégia tem um melhor desempenho se for periodicamente reoptimizada.

Observe que estes resultados e gráfico de equidade são exibidos para a otimização selecionada - 7 execuções com 20% OOS. Se você escolher outra combinação, os resultados e o gráfico terão um aspecto diferente.


Interpretando os resultados

Como foi dito no início deste artigo, a Walk-Forward Matrix serve a ambos como um verificação da robustez da estratégia e como um ferramenta para encontrar o período ideal para a reoptimização da estratégia.

Usando a matriz Walk-Forward como uma verificação de robustez

A otimização da estratégia utilizando a otimização Walk-Forward com vários parâmetros nos permite ver se a estratégia "sobrevive" durante diferentes períodos de reoptimização, com diferentes durações históricas nas quais foi otimizada.

O gráfico Score 3D nos mostra o resultado de robustez para cada combinação de parâmetros, é uma ótima ferramenta para identificar e evitar a otimização excessiva (ajuste de curvas). As estratégias robustas parecerão ter mudanças graduais, ao invés de abruptas, na trama superficial.

O que estamos procurando é que o maior número possível de combinações WF sejam bem sucedidas.
Como mínimo, estou procurando um conjunto de pelo menos 3×3 combinações onde há mais sucessos do que fracassos.

Quando clicamos no botão Configurar, podemos configurá-lo para que StrategyQuant reconheça isto automaticamente - em nosso exemplo, queremos um grupo de combinações 3×3 de testes Walk-Forward simples onde pelo menos 7 destes 9 testes Walk-Forward sejam bem sucedidos.

Em nosso exemplo, existem dois grupos desse tipo, seus limites são desenhados com cores amarela e azul. Em ambos os casos, 7 dos 9 testes Walk-Forward passaram (indicados pela cor verde, os testes são marcados com círculos vermelhos).

Se apenas um desses grupos 3×3 for encontrado na matriz, eu considero a estratégia robusta. Isto grupo significa que não apenas a estratégia se beneficia da reoptimização, mas que também pode ser reoptimizada utilizando períodos diferentes e ainda mantém sua rentabilidade - isto é um sinal de robustez.

O que determina o sucesso de uma única otimização Walk-Forward?

Acima avaliamos todas as combinações testadas do Walk-Forward para determinar se a estratégia é robusta, verificando se a maioria das otimizações de um único WF passou em nossos critérios.
Mas como decidimos que uma única otimização Walk-Forward passou ou não?
Para isso, utilizamos Nota de robustez que é computado para cada uma das otimizações do Walk-Forward.

A pontuação de robustez é totalmente personalizável. Podemos definir todas as condições que desejamos observar na tabela de componentes da pontuação Robustez (1) e definir seus valores-limite. Verifique a descrição dos componentes de pontuação avançada em Otimização do Walk-Forward artigo.

O valor principal do limiar de robustez (2) significa quantas destas pontuações utilizadas devem passar para que o resultado WF seja considerado bem sucedido.

Podemos ver que, por exemplo, 9 corridas / 20% OOS falharam porque 2 em 6 pontuações não passaram - a pontuação de robustez é apenas 66% (4 em 6 é 66%) em vez dos 80 % necessários passaram os valores de pontuação.

É sempre bom olhar para as combinações que falharam - qual foi a razão de seu fracasso?
Devemos olhar também para os detalhes. Você tem todas as combinações falhadas? Talvez seus critérios de sucesso sejam muito apertados.

Usando a Matriz Walk-Forward para encontrar o período ideal de reoptimização

Esta é a extensão natural da verificação da robustez. Quando encontramos, por exemplo, um grupo 3×3 de otimizações Walk-Forward simples, prefiro selecionar aquele que está no meio dele.
StrategyQuant faz isso automaticamente para nós (se o configurarmos corretamente e o resultado for exibido logo abaixo do resultado final):

Lembre-se, a estratégia deve ser robusta também para a reoptimização - portanto, a data exata da reoptimização não deve importar, desde que mantenhamos a reoptimização e o período de história aproximadamente como deveriam ser.

No caso desta estratégia eu posso reoptimizar a estratégia agora mesmo (agosto) sobre uma história de 2 anos, e pretendo reoptimizá-la no próximo ano em agosto (daqui a um ano).

Gráficos avançados em 3D

Nova EstratégiaQuant lhe oferece uma nova funcionalidade - gráficos 3D de todas as combinações Walk-Forward realizadas. Como já mencionado, o gráfico 3D mostra valor para cada combinação de parâmetros e é uma ótima ferramenta para identificar e evitar a otimização excessiva. Estratégias robustas parecerão ter mudanças graduais no gráfico de superfície.

Você pode exibir gráfico 3D de lucro líquido, Drawdown, Stagnation, Profit Factor, Stability ou qualquer outro valor em três modas diferentes - como superfície, gráfico de barras ou um mapa térmico.

Dica - verifique também o artigo Descrição dos valores avançados do Walk-Forward para descrição de vários valores que podem ser usados em filtros ou mostrados em banco de dados.

Este artigo foi útil? O artigo foi útil O artigo não foi útil

Assine
Notificação de
1 Comentário
Mais antigo
Novidades Mais Votados
Feedbacks em linha
Ver todos os comentários
Mario Gordon
Mario Gordon
29. 12. 2018 2:18 am

Hi,

Estou procurando que na nova versão do SQ não exista o parâmetro WF estabilidade do lucro líquido, que poderia ser a opção para selecionar? você pode criar um novo guia com os novos parâmetros para o SQ4 ?