O corpus

O que “1,6 milhão de estratégias” realmente significa.

Uma resposta à reação inicial mais comum, e mais razoável: “isso não é pesquisa, é data mining.”

A objeção tem fundamento. Com graus de liberdade suficientes, qualquer coisa pode ser ajustada a qualquer coisa. Por isso, antes de qualquer afirmação sobre portfólios, edge ou filtros de robustez, esta página faz o trabalho chato: explica como o corpus é construído (com as partes confidenciais mantidas confidenciais), mostra como sua geometria interna se parece, e percorre os dois artefatos visuais que capturam ambas as faces da população, estrutura em nível de família e estrutura em nível de variante.

Dimensões do corpus

30
Partições ativo / timeframe
majors cripto, large, mid-cap, FX
8
Famílias de indicadores
EMA · SMA · MACD · PPO · RSI · RSI_LEVEL · STOCHK · ATR
1,63M
Estratégias no corpus completo
1.632.588, contadas, não estimadas
23M+
Janelas de estratégia testadas
com amostras IS / OOS + perturbações

A objeção

A crítica do data mining vai aproximadamente assim: se você testa um milhão de estratégias, a cauda direita da distribuição vai, por pura sorte, conter estratégias que imprimem profit factors enormes in-sample. Cherry-pick essas, e qualquer backtest fica ótimo, até o trading ao vivo, onde os ajustes evaporam.

Essa crítica está correta em espírito, e na verdade este trabalho concorda com ela no nível da estratégia. O artigo O Edge Está no Processo abre com esse achado em um corpus cripto reprodutível de 12 mercados: em 533.638 estratégias e 44 milhões de janelas de estratégia walk-forward, a correlação de rank entre o profit factor de uma estratégia em uma janela e na seguinte é ρ ≈ 0,02, e o ρ por mercado nunca excede 0,04. Nenhuma estratégia individual neste corpus carrega edge OOS crível.

Então para que serve a população? O argumento se desenvolve nas próximas duas seções, e as duas seções de vídeo a seguir são a evidência visual.

Como o corpus é construído

Toda estratégia no corpus é uma regra completamente especificada e determinística: uma família de indicador, uma parametrização, uma lógica de entrada/saída, e um regime de risk-reward. Nada é minerado. Nada é escolhido a dedo. O substrato é o produto estruturado de:

  • 30 partições ativo / timeframe, majors cripto (BTC, ETH, BNB, SOL), altcoins large (DOGE, XRP, LTC, AVAX, LINK, BCH, DOT, TRX), ~15 mid-caps (APE, ATOM, ICP, NEAR, ALGO, HBAR, ARB, SUI, APT, ZEC, …) e três pares forex (AUDUSD, USDCAD, USDCHF). Forex é mantido fora como verificação de robustez entre classes de ativos.
  • Oito famílias de indicadores cobrindo tendência, momentum, mean-reversion e volatilidade, EMA, SMA, MACD, PPO, RSI, cruzamento de nível RSI, Stochastic %K, ATR.
  • Populações de variantes por família. Cada família base é expandida numa população de variantes por uma bateria de funções estatísticas e matemáticas, transformações aplicadas à série bruta do indicador e subconjuntos de confluência que condicionam entradas a um segundo sinal de modo estruturado. A construção exata é reservada. Os artefatos empíricos nesta página são a demonstração de que, qualquer que seja a construção, a população resultante tem as propriedades geométricas alegadas.
  • Otimização walk-forward ao longo de múltiplos horizontes de lookback, de modo que cada estratégia é avaliada sob janelas IS / OOS deslizantes em vez de uma única fatia arbitrária da história de preços.

Nenhum subconjunto é removido. Nenhuma partição é “mantida como a boa.” Todos os trinta ativos/timeframes são avaliados sob o mesmo pipeline, com o mesmo código, dos mesmos commits.

Sobre reprodutibilidade. O working paper no SSRN distribui um pacote de reprodutibilidade, mas ele reproduz os agregados derivados das estratégias que aparecem no paper: as distribuições IS / OOS, diagnósticos de curva de filtro, estatísticas de portfólio e dados de figura. O corpus de estratégias em si é proprietário e não é publicado. Python, Rust e R verificam cruzadamente os mesmos agregados publicados a partir do mesmo histórico bruto de preços; eles não regeneram o corpus.

