Método de barreira tripla para rotular eventos financeiros
Entenda como limites ajustados pela volatilidade e um prazo máximo definem o rótulo de um evento, veja um exemplo de primeiro toque e conheça as decisões de dados e validação que precisam ser documentadas.
Neste guiaPor que o rótulo acompanha o caminho dos preços
Resumo breve
O método de barreira tripla define uma barreira superior de preço, uma inferior e um limite de tempo para cada evento. Pela convenção deste artigo, o primeiro toque na barreira superior recebe +1, o primeiro toque na inferior recebe −1, e o vencimento recebe 0 somente se nenhuma barreira de preço tiver sido tocada antes. A escala de volatilidade precisa ser conhecida no início do evento; o caminho posterior dos preços serve para criar o rótulo, não as features.
Por que o rótulo acompanha o caminho dos preços
Um rótulo de horizonte fixo pergunta o que aconteceu depois de um número predeterminado de barras, mesmo que um limite de lucro ou perda tenha sido atingido antes. O método de barreira tripla substitui esse único ponto final por três condições de encerramento. A pergunta passa a ser: a partir do início do evento, qual limite é alcançado primeiro, se algum for alcançado?
O método é apresentado no capítulo 3 de *Advances in Financial Machine Learning*. A documentação do mlfinpy sobre rotulagem descreve limites dinâmicos e meta-rotulagem. Trata-se de uma forma de definir o alvo de um modelo supervisionado; por si só, não é uma regra de negociação nem uma promessa de lucro.
Defina o evento e a escala no início
Considere o evento i começando no instante tᵢ, com preço inicial P₀. Nesse momento, estime a volatilidade-alvo σᵢ usando apenas informações disponíveis até então. Se σᵢ for expressa como retorno percentual, os preços-limite para uma posição comprada são P₀(1 + m_PTσᵢ) na barreira superior e P₀(1 − m_SLσᵢ) na inferior. Os multiplicadores m_PT e m_SL podem ser diferentes, então as distâncias entre as barreiras não precisam ser simétricas.
Defina também a barreira vertical: o tempo máximo de permanência ou uma barra futura específica. A cada barra após tᵢ, verifique se algum dos dois limites horizontais foi tocado; caso contrário, avance até o limite de tempo. Mantenha σᵢ fixo no valor definido no início do evento. Recalcular a escala com volatilidade futura mudaria o alvo usando informações indisponíveis no momento da previsão.
O gatilho do evento e o rótulo são etapas diferentes. Um filtro como o CUSUM pode selecionar quando um novo evento começa, mas não decide se o resultado será +1, −1 ou 0. Depois de definido tᵢ, a barreira tripla acompanha o caminho futuro até o primeiro toque ou o vencimento. A documentação do mlfinpy também separa os horários de evento, que podem vir de um filtro CUSUM, do alvo de volatilidade e dos horários da barreira vertical.
Convenção dos rótulos e exemplo numérico
Na convenção de três classes deste artigo, o primeiro toque na barreira superior gera +1, na inferior gera −1 e na vertical gera 0 somente quando nenhuma barreira horizontal foi tocada antes. Algumas implementações atribuem o rótulo no vencimento pelo sinal do retorno terminal. Por isso, confira o código e documente a convenção adotada junto aos dados-alvo. O código de rotulagem do mlfinpy inclui a lógica de primeiro toque e uma variante para a barreira vertical.
Exemplo sintético: P₀ = US$ 100 e σᵢ = 2%. Com m_PT = 2, a barreira superior fica em US$ 104; com m_SL = 1,5, a inferior fica em US$ 97. A barreira vertical está na terceira barra futura.
- US$ 100 → US$ 104,50 toca a barreira superior na primeira barra futura, portanto recebe +1.
- US$ 100 → US$ 96,50 toca a barreira inferior na primeira barra futura, portanto recebe −1.
- US$ 100 → US$ 101 → US$ 102 → US$ 101,50 chega à terceira barra sem tocar US$ 104 nem US$ 97. Pela convenção, o rótulo é 0, embora o retorno terminal seja +1,5%.
O último caminho mostra por que um rótulo de primeiro toque não equivale ao sinal do retorno em um horizonte fixo. Outra definição pode ser escolhida, mas as classes e seus significados precisam ficar explícitos.
Separe as features dos resultados futuros
Cada linha de features Xᵢ deve usar apenas informações disponíveis em tᵢ, inclusive a estimativa σᵢ usada para definir os limites. O caminho dos preços entre tᵢ e a saída é necessário para calcular yᵢ, mas não pode entrar nas features, na normalização ou na escolha de limites como se já fosse conhecido no início do evento.
Na meta-rotulagem, um modelo primário escolhe o lado da posição, por exemplo, comprado ou vendido. Um modelo secundário usa esse lado como contexto e aprende se deve aceitar ou rejeitar o sinal; em geral, seu alvo é binário e não prevê novamente a direção. A meta-rotulagem muda a pergunta do modelo, mas não permite usar features futuras.

