Revisão de pesquisa · ponderação de amostras · estudo 10
Sample Uniqueness & the Sequential Bootstrap
Rótulos triple-barrier sobrepostos compartilham retornos futuros, então uma linha não é uma observação independente, medimos o quão gravemente isso superestima a sua amostra, confirmamos que o sequential bootstrap restaura a sample uniqueness e perguntamos se corrigir isso de fato ajuda o modelo
Quando você rotula uma barra com uma triple-barrier, o rótulo da barra t é decidido pela trajetória de preço ao longo de todo o intervalo até que a primeira barreira seja tocada. Dois rótulos cujos intervalos se sobrepõem são movidos por alguns dos mesmos retornos futuros, então não são independentes, e a suposição de uma-linha-uma-observação por trás de bootstrapping, bagging e contagem de tamanho de amostra é falsa. López de Prado mede isso com concurrency, sample uniqueness média e effective sample size, e propõe o sequential bootstrap para extrair amostras menos redundantes. Reproduzimos tudo isso em barras reais em três mercados, e então fazemos a pergunta que realmente importa: a correção melhora a generalização de um modelo, ou apenas a sua contabilidade? O playground abaixo permite que você assista ao effective sample size colapsar conforme os rótulos se sobrepõem.
Advances in Financial ML, Cap. 4
López de Prado (2018) · sample weights & uniqueness
Código & dados
lopez-de-prado-work-review / projects / 15
the claim
O que diz López de Prado
- Um rótulo triple-barrier resolve-se ao longo de um intervalo, então rótulos com intervalos sobrepostos compartilham retornos futuros e não são IID. Tratar cada linha como uma observação independente superestima a informação que você detém e provoca overfit em bootstrapping, bagging e contagem de tamanho de amostra.
- Concurrency (quantos rótulos estão ativos em uma barra), sample uniqueness média (a média de 1/concurrency ao longo da vida de um rótulo) e effective sample size (a soma da uniqueness, muito abaixo da contagem de linhas) quantificam o problema. O sequential bootstrap extrai linhas favorecendo baixa sobreposição com linhas já extraídas, de modo que um modelo de bagging treina em dados menos redundantes e mais únicos.
our result
O que encontramos
- A sobreposição é severa em todo mercado: a sample uniqueness média é 0,44 (cripto), 0,41 (ações) e 0,41 (forex). Uma mediana de ~15.000 rótulos por instrumento vale apenas ~6.000–6.600 observações verdadeiramente independentes, o effective N é ≈41–44% da contagem bruta.
- O sequential bootstrap eleva a uniqueness da amostra extraída em todos os 42 de 42 instrumentos (ganho mediano ≈+0,016 a +0,018). A afirmação mecânica reproduz-se universalmente; o ganho absoluto é modesto neste nível de sobreposição.
- Veredicto honesto: as correções encolhem o gap de overfit in-sample versus out-of-sample (40/42 instrumentos) e estabilizam as feature importances (34/42) exatamente como a teoria prevê, mas NÃO melhoram a discriminação out-of-sample (o bagging ingênuo vence o log-loss em todos os 42, AUC ≈0,62 ingênuo vs ≈0,56 corrigido). Isto é um tratamento de robustez, não uma vantagem de desempenho; um resultado metodológico, não um resultado de lucro.
O resultado em três linhas
Sobreposição · 42 instrumentos
O effective N é ~41–44% da contagem de linhas
Em 27 perps de cripto, 7 ETFs de ações dos EUA e 8 pares majors de forex (~20.000 barras cada), a sample uniqueness média fica em 0,44 / 0,41 / 0,41 por mercado. Uma mediana de ~15.000 rótulos sobrepostos carrega apenas ~6.000–6.600 observações verdadeiramente independentes. Um fluxo de trabalho que contasse linhas como IID assumiria mais que o dobro da informação realmente presente.
Sequential bootstrap · 42/42
A afirmação do bootstrap reproduz-se em toda parte
Uma amostra de sequential bootstrap tem sample uniqueness média maior do que um bootstrap IID padrão em cada um dos 42 instrumentos, ganho mediano ≈+0,016 a +0,018. O mecanismo é exatamente como anunciado; o ganho é modesto porque, com uma concurrency média perto de 2,3, há apenas uma certa redundância a remover. Cada kernel (concurrency, uniqueness, extração sequencial, CUSUM, pesos) é verificado como bit-idêntico contra uma referência independente.
Overfit ↓, AUC ↓
Robustez, não desempenho
As correções fazem o que a teoria diz no nível da amostra, o gap de overfit encolhe em 40/42 instrumentos e a estabilidade da feature importance melhora em 34/42, mas a discriminação out-of-sample bruta é ligeiramente pior: o bagging ingênuo tem menor log-loss OOS em todos os 42 e maior AUC (≈0,62 vs ≈0,56). Neste problema de rotulagem de série única, a correção troca um pouco de sinal por honestidade. Resultado metodológico, sem carteira negociável.
Assista ao effective sample size colapsar
Arraste o span médio do rótulo. Conforme os rótulos permanecem ativos por mais tempo, eles se sobrepõem mais, a concurrency sobe, a sample uniqueness média cai, e o effective sample size despenca bem abaixo da contagem bruta de linhas. A segunda aba contrasta o sequential bootstrap com o bootstrap IID padrão. As curvas são formas fechadas ilustrativas fixadas ao run multimercado real.
O ponto do playground é que a não-independência não é um caso de canto, é o estado genérico de qualquer rótulo resolvido por intervalo, e escala suavemente conforme o tempo que o rótulo leva para se resolver. No ponto de operação realista (um span médio de ~3 barras em um relógio de eventos CUSUM) a concurrency média é ≈2,3 e a sample uniqueness média ≈0,44, então o effective sample size é menos da metade da contagem de linhas. Alargue as barreiras e prolongue os holds e a uniqueness cai monotonicamente rumo a zero, exatamente como mostra a figura dose-resposta. É uma ilustração mecânica de um efeito de contabilidade de informação, não um sinal negociável.
Demo, sobreposição, uniqueness & o sequential bootstrap
Arraste o horizonte do rótulo para esticar cada span triple-barrier ao longo da timeline. Spans sobrepostos compartilham retornos futuros, então o peso de uniqueness de cada rótulo (a média de 1/concurrency ao longo de sua vida) cai. Em seguida, extraia uma amostra de bootstrap um rótulo de cada vez: a extração sequencial se afasta de rótulos que se sobrepõem ao que ela já contém, então sua uniqueness média sobe acima do bootstrap IID ingênuo. Uma ilustração mecânica de um efeito de contabilidade de informação, não um sinal negociável.
quantas barras um rótulo triple-barrier permanece ativo antes de seu primeiro toque; barreiras mais largas e holds mais longos o elevam
A sample uniqueness média é a média de 1/concurrency ao longo da vida de um rótulo: um rótulo que está em geral sozinho pontua perto de 1, um rótulo soterrado em sobreposição pontua perto de 0. Somar a uniqueness ao longo de todos os rótulos dá o effective sample size, o número de observações verdadeiramente independentes, que fica bem abaixo da contagem bruta de linhas. Contar linhas como se fossem independentes superestima quanta informação você de fato detém.
A sobreposição é severa e o effective sample size colapsa
Em cada instrumento nos três mercados, a sample uniqueness média fica entre 0,40 e 0,49. O conteúdo de informação dos rótulos é aproximadamente 41 a 44 por cento do que a contagem bruta de linhas implica. Um fluxo de trabalho ingênuo que tratasse 15.000 rótulos sobrepostos como 15.000 observações independentes estaria assumindo mais que o dobro da informação realmente presente.
O effective sample size é a soma da sample uniqueness média ao longo dos rótulos, uma mediana de ≈15.000 rótulos por instrumento vale apenas ≈6.000–6.600 observações verdadeiramente independentes. O efeito é ligeiramente pior em ações e forex do que em cripto, acompanhando a sua concurrency média marginalmente mais alta.
Metade da sua amostra é contada em dobro
Plotar o effective sample size contra a contagem bruta de linhas torna o custo concreto: cada mercado fica em aproximadamente 41 a 44 por cento da diagonal. Um instrumento com mediana ≈15.000 rótulos carrega apenas ≈6.000–6.600 observações independentes. Ações e forex ficam marginalmente abaixo de cripto, acompanhando a sua concurrency média ligeiramente mais alta. Qualquer cálculo de tamanho de amostra, intervalo de confiança ou bootstrap que conte linhas como IID está errado por mais de um fator de dois.
Barreiras mais largas pioram a situação
A sobreposição é movida pelo comprimento do intervalo. Alargar as barreiras prolonga os intervalos de holding, eleva a concurrency e empurra a sample uniqueness média monotonicamente para baixo em todo mercado: dobrar a largura da barreira aproximadamente reduz a uniqueness pela metade (≈0,44 → ≈0,20), e dobrá-la novamente a corta para ≈0,07. Seja qual for o desenho do rótulo, a lição é a mesma, quanto mais tempo um rótulo leva para se resolver, menos independente ele é.
O sequential bootstrap eleva a uniqueness, como anunciado
Em todos os 42 de 42 instrumentos sem exceção, uma amostra de sequential bootstrap tem sample uniqueness média maior do que uma amostra de bootstrap IID padrão. O ganho mediano é de cerca de +0,016 a +0,018 em termos de uniqueness. A afirmação mecânica reproduz-se de forma limpa e universal. O tamanho absoluto do ganho é modesto aqui porque, com uma concurrency média perto de 2,3, há apenas uma certa redundância a remover, mas a direção nunca falha.
Isso ajuda o modelo? Robustez, não discriminação
É aqui que o resultado é mais interessante do que o livro-texto. O ensemble corrigido, bags de sequential bootstrap escalonadas para a uniqueness média, árvores ponderadas por atribuição de retorno, faz exatamente o que a teoria diz no nível da amostra. O gap de log-loss in-sample versus out-of-sample encolhe em 40 de 42 instrumentos, e a estabilidade da feature importance entre folds melhora em 34 de 42. O modelo generaliza mais próximo de como treina e se explica de forma mais reproduzível.
Mas a discriminação out-of-sample bruta é ligeiramente pior: o bagging ingênuo teve menor log-loss out-of-sample em todos os 42 instrumentos, e maior AUC em média (cerca de 0,62 ingênuo versus 0,56 corrigido). Bags menores, escalonadas por uniqueness e reponderadas veem menos dados efetivos, então o ensemble corrigido captura um pouco menos de sinal. Neste problema de rotulagem de série única e sinal fraco, a correção é um tratamento de robustez e honestidade, não um impulso gratuito de desempenho.
E a auto-explicação do modelo se estabiliza
A segunda metade da história de robustez é a reprodutibilidade. A correlação de rank das feature importances entre folds é maior com as correções em 34 de 42 instrumentos, mais fortemente em cripto e forex, então a explicação do modelo sobre por que ele prevê o que prevê é mais estável entre folds. Remover observações redundantes e contadas em excesso impede que um punhado de linhas repetidas domine um ranking de importância. É a mesma lição do gap de overfit: as correções compram honestidade e estabilidade, não discriminação extra.
Da uniqueness à deflation: a penalidade honesta de false-discovery
O benefício do modelo a jusante foi sutil, mas a uniqueness tem um retorno que é inequívoco e quantitativo, ela corrige a contagem que você alimenta em um teste de significância. A confiança de um Sharpe ratio depende do número de observações independentes por trás dele. Alimente a contagem bruta de linhas e você estará reivindicando mais que o dobro da evidência que detém, então a estatística do teste, seu erro-padrão e qualquer deflation de testes múltiplos saem todos lisonjeiros.
Fixando o Sharpe por observação em 0,025 e mantendo os selection trials fixos, a única coisa que muda entre as duas colunas abaixo é o tamanho da amostra. Tratar ~15.000 rótulos sobrepostos como independentes superestima a estatística de significância do Sharpe em cerca de 1,50× a 1,57× e alarga o erro-padrão do Sharpe pelo mesmo fator. O Deflated Sharpe Ratio cai cerca de 0,07, suficiente para empurrar uma estratégia limítrofe de aceitável para marginal. Usar o effective sample size, a soma da uniqueness dos rótulos, cerca de 41 a 44 por cento de N, é simplesmente a contagem honesta.
Esta é a ponte do capítulo de rotulagem para o capítulo de deflation: a uniqueness importa para a contagem de trials e o controle de false-discovery, não para a acurácia out-of-sample bruta. O comprimento mínimo de track record para superar 95 por cento de Sharpe probabilístico neste nível é de ≈4.331 observações independentes, uma barra fixa, então um track que parece longo o suficiente na contagem de linhas ainda pode ficar aquém na contagem honesta.
| mercado | N nominal | N effective | SE inflation | DSR nominal | DSR effective | queda DSR |
|---|---|---|---|---|---|---|
| cripto | 14,986 | 6,639 | 1.50× | 0.720 | 0.651 | −0.069 |
| ações | 14,742 | 6,111 | 1.55× | 0.718 | 0.645 | −0.073 |
| forex | 14,892 | 6,070 | 1.57× | 0.719 | 0.645 | −0.075 |
Sharpe por observação fixado em 0,025; selection trials e variância do Sharpe dos trials mantidos fixos, retornos gaussianos, apenas o tamanho da amostra muda entre as colunas nominal e effective. A SE inflation é a razão entre o erro-padrão do Sharpe na contagem nominal e na contagem effective (idêntica à superestimação da estatística de significância); a queda do DSR é a redução do Deflated Sharpe Ratio ao usar a contagem effective honesta.
Detalhe por mercado e por instrumento
Os números, por mercado e por instrumento
| mercado | instrumentos | N mediano | uniqueness | effective N | effN / N | ganho seq | gap ingênuo | gap corr. |
|---|---|---|---|---|---|---|---|---|
| cripto | 27 | 14,986 | 0.443 | 6,645 | 44.3% | +0.016 | 0.0111 | 0.0071 |
| ações | 7 | 14,742 | 0.415 | 6,114 | 41.5% | +0.018 | 0.0163 | 0.0107 |
| forex | 8 | 14,892 | 0.408 | 6,048 | 40.8% | +0.017 | 0.0116 | 0.0080 |
Medianas por mercado. A sample uniqueness média é igual à razão do effective N por construção (effN = Σ uniqueness). O ganho do sequential bootstrap é a mediana de (sequential − padrão) da uniqueness da amostra extraída; o gap de overfit é a mediana do gap de log-loss in-sample versus out-of-sample, ingênuo vs corrigido.
| mercado | instrumento | uniqueness | effective N | concurrency | ganho seq | AUC ingênuo | AUC corr. |
|---|---|---|---|---|---|---|---|
| cripto | BTCUSDT | 0.450 | 6,795 | 2.27 | +0.014 | 0.607 | 0.557 |
| cripto | ETHUSDT | 0.452 | 6,770 | 2.25 | +0.015 | 0.613 | 0.568 |
| cripto | SOLUSDT | 0.447 | 6,766 | 2.29 | +0.016 | 0.615 | 0.565 |
| ações | SPY | 0.485 | 7,198 | 2.17 | +0.023 | 0.691 | 0.652 |
| ações | QQQ | 0.490 | 7,220 | 2.14 | +0.022 | 0.686 | 0.651 |
| ações | XLK | 0.399 | 5,851 | 2.74 | +0.018 | 0.590 | 0.517 |
| forex | EURUSD | 0.406 | 6,030 | 2.57 | +0.015 | 0.592 | 0.532 |
| forex | GBPUSD | 0.405 | 6,029 | 2.60 | +0.019 | 0.592 | 0.535 |
| forex | USDJPY | 0.399 | 5,922 | 2.64 | +0.018 | 0.595 | 0.531 |
Instrumentos representativos nos três mercados (detalhe completo por instrumento no repositório). Concurrency é o número médio de rótulos ativos em uma barra; AUC é out-of-sample, ingênuo vs corrigido.
Método
- Dados, apenas reais, histórico completo disponível por instrumento: 27 futuros perpétuos da Binance margem-USD (barras-base de 1 minuto agregadas em dollar bars), 7 ETFs líquidos de ações dos EUA (SPY, QQQ, IWM, XLK, XLF, XLE, XLV; dollar bars de horário regular de negociação) e 8 pares majors de forex (tick bars, já que o spot FX não tem volume negociado). Cada instrumento é reduzido a ~20.000 barras para que os mercados sejam comparados em pé de igualdade.
- Os eventos são amostrados com um filtro CUSUM simétrico (um rótulo dispara sempre que o log-retorno absoluto acumulado desde o último evento cruza um limiar escalonado por volatilidade). Cada evento é rotulado com uma triple-barrier usando high/low intrabar completo, nunca close-only, de modo que o intervalo de primeiro toque [t0, t1] é o verdadeiro span de holding. O rótulo binário é se o retorno bruto com sinal do lado no primeiro toque foi positivo.
- Tudo é causal: o rótulo da barra t0 resolve-se avançando no tempo mas é atribuído a t0 com seu verdadeiro intervalo, e cada feature em t0 usa apenas informação disponível em t0 ou antes.
- Contabilidade de informação: a concurrency c_t é o número de rótulos ativos na barra t; a sample uniqueness média de um rótulo é a média de 1/c_t ao longo de seu intervalo; o effective sample size é a soma da sample uniqueness média ao longo de todos os rótulos. A varredura de largura de barreira alarga as barreiras e remede a uniqueness e a concurrency.
- Questão do modelo: árvores de decisão com bagging sob purged k-fold cross-validation com um embargo, de modo que nenhum rótulo de treino vaze para um fold de teste. Ingênuo = bagging IID padrão, bags de tamanho completo, árvores sem ponderação. Corrigido = cada bag extraída pelo sequential bootstrap, tamanho da bag escalonado para a sample uniqueness média, e árvores ponderadas por pesos de amostra de atribuição de retorno. Pontuamos o log-loss e o AUC out-of-sample, o gap de log-loss in-sample versus out-of-sample, e a estabilidade da feature importance entre folds.
- Verificação: o scan de concurrency, o scan de sample uniqueness média, o filtro CUSUM e a extração de sequential bootstrap são compilados em Numba e cada um é bit-idêntico contra uma referência independente em Python puro (máx. |Δ| = 0). O sequential bootstrap usa uma formulação incremental que reproduz exatamente a sequência de extração da versão quadrática de livro-texto mantendo o pico de memória abaixo de 3 GB; duas verificações sintéticas de forma fechada (intervalos unitários disjuntos → uniqueness 1; N intervalos idênticos → uniqueness 1/N) validam o estimador e nunca são reportadas como resultados.
Notas & avaliação honesta
Esta é uma contribuição metodológica, não um resultado de “ponderação de rótulos dá dinheiro”, e é enquadrada assim do início ao fim. O efeito de contabilidade de informação é real e reproduz-se em toda parte: rótulos sobrepostos carregam menos da metade da informação independente que sua contagem sugere, e o sequential bootstrap eleva de forma confiável a sample uniqueness. O benefício do modelo a jusante é mais nuançado e vale enunciar claramente. As correções não-IID reduzem o overfitting e estabilizam as feature importances, mas não melhoram a discriminação out-of-sample neste problema de rotulagem de direção em série única; elas a reduzem ligeiramente. As correções são melhor compreendidas como um tratamento de robustez e honestidade, não um propulsor de desempenho. O estudo quantifica um efeito de contabilidade de informação e suas consequências, e não reivindica uma vantagem negociável.
Reprodutibilidade
Os scans de concurrency e uniqueness, o filtro CUSUM, o sequential bootstrap, a comparação de ensembles com bagging, as figuras e o arcabouço de verificação estão reunidos no project 15 de lopez-de-prado-work-review. O playground desta página é autocontido: as formas fechadas das relações de uniqueness, effective-N e sequential bootstrap estão codificadas no componente e fixadas às âncoras do run, de modo que o mecanismo que ele ilustra se reproduz exatamente a cada carregamento.
Citar
Referências
As fontes primárias do método revisado aqui:
- López de Prado, M. (2018). Advances in Financial Machine Learning. Wiley. (Chapter 4, “Sample Weights”, and Chapter 7, “Cross-Validation in Finance”.)
- López de Prado, M. (2020). Machine Learning for Asset Managers. Cambridge Elements in Quantitative Finance.
- Breiman, L. (1996). Bagging Predictors. Machine Learning, 24(2), 123–140.
- Politis, D. N., & Romano, J. P. (1994). The Stationary Bootstrap. Journal of the American Statistical Association, 89(428), 1303–1313.
Veja também
O estudo companheiro sobre deflação por testes múltiplos é Backtest Overfitting & the Deflated Sharpe Ratio, a crítica do grafo causal é Causal Factor Investing, o tema da disciplina de seleção percorre The edge is in the process, e o corpo de trabalho mais amplo está em Research.

