Documentação

Aplicações

Última atualização em 16. 11. 2018 por Mark Fric

Perfil de Otimização e Permutação de Parâmetros do Sistema em StrategyQuant

Este artigo será sobre duas novidades importantes que foram adicionadas ao StrategyQuant X Build 114.

Eles estão relacionados um ao outro, e ambos estão tentando responder às perguntas mais importantes ao criar uma nova estratégia comercial:

  • A minha nova estratégia tem alguma vantagem real?
  • Posso esperar que funcione com dados desconhecidos / no futuro?


Ambos os métodos são baseados na execução e avaliação da otimização da estratégia - isto significa que você deve otimizar os parâmetros da estratégia primeiro, e depois aplicar um ou ambos os métodos para avaliar os resultados de todas as execuções de otimização.


Perfil de Otimização

é descrito no vídeo de Robert Pardo disponível aqui: https://www.buildingrobuststrategiesmasterclass.com/overcome-curve-fitting

Por favor, observe-o para ter uma compreensão completa desta técnica.

A idéia do Perfil de Otimização é simples - após a otimização dos parâmetros estratégicos, fazemos e avaliamos um "perfil" de todas as execuções de otimização.

Há 5 coisas básicas a serem procuradas no perfil de otimização:

  1. Quão grande parte de todas as otimizações é positiva - a lógica por trás disso é que a estratégia deve funcionar sob uma ampla gama de parâmetros
  2. O lucro médio para todas as otimizações deve estar acima de zero - similar ao ponto anterior
  3. A distribuição de todos os lucros é a mais uniforme possível - o que significa que não salta de positivo a negativo com cada otimização
  4. A otimização superior não deve ser muito grande (dentro de 1 desvio padrão) em comparação com o resultado médio da otimização - para que os resultados não fossem distorcidos por apenas uma corrida com desempenho excepcional
  5. A forma da paisagem de otimização na carta 3D deve ser "estável". - isto só pode ser verificado visualmente


Como o Perfil de Otimização é implementado no StrategyQuant X

O melhor é que você não precisa fazer nada - o perfil de otimização é criado e salvo para cada otimização que você executa - então se você estiver executando uma otimização simples ou Walk-Forward, StrategyQuant criará um perfil de otimização para sua otimização que você pode avaliar.

 

Verificação do perfil de otimização nos resultados

Se a estratégia contém o perfil de Otimização, uma nova aba "Perfil de Otimização" será visível em Resultados.
Lá você pode ver painéis para todas as propriedades que devem ser avaliadas de acordo com as regras de perfil de otimização.

 

O primeiro painel exibe os números e porcentagens de otimizações lucrativas e perdedoras, e a primeira verificação que avalia o ponto 1. da lista anterior.

O segundo painel exibe histograma de lucro líquido para todas as execuções de otimização. Cada barra representa o lucro líquido alcançado nesta otimização, e a linha vermelha mostra o lucro líquido médio para todas as execuções.
Abaixo do gráfico estão três verificações que avaliam os pontos 2. a 4. da lista anterior.

O terceiro painel à direita exibe a tabela de otimização 3D em um dos quatro estilos possíveis. Você pode escolher os parâmetros que estão nos eixos X e Y, assim como qual valor é exibido no eixo Z.

 

Usando o Perfil de Otimização em verificação cruzada

Novo crosscheck chamado Opt. Perfil / Sistema. Parâmetro. Permutação foi adicionado ao sistema e você pode ativá-lo na seção de verificações cruzadas das configurações.

Tem uma configuração simples - você só escolhe o tipo de parâmetros a serem otimizados e o número máximo de otimizações diferentes a serem executadas.

Então, na Filtragem, você pode configurar as condições FAIL/PASS - quais devem ser as condições do perfil de otimização para que a estratégia passe esta verificação.

Você pode ativar/desativar a verificação em particular e definir o limite para cada verificação.

 

Permutação de parâmetros do sistema (SPP)

este método foi originalmente descrito por Dave Walton do StatisticTrade, e está disponível no papel aqui: http://papers.ssrn.com/sol3/papers.cfm?abstract_id=2423187

Mais uma vez, por favor, leia o artigo original para uma compreensão completa.

A idéia por trás disso (em termos muito simplificados) é que a partir da estratégia em seu olhar atual, com seus valores de parâmetros atuais, não podemos determinar se a estratégia tem alguma vantagem. Se a estratégia foi criada pela mineração de dados (como foi no StrategyQuant X), então seus parâmetros poderiam ter sido selecionados aleatoriamente para que seus valores se ajustassem mais ou menos aos dados históricos e tornassem a estratégia mais ou menos lucrativa.