Dados de preço e custos definem o significado do alvo
Apenas os preços de fechamento não revelam toques dentro da barra. Se a máxima e a mínima da mesma barra OHLC ultrapassarem as duas barreiras, a ordem não pode ser determinada com essa barra. Use dados mais granulares quando disponíveis ou defina antes uma regra consistente e conservadora, como considerar primeiro a barreira mais desfavorável. Não escolha a ordem depois de conhecer o resultado.
Se o rótulo pretende representar P&L líquido, inclua os custos relevantes: comissão, spread, slippage, impacto de mercado e, quando aplicável, funding ou custo de empréstimo. O toque em um nível não garante execução naquele preço; um gap pode ultrapassar o stop ou o alvo, e o preço efetivo pode ser diferente. Informe se o rótulo descreve o caminho bruto dos preços ou um P&L líquido sob hipóteses específicas de execução.
Eventos sobrepostos exigem validação apropriada
Eventos que começam próximos podem compartilhar parte do mesmo caminho futuro dos preços. Se um rótulo fica no treino e outro que depende daqueles mesmos preços fica no teste, a pontuação pode parecer melhor porque os alvos não são independentes. Registre o início e o fim de cada rótulo e use validação purged para remover amostras de treino cujo intervalo de resultado se sobrepõe ao do teste. Veja também o guia sobre purged cross-validation e embargo em séries temporais financeiras.
Documente o tipo e a frequência dos preços, a disponibilidade das features, o método de estimativa de σᵢ, os multiplicadores, a barreira vertical, a regra intrabar e a convenção para o vencimento. Defina essas escolhas antes de avaliar o modelo. A barreira tripla deixa o alvo mais explícito, mas não corrige outros vazamentos de features, a seleção repetida de estratégias, hipóteses irreais de execução ou mudanças no regime de mercado.
Perguntas frequentes
Q1Posso recalcular sigma a cada barra?
Estime σᵢ com as informações disponíveis quando o evento começa e use esse valor para definir a largura das barreiras daquele evento. Atualizar a escala com dados futuros pode introduzir informações que não existiam no momento da decisão inicial.
Q2O rótulo 0 sempre significa retorno zero?
Não. Neste artigo, 0 significa que o prazo terminou sem um toque anterior em uma barreira de preço. O retorno terminal pode ser positivo ou negativo. Algumas implementações usam o sinal do retorno terminal, então verifique e documente a regra adotada.
Q3A barreira tripla prova que uma estratégia será lucrativa?
Não. O método cria um alvo supervisionado a partir do caminho dos preços. Os resultados também dependem de features válidas, validação, custos, execução e condições de mercado; o rótulo não garante lucro.
Fontes e leituras adicionais
Relatar um problema
Vamos preparar um e-mail com o link deste artigo. Mark só receberá o relato depois que você enviar
Verificação rápida
Terminou o guia? Confira o que aprendeu com 3 perguntas
Pergunta 01
Quando um evento recebe o rótulo 0 pela convenção deste artigo?
Escolha uma resposta para ver a explicação
Glossário de opções
Processo em que a obrigação de cumprir o contrato, após um aviso de exercício, é atribuída ao vendedor e pode criar entrega ou compra de ações.
Ler o guia completoDiferença entre ofertas de compra e vendaDiferença entre a melhor oferta de compra e a melhor oferta de venda de um contrato. Essa diferença é um custo implícito para entrar e sair da posição e pode aumentar quando a liquidez é baixa.
Ler o guia completo