← Strategies Provisional · Internal Audit

Auditoria adversarial independente — Germany XETRA Momentum

Datas: 2026-08-25/26 · Motor auditado: germany_final_locked.py + backtest.py partilhado · Duas auditorias independentes (a segunda sem confiar na primeira), mais a bateria completa re-corrida sobre a variante live (só empresas alemãs). Método: reprodução exacta, reimplementação independente, forense de survivorship com verificação externa, placebos, stress de custos com spreads reais medidos, falsificação.

A. Veredicto executivo

Investiria em tamanho pequeno (sub-EUR 1-2M), tratando ~18-19%/0.9 como o número real — não os 26 anos de headline. O dataset EODHD para a XETRA não tem nenhuma história de preços a terminar antes de 2015: todos os delistings de 2000-2014 estão ausentes, incluindo o colapso inteiro do Neuer Markt (16 dos 18 cadáveres célebres procurados — EM.TV, Comroad, Brokat, CargoLifter, Holzmann, MobilCom… — não existem nos dados). O período 2000-2014 é uma amostra de sobreviventes e presume-se inflacionado.

A diferença crítica face a mercados que chumbaram esta auditoria (Indonésia): a janela limpa não colapsa. 2015-2026 standalone entrega o mesmo nível do headline, as convenções são conservadoras (cash a 0% nos meses defensivos; benchmark DAX é um índice de performance/total-return; rf=3% já dentro do Sharpe), os placebos falham como devem, e a cobertura de delistings foi verificada externamente: 54 delistings alemães documentados 2015-2026 cruzados com os dados — 49/54 (91%) presentes com a história a terminar no ano certo; os 5 em falta concentram-se todos em 2015-2017. Cobertura efectivamente completa de 2018 em diante.

Score de confiança: 85/100. Os 15 restantes: magnitude do survivorship pré-2015 inquantificável, spreads medidos num só dia, e o primeiro dado quase-live de 2026 é negativo.

B. Tabela de riscos

#ProblemaSeveridadeImpactoEstado
1Survivorship estrutural pré-2015 (zero mortes no dataset antes de 2015; Neuer Markt ausente)CRÍTICA2000-2014 inquantificável; mitigante: 2015-26 ≈ headlineIrresolúvel com estes dados; janela limpa verificada
2Capacidade/custos: ADV mediano ~€0.4M; spreads reais IBKR medidos para o universo inteiro (283 nomes): mediana 35bps, cauda até 245bpsALTA100bps→18.1%/0.82; 200bps→14.4%/0.62; filtro de elegibilidade a spread real ≤30bps→17.9%/0.84Sub-EUR-2M ok; não escala
3Selecção in-sample da config (grelha conjunta; Alemanha escolhida de pesquisa multi-mercado)ALTAWinner's curse; mitigado por plateau (Sharpe sobe monotonicamente MA50→MA200; N=20 domina N=5-15 em tudo)Mitigado, não eliminado
4Linhas duplicadas da mesma empresa detidas em simultâneo (230 ticker-meses; Vestas em peso duplo 40 meses)MÉDIACorrigir melhora: 20.7%/0.96Quantificado; sem direcção anti-conservadora
5Exclusão US incompleta (464 tickers sem ISIN escondiam 8 nomes US detidos, 1.9% dos ticker-meses)BAIXARemover melhora: 20.7%/0.96Quantificado
6Convenção "morte = dinheiro de volta" (34 posições com preço de venda desaparecido recebem 0%)MÉDIASe fossem -50/-100%: ~-0.25 a -0.5pp CAGREstimado
72021-2026 é o período mais fraco (variante live: Sharpe 0.43; 2023 falhou +20% do DAX — momentum crash pós-bear, não resolúvel por regime: nenhuma das 18 variantes de regime testadas o recupera)MÉDIAExpectativa recente 10-16%/0.4-0.8Estrutural do momentum; a vigiar live

C. Resultados auditados

C.1 Config do relatório (com estrangeiras não-US) — reproduzida a 10-16