A idéia por trás da Permutação de Parâmetros do Sistema é que devemos testar TODOS os parâmetros possíveis (ou seja, otimizar a estratégia com todas as combinações possíveis), e somente a partir dos dados de todas as execuções de otimização podemos fazer algumas suposições sobre o desempenho realista da estratégia.

As informações importantes que o SPP calcula são Mediana valores para cada estatística de desempenho da estratégia - Lucro líquido, Drawdown, Drawdown %, Sharpe ratio, e assim por diante. Assim, podemos ver o lucro líquido mediano, o Drawdown mediano e assim por diante.

Estes valores medianos são o que podemos considerar (de acordo com o documento) como sendo a estimativa realista do desempenho real da estratégia em determinados dados.

O uso é simples - em vez de lucro líquido do backtest nos dados principais, você deve considerar o lucro líquido mediano computado usando o SPP.


Verificação da Permutação dos Parâmetros do Sistema nos Resultados

Se a estratégia contém dados SPP, um novo separador "Sys. Parâmetro. Permutation" será visível em Resultados.

É muito simples - à esquerda há uma tabela que mostra os valores medianos para todas as estatísticas computadas a partir do backtest aplicando o método SPP nos resultados de otimização.

À direita estão os gráficos que mostram a freqüência e à direita os gráficos configuráveis que exibem histogramas de contagem, com valores medianos para valores configurados.


Usando a Permutação de Parâmetros do Sistema em verificação cruzada

O SPP é usado na nova verificação cruzada chamada Opt. Perfil / Sistema. Parâmetro. Permutação.

A configuração desta verificação cruzada já estava descrita no Perfil de otimização seção.

A parte filtrante permite verificar os valores medianos de todas as colunas padrão - por exemplo, o lucro líquido mediano e o Drawdown mediano.

Para usar os valores medianos nos filtros, você deve primeiro escolher as colunas que deseja ver, e depois editar cada uma delas com um duplo clique e escolher "Optar". Perfil / Sistema. Parâmetro. Permutaiton" como valor em Do backtest campo.

Isto fará com que a coluna da verificação cruzada de Permutação de Parâmetros do Sistema, que calcula o valor mediano da coluna original.

Exibição de valores medianos em banco de dados

Os valores medianos calculados a partir do SPP também podem ser exibidos em banco de dados - da mesma forma que no filtro, como descrito acima. Basta clicar em Gerenciar visão, adicionar alguma nova coluna, trocar seu Do backtest para "Opt. Perfil / Sistema. Parâmetro. Permutação"e você verá seus valores medianos no banco de dados.

Observe que estes valores só serão computados se esta verificação cruzada estiver ativa e se houver um perfil de otimização computado para a estratégia.


Nota importante sobre testes máximos e combinações possíveis de parâmetros

Ambos os métodos funcionam com a suposição de que TODAS as combinações possíveis de parâmetros estratégicos são testadas. Isto é possível se sua estratégia tiver apenas 2 ou 3 parâmetros configuráveis.
De fato, é altamente recomendável que sua estratégia tenha o mínimo possível de parâmetros configuráveis (graus de liberdade).

Na realidade, porém, a estratégia comercial geralmente tem mais parâmetros, e o número de todas as suas combinações possíveis pode ir de milhares a bilhões ou até trilhões.
Não é possível ou mesmo possível testar todas essas combinações.
Em StrategyQuant X, resolvemos isso limitando o número máximo de testes de otimização - este é o 
Testes máximos número que você pode definir em configurações de otimização. Uma vez atingido este limite, a otimização irá parar.

Limitar o número de testes é a única abordagem realista, mas esteja ciente deste limite e de seu impacto.

Se o número de todas as combinações de parâmetros possíveis for muito maior que este limite, você estará avaliando apenas um pequeno subconjunto de todas as variações de estratégia possíveis, o que também limita de alguma forma as informações que você obterá ao aplicar o perfil de otimização ou o método SPP.

Existem alguns métodos mais avançados para abordar esta questão, e iremos adicioná-los à StrategyQuant no futuro, portanto, fique atento para mais.

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

Assine
Notificação de
2 Comentários
Mais antigo
Novidades Mais Votados
Feedbacks em linha
Ver todos os comentários
SteveChou
SteveChou
27. 5. 2020 3:07 pm

Acho que se a distribuição de desempenho fosse uma distribuição normal.

A otimização superior é difícil de ser pequena do que o resultado médio da otimização + 1 stddev, estou certo?

tomas262
tomas262
Responder a  SteveChou
3. 7. 2020 10:13 pm

Steve, você pode dar um exemplo para apoio.com
Podemos discutir mais detalhes