Para uma leitura em nível de população do mesmo substrato usando metodologia pública, veja as notas do lab sobre densidade Sharpe da população e decomposição do gap Sharpe IS–OOS.

A geometria, em um único gráfico

A coisa mais informativa que se pode fazer com um corpus de estratégias é calcular sua matriz de correlação par a par. Se “um milhão de estratégias” fosse na verdade uma única estratégia disfarçada, essa matriz estaria saturada perto de ρ = 1. Não está. O histograma abaixo é a distribuição de correlações par a par em quase 30.000 estratégias amostradas estratificadamente nas 30 partições de ativos, cerca de 450 milhões de pares.

CARREGANDO ESTATÍSTICAS DO CORPUS…

Para uma leitura Marchenko–Pastur da mesma matriz, quantos dos autovalores são sinal vs a hipótese nula random-matrix, veja strategy-rmt. Para o análogo entre ativos (cubos de correlação rolante no universo de 9 ativos), veja strategy-corrcube.

Dimensionalidade efetiva

A correlação absoluta média no pool completo é 0,123. Mediana 0,072. Apenas 2,84% dos pares cruzam |ρ| = 0,5. A média dentro do mesmo ativo (0,163) é, como esperado, ligeiramente maior que a média entre ativos (0,122), mas nenhuma das duas chega perto do teto “tudo a mesma trade.”

Em termos de álgebra linear, o corpus tem dimensionalidade efetiva muito alta: a população abrange muito mais direções de retorno quase-ortogonais do que seu tamanho de superfície sugere. Um portfólio extraído do pool tem, portanto, acesso a um conjunto gerador muito mais rico do que um corpus em que cada estratégia é uma re-skin da mesma ideia. Duas consequências empíricas seguem diretamente:

  • Estratégias individuais parecem ruído (alta variância idiossincrática, baixa previsibilidade IS→OOS) precisamente porque cada uma captura uma fatia pequena e distintiva do espaço de retornos.
  • Portfólios extraídos do mesmo pool se comportam de modo muito diferente, seus termos idiossincráticos se cancelam e o componente estrutural sobrevive. Esse é o eixo empírico de O Edge Está no Processo, e o comportamento de saturação do universo desses portfólios é estudado separadamente em strategy-robust-portfolio.

Para a visão de embedding formal da mesma população, PCA + UMAP em um vetor métrico de 90 features, veja strategy-manifold. As duas seções de vídeo abaixo são as demonstrações visuais em um único ativo, SOL/USDT 1H, usando as famílias de indicadores publicamente reveladas.

Nível de família, superfícies de performance

As oito famílias base, como paisagens de performance 3D.

Um ativo, SOL/USDT, candles de 1H. Para cada família de indicador, cada combinação de parâmetros da família é avaliada sob o mesmo pipeline walk-forward, e a superfície de performance resultante é renderizada como uma paisagem 3D. Estas são as superfícies cruas, não-otimizadas, sem filtro aplicado, sem pós-seleção, sem cherry-picking. O que você vê abaixo é a população que cada família gera antes que qualquer parte da metodologia do escritório seja aplicada.

synced · max drift 0 ms
EMA
SMA
MACD
PPO
RSI
RSI_LEVEL
STOCHK
ATR

Como ler uma superfície

Em cada superfície, os dois eixos horizontais (X e Y) são parâmetros de estratégia, os botões configuráveis que definem uma estratégia dentro de sua família. O eixo vertical (Z) é a performance da estratégia, resumida aqui como Sharpe ratio sobre a janela in-sample que o walk-forward seleciona. A câmera orbita para que você possa ver a superfície de cada ângulo.

O que importa é a forma, não nenhum pico isolado. A leitura intuitiva, cumes suaves = bacia estável, picos agudos = frágil e provavelmente overfit, é testada empiricamente em strategy-surface-stability, um estudo pré-registrado neste corpus. O resultado principal é negativo: suavidade in-sample sob perturbação microestrutural não é um preditor em nível de população do Sharpe OOS da próxima janela nas três partições de ativos testadas (SOL 1h, DOGE 30m, BTC 30m). O efeito agrupado é indistinguível de zero (f² = 0,0002), e o sinal por ativo se inverte entre DOGE e BTC. ATR é a única família onde o padrão se mantém de modo consistente entre piloto e replicação; famílias de momentum se comportam ao contrário. A decomposição do gap Sharpe em nível de estratégia é o tema de strategy-overfitting; o que queremos comunicar aqui é apenas o fato visual de que as oito famílias produzem oito geometrias visivelmente diferentes no mesmo ativo, se essa geometria prevê skill OOS é uma questão empírica separada, com uma resposta separada (e em grande parte nula).

