Como o Filtro de Falso Rompimento pode ser testado?
Como o Filtro de Falso Rompimento funciona como conceito
O Filtro de Falso Rompimento visa reduzir negociações acionadas por rompimentos que não se comportam como esperado. Na prática, um “rompimento” é primeiro detectado usando alguma regra (por exemplo, o preço cruzando um nível), e então um filtro permite que a negociação continue ou a bloqueia com base em informações adicionais.
Um desafio central do teste é separar duas coisas:
- A mecânica estável do design do seu filtro (a lógica que você aplica).
- As condições variáveis do mercado e dos dados (regime de volatilidade, custos semelhantes a spreads, qualidade de execução).
O teste deve, portanto, focar em se o filtro melhora um resultado pré-definido em comparação com uma linha de base, sem assumir previsibilidade futura.
Defina uma hipótese testável e uma linha de base
Para testar o Filtro de Falso Rompimento, comece com uma hipótese que possa ser falsificada. Exemplos de padrões de hipótese (escritos como afirmações neutras):
- “Quando um sinal de rompimento é seguido por uma condição pós-rompimento específica, o filtro reduz a parcela de resultados que revertem rapidamente.”
- “Em comparação com a regra de rompimento inicial isolada, adicionar o filtro muda as métricas de desempenho em uma direção consistente.”
Em seguida, defina sua linha de base claramente. Linhas de base comuns são:
- Sem filtro: apenas a regra inicial de detecção de rompimento é usada.
- Filtro ingênuo: uma regra simples e transparente que não usa as mesmas informações do seu filtro proposto (útil para verificar se qualquer melhoria não se deve apenas à redução da frequência de negociações).
Mantenha as métricas alinhadas com a hipótese. Se sua hipótese é sobre falsos rompimentos, escolha métricas que reflitam a frequência de reversão ou o comportamento semelhante a rebaixamento, não apenas retornos brutos.
Configure a divisão de dados e o protocolo de avaliação
Um filtro pode parecer eficaz se for acidentalmente ajustado para um período. Use um protocolo que minimize vazamento:
- Divisão baseada no tempo
- Treinamento (para escolher regras ou limiares).
- Validação (para selecionar entre configurações alternativas de filtro).
- Teste (para avaliação final, intocada).
Evite embaralhamento aleatório. O comportamento de rompimento frequentemente depende de condições de mercado que variam ao longo do tempo.
-
Múltiplos regimes Se possível, garanta que o conjunto de teste inclua diferentes condições de volatilidade e tendência. Sem assumir que qualquer “tipo de mercado” se repetirá, você pode pelo menos verificar se o efeito do filtro persiste em períodos variados.
-
Consistência no ponto de decisão Certifique-se de que a decisão do filtro seja tomada apenas usando informações que estariam disponíveis no momento da decisão. Um modo de falha frequente é usar características que só podem ser conhecidas depois do fato (por exemplo, máximas/mínimas futuras).
Custos e premissas de fatores variáveis
Mesmo para teste de conceito, você precisa de premissas explícitas para os componentes de cálculo. Caso contrário, os resultados podem ser enganosos.
Inclua um modelo de custos que corresponda ao seu ambiente em um nível aproximado:
- Custos de transação (comissões ou spreads como uma estimativa total por negociação).
- Atraso de execução (se o seu filtro exigir espera por confirmação, você pode entrar mais tarde a preços diferentes).
- Margem de derrapagem (quanto piores os preenchimentos podem ser em comparação com uma estimativa de preço médio).
Declare essas premissas como variáveis no seu plano de teste. Em seguida, execute verificações de sensibilidade:
- Cenários de custo baixo vs. médio vs. alto.
- Premissas de derrapagem ligeiramente diferentes.
Se a melhoria aparente do filtro desaparecer sob custos mais realistas, o teste sugere que o efeito não é robusto.
Evidência ou design de teste de exemplo
Abaixo está um design de teste estruturado que você pode implementar sem depender de preços ao vivo.
- Escolha uma regra de rompimento Defina-a como uma etapa determinística, como:
- “Um evento de rompimento ocorre quando o preço cruza um nível pré-definido.”
Declare sua definição de evento claramente: qual período de tempo, qual tipo de nível (máxima anterior, faixa móvel) e como você lida com casos limítrofes.
- Defina a condição do filtro A condição do filtro deve estar ligada à hipótese de falso rompimento. Por exemplo (forma genérica):
- “Após o rompimento, exija que uma condição de acompanhamento seja mantida por N passos; caso contrário, bloqueie a negociação.”
Declare N e a condição de acompanhamento de uma forma que não possa ser interpretada de maneira diferente por outro leitor.
- Defina a rotulagem do resultado Se sua hipótese é sobre rompimentos “falsos”, você deve definir o que “falso” significa operacionalmente.
- Por exemplo, “uma negociação bloqueada é aquela em que o preço reverte além de um limiar dentro de um certo horizonte.”
Novamente, defina o horizonte e o limiar de reversão como premissas explícitas.
- Compare com a linha de base Calcule as mesmas métricas para:
- Linha de base: eventos de rompimento sem o filtro.
- Filtrado: eventos de rompimento com o filtro.
No mínimo, compare:
- Métricas de frequência (quantos eventos são permitidos vs. bloqueados).
- Métricas de resultado adverso (com que frequência os critérios de reversão ocorrem).
- Métricas de risco (quão grandes se tornam as excursões adversas).
Limitações e riscos: o que pode dar errado
Pelo menos uma limitação material deve fazer parte do plano de teste.
Modos de falha comuns:
-
Overfitting a um único período de tempo Se os limiares do filtro forem ajustados usando o conjunto de dados completo, os resultados do teste podem refletir apenas aquele período específico.
-
Vazamento via informações pós-evento Se qualquer característica do filtro usar informações que não estariam disponíveis quando a decisão era necessária, o teste é inválido.
-
Dependência de regime Um filtro pode ajudar durante um regime de lateralização, mas falhar em regimes de tendência (ou vice-versa). Isso significa que uma única métrica de teste pode esconder instabilidade.
-
Custos e incompatibilidade de execução Se sua avaliação assumir preenchimentos irrealisticamente bons, um filtro que espera por confirmação pode ter desempenho inferior quando custos reais forem incluídos.
-
Problemas de qualidade de dados Diferentes fontes de dados podem ter diferentes carimbos de tempo ou comportamentos semelhantes a microestrutura. Mesmo ao usar o mesmo ativo, pequenas diferenças podem mudar a detecção de “rompimento”.
Relações históricas não estabelecem resultados futuros. Mesmo um teste bem projetado fornece evidências sobre o passado, não uma garantia sobre o futuro.
Verificação e próximas perguntas a fazer
Depois de calcular os resultados, verifique a afirmação central em vez de confiar em um único número.
- Verificações de robustez
- Reexecute o teste com premissas de custo diferentes, mas razoáveis.
- Varie as configurações do filtro dentro de uma faixa estreita para ver se o comportamento muda drasticamente.
- Avalie múltiplos ativos/períodos de tempo se seus dados permitirem.
-
Verifique o mecanismo Se o filtro melhorar os resultados, confirme que isso está alinhado com o mecanismo pretendido (por exemplo, menos reversões ou menores excursões adversas). Se as melhorias ocorrerem apenas porque a frequência de negociações cai, você precisa reinterpretar o resultado.
-
Documente a falsificabilidade Escreva quais resultados contradiriam a hipótese. Isso ajuda a distinguir “funciona em alguns casos” de “funciona por uma razão estável”.
-
Reverifique os fatores variáveis Se os resultados mudarem significativamente quando você alterar as premissas sobre atraso de execução ou custos, isso é evidência de sensibilidade e uma limitação da abordagem.
Se quiser, compartilhe sua definição de rompimento e a regra exata do filtro que você planeja testar (incluindo tempo de decisão e horizonte).