Gerar estratégias de trading automaticamente
Quem ouve pela primeira vez que estratégias de trading podem ser geradas automaticamente, e que nesse processo surgem milhares de candidatas em poucas horas, fica desconfiado. À primeira vista, isso parece um gerador aleatório com uma interface bonita. No início de um processo desses, o acaso está de fato presente, mas ele é apenas o primeiro de vários passos. No fim deste artigo, você vai saber como um processo desses realmente acontece no StrategyQuant X, por que de milhares de estratégias sobram apenas algumas no final, e o que essas sobreviventes podem te dizer, e o que não podem.
Como o software constrói novas estratégias
O Builder do StrategyQuant X conhece dois caminhos para construir novas estratégias: geração aleatória e evolução genética. Nenhum dos dois é fundamentalmente melhor, você escolhe o modo antes de um processo começar.
Em uma estratégia recém-gerada, o Builder combina padrões de preço, indicadores técnicos, tipos de ordem e componentes relacionados em regras de entrada e saída. O resultado é, a princípio, apenas uma estratégia composta de forma válida, não automaticamente uma estratégia com sentido.
O tamanho do espaço de combinações possíveis é mostrado por um número da documentação do fabricante: somando todas as regras e sequências, chega-se por cálculo a trilhões de estratégias possíveis diferentes, e o software consegue, segundo o fabricante, gerar e testar milhares de novas estratégias por hora. Isso é uma ordem de grandeza, não uma contagem exata para um processo específico, e não diz nada sobre quantas delas no fim são utilizáveis.

Por que a simples quantidade não diz nada sobre a qualidade
Nem toda estratégia gerada aleatoriamente foi positiva no backtest, mas entre as milhares que surgem por hora, segundo a documentação do fabricante, muitas ganharam mais do que perderam no teste. Quantas são de fato depende dos blocos escolhidos e das configurações da execução, não existe uma taxa fixa para isso. E mesmo que uma estratégia tenha ido bem no backtest, isso diz, por enquanto, apenas algo sobre o passado, não sobre o futuro.
É exatamente por isso que a quantidade pura não é um critério de qualidade. O fato de um software produzir milhares de candidatos em uma hora não diz nada sobre quantos deles no fim servem para algo. A ordem de grandeza da seção anterior é uma medida da diversidade do espaço de busca, não da qualidade do que acaba saindo dali.
O primeiro filtro: regras automáticas de descarte
Como a geração aleatória também pode produzir bobagem, por exemplo regras que se excluem mutuamente ou que não fazem sentido econômico, existem regras automáticas de descarte no Builder. Dependendo da configuração, uma grande parte, segundo a documentação até a maioria, das estratégias geradas pode ser descartada já nesse ponto, antes mesmo de haver qualquer avaliação por métricas de backtest.
Essas regras não são um efeito colateral que é melhor desligar. Elas são o primeiro de vários filtros que transformam uma quantidade enorme e desorganizada em algo manejável.
Como uma execução de estratégias acontece na prática
Um fluxo típico, que a documentação descreve como modelo, é assim: importar ou baixar dados de preços, configurar o Builder, iniciar a execução, examinar as estratégias geradas e depois retestar, otimizar ou melhorar mais os candidatos que sobraram. Isso é um modelo, não uma regra rígida, cada etapa pode ser adaptada ao seu próprio procedimento.

Um exemplo da documentação mostra isso no EURUSD, sem regras de negociação predefinidas: primeiro você escolhe o modo Build, depois configura os dados de preço e a divisão em in-sample e out-of-sample, em seguida escolhe os blocos que o Builder pode usar e inicia a geração. Os melhores resultados vão automaticamente para o banco de dados da execução. O exemplo vale para exatamente essa configuração, outros mercados ou timeframes não precisam necessariamente das mesmas configurações.
O segundo filtro: verificação robusta, e um caso normal desanimador
Quem passou pelas regras de descarte ainda está longe de terminar. A documentação do fabricante cita um exemplo que surpreende muita gente: pode acontecer sem problema que, de 1.000 estratégias que tiveram um resultado positivo no primeiro backtest, apenas uma única passe pelas verificações de robustez mais rigorosas e, com isso, entre sequer como candidata para o trading ao vivo. Isso é um exemplo da ordem de grandeza, não uma cota fixa que vale para toda execução, e não diz nada sobre se essa única estratégia de fato serve para o trading ao vivo.
Para a maioria que trabalha com geração automática pela primeira vez, isso parece uma decepção. Mas é o caso normal, não um sinal de que algo deu errado. É exatamente para isso que existe o segundo filtro.

O que um backtest verde não promete
Um backtest que parece positivo é uma afirmação sobre o passado, não sobre o futuro. Estratégias que foram otimizadas para um determinado ambiente de mercado tendem a ter um desempenho pior assim que as condições mudam. Isso explica por que uma estratégia que funcionou bem por muito tempo de repente começa a perder dinheiro, mesmo sem nenhuma mudança no código em si. Esse comportamento não pode ser totalmente previsto ou evitado, isso faz parte da natureza dos regimes de mercado.
Um segundo ponto diz respeito à análise what-if: melhorias que você vê ali para um cenário podem se dever ao acaso ou sair diferente no trading real, porque as operações influenciam umas às outras. Por isso o fabricante recomenda retestar uma estratégia após cada ajuste com as configurações assumidas, antes que você confie nela.
Por que nós da QANTERIS ensinamos exatamente esse processo
Um motivo pelo qual muitos iniciantes fracassam com estratégias construídas por conta própria é que eles não conhecem a diferença entre geração bruta e candidato verificado. Material didático sobre o StrategyQuant X que trata exatamente desse tema descreve por que a maioria das estratégias construídas por iniciantes fracassa, como milhares de ideias de trading podem ser geradas e testadas automaticamente, e como se podem construir estratégias mais robustas a partir disso. É por isso que nós da QANTERIS mostramos esse fluxo passo a passo, em vez de apenas explicar a interface.
O que esse método mostra, e o que ele não mostra
A geração automática e seus filtros mostram como uma estratégia se comportou nos dados históricos que foram usados para o teste. Eles não mostram se ela funciona da mesma forma sob condições de mercado futuras e desconhecidas. Isso não é uma fraqueza do software, é um limite de qualquer método que se baseia em dados de preços passados, seja gerado automaticamente ou escrito à mão.
O que resta no fim: um processo que, a partir de uma enorme quantidade de estratégias possíveis, filtra em várias etapas um pequeno número de candidatos, cada etapa com uma tarefa própria, mas sem que isso diga algo sobre resultados futuros.
Este artigo tem fins educativos e não é aconselhamento de investimento. Resultados passados, incluindo os de backtests, não garantem resultados futuros. Negociar instrumentos financeiros envolve riscos e você pode perder dinheiro.
Este artigo tem fins educacionais e não é aconselhamento de investimento. Resultados passados não garantem resultados futuros.
E você, como faz? Conte na comunidade. Grátis, no seu idioma.
Cadastre-se grátis