A pergunta natural seguinte é se duas famílias com formato semelhante são, na verdade, a mesma trade disfarçada. A figura abaixo responde isso.

Correlação par a par · 8 × 8

E a correlação entre elas

O painel 8 × 8 acima das superfícies é a correlação rolante par a par dos eventos de entrada de cada família na mesma fatia SOL/USDT 1H. Cada família é reduzida a uma única série temporal, long = +1, short = −1, caso contrário 0, e o heatmap é a correlação de Pearson par a par dessas séries de eventos sobre uma janela rolante. A diagonal é 1 por construção; o que importa são as células fora da diagonal.

O sentido de travar por frame o vídeo de correlação aos oito vídeos de superfície é que você pode assistir aos dois ao mesmo tempo: à medida que o preço caminha pela fatia, as nuvens de superfície se deformam e as células de correlação se deslocam. Duas famílias que compartilham um regime brevemente vão acender no heatmap; duas famílias com lógica de timing estruturalmente diferente permanecem apagadas, não importa como pareçam as superfícies. As células permanecem majoritariamente frias, a correlação média fora da diagonal fica perto de zero ao longo da fatia. As oito famílias não são redundantes. A versão entre ativos dessa ideia, o mesmo cubo de correlação rolante de 9 ativos, é todo o tema de strategy-corrcube.

Nível de variante, estrutura populacional dentro de cada família

Dentro de cada família, a população de variantes.

A seção anterior mostrou uma família como uma única superfície de performance. Esta seção abre cada família. Por família, a bateria proprietária de funções estatísticas e matemáticas expande o indicador base numa população estruturada de variantes, dividida em dois subconjuntos complementares, indicador bruto + transformação e indicador bruto + confluência. Cada vídeo abaixo é um layout PCA ao vivo da população de variantes de uma família em SOL/USDT 1H, com arestas desenhadas entre estratégias que se movem juntas.

synced · max drift 0 ms
EMA
SMA
MACD
PPO
RSI
RSI_LEVEL
STOCHK
ATR

Como ler um gráfico de variantes

A mecânica do gráfico, explicitada:

  • Nós = estratégias. Cada nó é uma única variante produzida pela expansão da família (lado de transformação ou de confluência). Nada no layout codifica a construção da variante; apenas seu comportamento.
  • Posição = as cargas dos dois principais componentes principais da matriz de correlação rolante de 1.000 candles entre cada par de variantes na família. Concretamente: a cada frame formamos C = corr(R_{t-999:t}) onde R são séries de eventos de entrada por variante, tomamos seus dois autovetores principais, e posicionamos cada variante na sua carga. A janela rolante é então avançada uma barra e o layout recomputado.
  • Alinhamento Procrustes + suavização EMA sobre as cargas entre frames. Sem isso, cada refit do PCA pode inverter a base e rotacionar a nuvem arbitrariamente; com isso, a nuvem deriva em vez de saltar, e o movimento visual reflete mudança estrutural real na variedade de correlação em vez de artefatos contábeis.
  • Arestas conectam pares com |ρ| ≥ 0,20. Verde-azulado = positivo, vermelho = negativo; espessura e opacidade escalam com |ρ|. O limiar é um botão, abaixe-o e o grafo vira uma bola de pêlo, eleve-o e só os co-movedores mais fortes permanecem.
  • Painel lateral = três séries temporais rastreando a coesão da população: AVG |ρ|, MEDIAN |ρ|, e a porcentagem de pares acima do limiar. Observe-as subir durante trechos coerentes em regime e cair quando o regime se quebra.

