BtcTakerFlowExhaustionReversalLS1H
Hipóteses
BTC Taker-Flow Exhaustion Reversal, Long-Short (Instrumento Único BINANCE USD-M Perp, Barras de 1h, Fade de Desequilíbrio Agress Extremo — Short de Compras FOMO de Fase Tardia / Compra de Vendas por Pânico — Gated por Regime de Range, Sinal Novel de Taker-Ratio, 3-Parâmetros)
Hipóteses
Uma LONG-SHORT, reversão à média de instrumento único em BTCUSDT.BINANCE (USD-M perp, barras de 1h) conduzida por ORDER FLOW, não preço — uma entrada de sinal que nenhuma estratégia implementada utiliza. Por barra calcula o desequilíbrio agressor de compra/venda taker (fração de volume de compra taker) a partir de dados suplementares de taker-ratio de futuros Binance (fallback: trade_ticks classificado por agressor), suavizado ao longo de uma janela curta. Tese: quando a compra agressora se torna extrema e sustentada (por ex. fração de compra taker ≥ 0.68 ao longo da janela de suavização), o comprador marginal de mercado é FOMO de fase tardia / cobertura forçada sem procura limite fresca por trás — exaustão agressora que precede de forma fiável um recuo de curto prazo, portanto FADE SHORT. Simetricamente, agressão taker-SELL extrema sustentada (fração ≤ 0.32) é venda de mercado por pânico/capitulação em ofertas a diminuir — ir LONG. Esta é deliberadamente uma família DIFFERENT de tudo o que está a morrer nesta fábrica: é NOT seguimento de tendência (o cemitério 209-morte de regime único — é contrária e distribuída por regime, pagando em todas as direções em que o fluxo se sobreestende), NOT financiamento carry (a família saturada de cabaz morrendo de comissões — a sua vantagem é um movimento de reversão 0.4–0.6%, não um cash flow de sub-basis-point), NOT um cabaz de N pernas (é instrumento único, 2 fills por ida-e-volta, portanto contorna o muro de comissão 2N×10bps do L12), e NOT opções (sem muro de contagem de operações — eventos de fluxo extremo disparam dezenas de vezes por ano, produzindo centenas de operações para medição fiável de vantagem). É gated para regimes NON-TRENDING (fade apenas quando um filtro de tendência lento é plano/em range) para evitar o único modo de falha real — fluxo extremo que é continuação INFORMED em vez de exaustão. 3 parâmetros baixos (janela de suavização de fluxo, limiar de desequilíbrio, saída) mantêm-na resistente a overfit.
Hipóteses
Iteração 3 aborda a única falha da Layer-4 QA: subalimentação de operações (6 operações/363d) de um portão composto demasiado apertado. Sem alteração de mecanismo, import ou lógica de sinal (essas passaram a Layer 1-3); apenas os três aceleradores de entrada/saída são afrouxados para que a estratégia ultrapasse o piso de mensurabilidade de ~100 operações. entry_z 1.2->0.8 dispara em mais extremos de fluxo permanecendo além do ruído e acima do custo taker ida-e-volta 0.10% (a reversão da tese é 0.4-0.6%). regime_threshold 0.55->0.65 admite mais barras em range para que a conjunção AND-extremo-z em range pare de compor raridade, excluindo ainda tendências fortes (o modo de falha de continuação informada). exit_z 0.3->0.25 e max_hold_bars 24->10 aceleram a rotação, devolvendo a estratégia a flat mais cedo e multiplicando o número de janelas de entrada por ano. O sinal rolling-z scale-invariant (L5) e o design contrário, distribuído por regime, de instrumento único que diferenciam isto do cemitério trend/carry/cabaz/opções permanecem inalterados.
Hipóteses
Fade de exaustão de fluxo taker single-perp com expectativa negativa, sem vantagem e um muro de dados suplementar (L73/L55). profit_factor 0.62, total_return -5.29%, Sharpe -0.71 (CI [-1.35, 0.02]), expectativa -$62.6/operação, avg_trade_return_pct 0.0146% (~zero, perdedor líquido); avg_loss > avg_win com win_rate 0.447, portanto o fade está do lado errado do fluxo. Crucialmente, apesar de 58,512 barras ao longo de 2019-2026, ALL 85 operações e 100% dos rendimentos caem numa única janela 2026 de ~6 meses porque o feed suplementar taker_ratio apenas cobre uma fatia recente — annual_returns={2026:-5.32}, mensal 2026-03..08 — portanto não é possível construir um walk-forward de 3 janelas mais holdout 20%. Esta é a mesma assinatura single-perp gated por fluxo de ordens já abandonada três vezes neste lote (BtcTakerAggressionPersistence, AvaxTakerAggressorDominance, EthTakerFlowBreakout). Nenhum ajuste de parâmetros transforma uma vantagem por operação negativa em positiva, e o otimizador não pode comprar cobertura de calendário que o feed não possui. Não vale 2 horas de otimização. Padrão de falha: fade single-perp gated por fluxo de ordens fee_edge/no_edge com janela suplementar apenas recente.
Implementação
Reversão à média long-short por fluxo de ordens em BTCUSDT.BINANCE USD-M perp (barras de 1h). Calcula um z-score rolling da fração agressora de compra taker suavizada a partir de dados suplementares taker_ratio da Binance; faz fade da compra agressora extrema sustentada SHORT (exaustão FOMO de fase tardia) e da venda agressora extrema LONG (capitulação por pânico), apenas num regime em range (rácio de eficiência de Kaufman baixo). Sai na normalização do fluxo, um stop duro 1%, ou um teto de tempo. Instrumento único, alavancagem 1.0, 3 ajustáveis principais.
Resultados da Verificação
CLEAN RESTART 2026-09-04 — o histórico de vereditos e os registos de aprendizagem desta execução foram removidos e foi reiniciada a partir da verificação. O abandono anterior proveio do pipeline, não do mercado: o harness da Layer-2 associou incorretamente os helpers @staticmethod (corrigido), QA emitia vereditos terminais de desempenho num smoke test não otimizado (removido — QA agora avalia apenas correção), e os timeouts do sandbox vieram de esgotamento de slots de backtest (corrigido). A hipótese e o código da estratégia permanecem inalterados. Verifique o código pelos seus méritos; o desempenho será decidido mais tarde pelo backtest completo e pelo otimizador.
Resultados da Verificação
Reduzir o default de taker_lag_seconds para ~7200-14400s para que feeds obsoletos suprimam entradas.
Resultados da Verificação
taker_lag_seconds predefine para 90000 (25 horas), portanto _current_fraction aceita uma observação taker_ratio até ~25h obsoleta antes de retornar None. Não é look-ahead (o limite bisect é unilateral em bar ts_event <= ts_init), mas em falhas de feed a estratégia negoceia com uma leitura de fluxo com um dia de atraso.
Resultados da Verificação
Anexar a _frac_buf apenas quando self._tk_ts[idx] avançar.
Resultados da Verificação
_current_fraction retorna a observação mais recente independentemente da novidade, portanto a mesma fração é re-anexada a _frac_buf a cada barra até o feed avançar, comprimindo ligeiramente o desvio padrão da baseline rolling-z. Não é uma quebra de correção à cadência de 1h.
Revisão do Backtest
Implementação limpa de instrumento único (2 fills/ida-e-volta, sem muro de comissão de cabaz), gated por regime, apenas 3 ajustáveis principais — resistente a overfit por construção
Revisão do Backtest
A entrada de sinal de fluxo de ordens é genuinamente diferenciada dos cemitérios trend/carry/cabaz
Revisão do Backtest
Perdedor líquido sem vantagem: profit_factor 0.62, total_return -5.29%, Sharpe -0.71 (CI [-1.35, 0.02]), expectativa -$62.6/operação, avg_trade_return_pct 0.0146% (~zero e sinal negativo)
Revisão do Backtest
avg_loss ($301) excede avg_win ($232) com win_rate 0.447 — o fade de exaustão está sistematicamente do lado errado do movimento de fluxo
Revisão do Backtest
Muro de dados suplementar (L73): todas as 85 operações e 100% dos rendimentos caem numa única janela 2026 de ~6 meses (annual_returns={2026:-5.32}, mensal 2026-03..08) porque o feed taker_ratio apenas cobre uma fatia recente do histórico 2019-2026 OHLCV — a amostra efetiva não suporta um walk-forward de 3 janelas + holdout 20%
Revisão do Backtest
commission_pct_of_gross 47% — comissões mais impacto já consomem metade do bruto mesmo antes da vantagem de sinal negativo
Revisão do Backtest
Corresponde à classe zero-sobreviventes single-perp gated por fluxo de ordens (BtcTakerAggressionPersistence, AvaxTakerAggressorDominance, EthTakerFlowBreakout todos abandonados) e à classe de fade single-name L55 sub-1.15-PF
Revisão do Backtest
6m (2026 apenas)
Revisão do Backtest
multi-ano
Iteration History
Verificação falhou (Layer 3 — backtest do sandbox): Nenhuma operação produzida
Tipo de barra utilizado: BTCUSDT.BINANCE-1-HOUR-LAST-EXTERNAL, Barras processadas: 8729
Diagnósticos: should_enter() retornou um lado 0 vezes ao longo de 8679 barras avaliadas -> o seu ENTRY CONDITION nunca disparou. Afrouxe a lógica de entrada / limiares.
Garanta que a sua estratégia produz operações com os dados e parâmetros fornecidos.
Iteration History
Verificação falhou (Layer 4 — revisão QA):
- O portão de entrada dispara demasiado raramente para produzir um resultado mensurável. O sandbox gerou apenas 6 operações ao longo de 363 dias (~6 operações/ano). O portão composto requer, simultaneamente, (a) um regime RANGING (rácio de eficiência de Kaufman < regime_threshold), (b) um rolling z extremo da fração de compra taker (|z| >= entry_z=1.2), e (c) a estratégia estar FLAT, mantendo depois até 24 barras -- portanto entradas genuínas são raras mesmo que z cruze a banda frequentemente. Este é o exato modo de falha L16 ('BTC 4H desequilíbrio agressor 16 operações', 'BTC taker-ratio 16 operações'), e está WORSE aqui (6 operações). Mesmo um backtest multi-ano a esta taxa fica muito abaixo do piso de mensurabilidade de ~100 operações. A justificação da própria hipótese ('dezenas de vezes por ano, centenas de operações para medição fiável de vantagem') é diretamente contradita pelo resultado de 6 operações.
- Como o resultado assenta em 6 operações, cada métrica de destaque é não-diagnóstica: Sharpe 0.84 mas sharpe_ci_low -1.08 (CI atravessa zero), profit_factor 10.26 e win_rate 0.667 em amostras 6, return_skew 7.23 / curtose 94.8, e avg_win $300 vs avg_loss $58 -- um único largest_win $662 carrega todo o retorno positivo (+1.08%). Nenhuma destas pode ser tomada como prova de vantagem. Esta é uma consequência direta do problema de contagem de operações acima, não um defeito independente.
Iteration History
Verificação falhou (Layer 4 — revisão QA):
- A vantagem central é negativa e inferior às comissões, falsificando a afirmação central da hipótese. A hipótese afirma que o fade capta um 'movimento de reversão 0.4-0.6%'; o sandbox mede avg_trade_return_pct -0.025% -- negativo, e uma ordem de grandeza abaixo tanto da afirmação como do piso de comissão de futuros 0.15%. A corroborar uma ausência genuína de vantagem (não apenas ruído): profit_factor 0.518, Sharpe -1.53 (CI [-2.73, +0.07]), win_rate 0.50 com uma recompensa/risco INVERTED (avg_loss $338 ~= 2x avg_win $175), omega_ratio 0.35. Crucialmente, isto surgiu BECAUSE o afrouxamento iter-3 (entry_z 1.2->0.8, regime_threshold 0.55->0.65) adicionou operações: as entradas adicionais dispararam em extremos de fluxo mais fracos que NOT reverteram, arrastando a vantagem média para negativo. Esta é prova direta de que o sinal de exaustão de fluxo taker não tem alfa de reversão que cubra os custos -- barras extremas de desequilíbrio agressor não revertem sistematicamente a estes limiares.
- A contagem de operações continua abaixo do piso de mensurabilidade. iter-3 elevou as operações de 6 para 26 ao longo de 363 dias (~26/ano), mas isso permanece bem abaixo do piso de ~100 operações necessário para distinguir vantagem de ruído (L16; as tentativas irmãs de desequilíbrio agressor/rácio taker BTC morreram com 16 operações). Com 26 operações e assimetria -4.83 / curtose 43 (uma única perda de -$945 domina), as métricas continuam dominadas por ruído -- o Sharpe CI abrange -2.73 a +0.07. O programador está preso entre dois regimes falhados: portão mais apertado -> não mensurável (6 operações), portão mais solto -> mensurável-mas com vantagem negativa (26 operações, -0.025%/operação). Ambos falham.
O Stratmill é uma ferramenta de investigação e paper trading, não constitui aconselhamento financeiro nem é uma corretora. Os resultados de backtest e paper trading são hipotéticos. Negociar envolve risco de perda.