VarianteCAGRSharpeMaxDD
Original (locked)+20.41%0.945-28.2%
Reimplementação independente (convenções próprias)+19.46%0.904-26.8%
Cash rende rf=3% nos meses defensivos+21.54%1.011-28.0%
Custos 100 / 200 bps18.1 / 14.4%0.82 / 0.62
Sem regime (sempre investido)+19.96%0.758-52.3%
2015-2026 standalone (janela com mortes no dataset)+19.58%0.96-28.2%
DAX TR no mesmo período (alpha +15.4pp)+5.03%0.10-68.3%
Placebo invertido (bottom-20)+3.83%0.04-48.3%
Placebo aleatório ×30 (mesma pipeline)4.6% [0.9–8.8]0.13 [máx 0.47]
Placebo sinal +1 mês+17.88%0.83-23.0%
Top-5 contribuidores removidos+18.38%0.84-28.3%

C.2 Variante LIVE (só empresas alemãs) — bateria re-corrida

O sinal em produção corre um universo restrito a empresas de domicílio alemão (ver secção E). Números próprios, auditados com a mesma bateria:

Variante (DE-only)CAGRSharpeMaxDD
Baseline — reimpl. independente (motor: 19.16/0.911)+19.00%0.899-27.8%
2015-2026 standalone+18.62%0.92-27.8%
2021-2026 (pior subperíodo)+10.60%0.43-27.8%
Placebo invertido+1.11%-0.11-52.5%
Placebo aleatório ×155.0% [0.2–7.4]0.15 [máx 0.34]
Top-5 contribuidores removidos (SZG, ADL, EVD, AIXA, RHM)+17.28%0.81-28.6%
N=5 / N=10 / N=15 (N=20 domina em tudo)10.8 / 19.1 / 18.0%0.27 / 0.72 / 0.79-60 / -39 / -33%

22 de 27 anos com excesso positivo sobre o DAX; protecção real nas crises (2002: 0% vs -44%; 2008: -16% vs -40%; 2018: -1% vs -18%). Pior ano relativo: 2023 (-3.5% vs DAX +20%) — momentum crash pós-bear clássico, comum a todas as variantes de regime testadas (MAs 50-250, histerese entrada/saída, cruzamentos, bandas).

D. Verificação externa do survivorship (o teste decisivo)

54 delistings alemães documentados 2015-2026 — de Wirecard, Audi e Osram a small-caps como Aves One, Stemmer Imaging, USU, EQS — cruzados com as datas de fim de história de preços no dataset:

E. A saga do sinal live (v1 → v3) e o bug das linhas dormentes

A construção do sinal de produção encontrou uma classe de bug de dados nova, documentada aqui porque afecta qualquer estratégia live em bolsas com cross-listings:

Validação cruzada do mesmo diagnóstico noutros mercados live (dia 1): EUA 7/7 de overlap entre fontes, Canadá 8/10 — universos de listagens primárias concordam; o problema é exclusivo das linhas convidadas.

F. Custos reais medidos e diversificação

Spreads bid/ask reais (IBKR, medidos live para o universo elegível inteiro, 283 nomes cotados): mediana 35bps, média 80bps; carteira detida: mediana 22bps com cauda a 118/245bps. A hipótese de 40bps do backtest é realista em tamanho pequeno; ordens limitadas obrigatórias nos nomes finos.

Correlação com as outras estratégias live (mensal, 2006-2026): 0.21 com Canadá, 0.29 com EUA — e 26% dos meses têm regimes divergentes com o Canadá (uma perna em cash enquanto a outra rende, +3.8%/mês do Canadá quando a Alemanha dorme). Equal-weight 1/3 Alemanha+Canadá+EUA: CAGR 27.0%, Sharpe 1.54, MaxDD -15.2% — contra Sharpe standalone de 0.88/1.27/0.92.

G. O que continua incerto

H. Próximas auditorias mais valiosas

  1. Paper-trading com a regra congelada — comparar fills reais vs fechos do backtest; único teste que nenhum histórico falsifica.
  2. Dedup por empresa + passe nominal anti-US nos sem-ISIN + morte a -50% no motor — três correcções baratas, efeito líquido esperado ≈ 0 a +0.3pp, eliminam três objecções.
  3. Cruzar 2015-2017 com a lista completa da Deutsche Börse para fechar a janela parcial.

Artefactos: ~/eodhd_data/audit2_de/ (scripts, posições, preços de execução, baterias de regime e placebos). Página do sinal live: /germany-momentum · Relatório da estratégia: germany_momentum_report · Sensibilidade: germany_momentum_sensitivity.