A lente da topologia: a matriz de correlação de cada frame pode ser transformada numa métrica (d_ij = √(2(1−ρ_ij))), e essa métrica induz um complexo Vietoris–Rips sobre a população de variantes. Nós que se agrupam no gráfico correspondem a 0-ciclos que persistem entre escalas de filtração; o aparecimento e a dissolução de 1-ciclos rastreia transições de regime na família. O tratamento via barcode de persistência da mesma maquinaria, no corpus completo em vez de uma família, vive em strategy-tda; o embedding formal PCA + UMAP usando um vetor métrico de 90 features está em strategy-manifold.

Importante ler estes gráficos corretamente: o layout é uma projeção 2D de uma variedade de correlação muito mais alta-dimensional. Dois nós que parecem próximos na projeção não estão necessariamente próximos no espaço completo; estão próximos ao longo das duas direções de maior variância. As arestas são o guardião da verdade, uma aresta diz que as duas variantes de fato se co-movem no espaço subjacente, independentemente de onde se encontram na tela.

Os scripts de renderização e análise por trás desses clipes vivem no projeto interno de estratégias SOL do escritório; as partes proprietárias (a bateria de construção de variantes em particular) não estão na parte pública da toolchain.

Todas as famílias sobrepostas

Todas as famílias, sobrepostas

O painel combinado acima é cada variante de cada família visualizada, colocadas num único layout 2D comum. Cada família carrega uma cor. O ponto não é que uma família vence, o ponto é que as famílias ocupam regiões distintas da variedade de correlação projetada. Variantes de famílias diferentes não se agrupam num único blob; mantêm-se em suas próprias vizinhanças, com sobreposições breves durante cruzamentos de regime.

Essa separação é a aparência da alta dimensionalidade efetiva no nível de composição, não apenas de correlação média. O pool não é apenas descorrelacionado em média; é estruturalmente heterogêneo. Um filtro de robustez amostrando entre famílias está, portanto, extraindo de submúltiplos genuinamente diferentes, não fatiando uma única nuvem homogênea sob ângulos diferentes. É isso que faz da avaliação em nível de população um problema diferente da busca por estratégia individual.

Em resumo

“Milhares de estratégias” não é, por si só, uma alegação de pesquisa. É o tamanho de um substrato de avaliação. O substrato é construído exaustivamente, determinístico, sem cherry-picking, e sua geometria interna é dominada por baixa correlação par a par, não por redundância. A seção da superfície 3D mostrou que as oito famílias base não são a mesma família oito vezes. A seção do grafo de variantes mostrou que dentro de uma família a população de variantes é ela própria estruturada, e que entre famílias as estruturas se mantêm separadas. Essa combinação é o que faz da avaliação em nível de população um problema diferente da busca por estratégia individual, e o que torna não-trivial os achados em nível de portfólio de O Edge Está no Processo.

Notas do lab que contribuem ou estendem a análise desta página:

  • strategy-rmt, espectro de autovalores Marchenko–Pastur e parallel-analysis da matriz de correlação, a versão formal do histograma acima.
  • strategy-manifold, embedding PCA + UMAP da população a partir de um vetor métrico de 90 features.
  • strategy-tda, barcodes de persistência sobre o mesmo complexo de distância de correlação, mas no corpus completo.
  • strategy-corrcube, cubo de correlação rolante entre ativos; o análogo em nível de ativo da estrutura em nível de variante mostrada aqui.
  • strategy-stats, densidade Sharpe em nível de população e dispersão (μ, σ, t); a biblioteca de apoio por trás dos contadores de dimensão acima.
  • strategy-overfitting, decomposição da variância do gap Sharpe IS–OOS em viés de seleção, ruído de escolha de parâmetro, e residual.
  • strategy-robust-portfolio, análise de saturação do universo para portfólios extraídos do mesmo pool.

Se você continua não convencido, o pacote de reprodutibilidade do SSRN distribui cada agregado e cada figura do working paper. Rode-o, e lembre que o que se reproduz é a análise que opera sobre o corpus, não o corpus em si.

O Edge Está no Processo

O artigo que esta página existe para apoiar, para que serve uma população de estratégias, com quatro sims interativas e sete figuras. Reprodutível a partir de PnL diário.

Working paper, SSRN

Valor Preditivo de Testes de Permutação Intra-Estratégia para Seleção Forward. Reproduz agregados de análise, não o corpus em si.

O lab

Doze M-models open-source. Os que tocam o corpus mais diretamente estão linkados acima.