Pular para o conteúdo
Todas as estratégias

Estratégias

Backtest de estratégia: rotação semanal defensiva de baixa volatilidade em perps de cripto, só comprada com filtro de tendência (BINANCE USD-M, mantém as 3 principais por volatilidade realizada em LOWEST, caixa abaixo da tendência, novo sinal semanal, 3 parâmetros) | Stratmill

Resultado: Abandonada

LowVolDefensiveWeeklyRotation8Majors

Resumo do resultado

Esta estratégia tentou diversificar o portfólio com uma rotação semanal, apenas comprada, nos três principais perpétuos mais estáveis, explorando a anomalia documentada de baixa volatilidade com apenas três parâmetros principais, sem alavancagem e com um filtro de tendência para ficar em caixa durante regimes de queda. Seu backtest inicial foi o destaque do lote — Sharpe próximo de 1.0, com intervalo de confiança que excluía claramente zero, fator de lucro 1.72 e retorno líquido de taxas de +1319% — e recebeu o……Mostrar maisMostrar menos

Esta estratégia tentou diversificar o portfólio com uma rotação semanal, apenas comprada, nos três principais perpétuos mais estáveis, explorando a anomalia documentada de baixa volatilidade com apenas três parâmetros principais, sem alavancagem e com um filtro de tendência para ficar em caixa durante regimes de queda. Seu backtest inicial foi o destaque do lote — Sharpe próximo de 1.0, com intervalo de confiança que excluía claramente zero, fator de lucro 1.72 e retorno líquido de taxas de +1319% — e recebeu o veredito “otimizar” na análise pré-otimização. A otimização, porém, revelou que a vantagem era ilusória: o Sharpe fora da amostra no walk-forward teve média de -0.742, contra +1.47 dentro da amostra; o Sharpe deflacionado de 0.09 ficou muito abaixo da expectativa de ruído do melhor resultado entre -225 tentativas; PBO foi 0.70; e os retornos se mostraram um artefato de alta de 2021. Após duas iterações, o analista abandonou a estratégia por uma falha genuína de robustez — ela negociava corretamente, mas simplesmente não tinha uma vantagem generalizável, correspondendo a uma classe de falha de rotação de ativos principais de baixa volatilidade já descartada várias vezes.

Hipótese

Uma rotação LONG-ONLY semanal sobre os 8 principais perps USD-M (BTC/ETH/SOL/BNB/AVAX/LINK/ADA/XRP), cujo SORT SIGNAL é realizado VOLATILITY — deliberadamente o seletor ORTHOGONAL de sinal oposto à cesta implantada de momentum de força relativa (que mantém os ativos com movimento de FASTEST). Conforme L24, uma nova cesta de ativos principais deve indicar uma variável de sinal que nenhuma cesta promovida utiliza: esta usa classificação pela volatilidade realizada inversa (a anomalia defensiva de baixa……Mostrar maisMostrar menos

Uma rotação LONG-ONLY semanal sobre os 8 principais perps USD-M (BTC/ETH/SOL/BNB/AVAX/LINK/ADA/XRP), cujo SORT SIGNAL é realizado VOLATILITY — deliberadamente o seletor ORTHOGONAL de sinal oposto à cesta implantada de momentum de força relativa (que mantém os ativos com movimento de FASTEST). Conforme L24, uma nova cesta de ativos principais deve indicar uma variável de sinal que nenhuma cesta promovida utiliza: esta usa classificação pela volatilidade realizada inversa (a anomalia defensiva de baixa volatilidade), que não é usada nem pela rotação de momentum promovida (retorno bruto) nem pela cesta de carry promovida (funding). Portanto, na maioria das semanas, ela seleciona um conjunto de ativos quase DISJOINT em relação à carteira de momentum implantada — um verdadeiro diversificador, não uma reponderação. Evita todos os casos recentes de fracasso: não é carry de funding (o carry de alt/cross-venue acaba de ser confirmado como tendo resultado líquido negativo), não é uma aposta de preço em um único ativo (sobreajuste/colapso), não são opções (limite de contagem de operações), não são liquidações (limite de dados), não é um par cointegrado (SOL-AVAX -82%), não é uma cesta market-neutral (L12 0/53, inviável por causa das taxas — esta estratégia opera apenas comprada e tem baixo giro). Apenas parâmetros 3 (janela retrospectiva da volatilidade, top-K, tendência MA) e nenhuma alavancagem (levando em conta a lição das liquidações intradiárias-CM). Os ativos de baixa volatilidade são estáveis, então o giro da classificação é baixo e o impacto das taxas é mínimo, enquanto a cadência semanal ao longo de um histórico de vários anos proporciona uma amostra mensurável.

A iteração 2 corrige a falha exata da camada -3 (“nenhum trade gerado”). Causa raiz: _extract_symbol_from_bar lia bar.instrument_id, que não existe em Bar nesta versão do NautilusTrader — isso gerava AttributeError, ocultado pelo except genérico, então _ingest_bar armazenava NO fechamentos para qualquer símbolo; com buffers de preços vazios, não era possível calcular volatilidade realizada, os candidatos ficavam abaixo de top_k e _maybe_rebalance retornava antecipadamente a cada candle → zero trades. A correção……Mostrar maisMostrar menos

A iteração 2 corrige a falha exata da camada -3 (“nenhum trade gerado”). Causa raiz: _extract_symbol_from_bar lia bar.instrument_id, que não existe em Bar nesta versão do NautilusTrader — isso gerava AttributeError, ocultado pelo except genérico, então _ingest_bar armazenava NO fechamentos para qualquer símbolo; com buffers de preços vazios, não era possível calcular volatilidade realizada, os candidatos ficavam abaixo de top_k e _maybe_rebalance retornava antecipadamente a cada candle → zero trades. A correção mínima lê bar.bar_type.instrument_id.symbol (o mesmo caminho usado pelo on_bar do modelo-base na linha 276), confirmado como retornando “BTCUSDT” etc. Nada mais mudou — as importações continuam limpas, o sinal contínuo de diferença de estabilidade e toda a lógica multi-instrumento/rebalanceamento (que já havia passado nas camadas 1–2) permanecem intactos, e a configuração declara todos os 8 instrumentos em candles de 1-DAY, para que o sandbox carregue o universo completo. Isso mantém aprovadas todas as camadas anteriores e permite que a rotação semanal finalmente execute trades.

Sharpe deflacionado falhou: DSR=0.0899, máximo esperado=1.44 em 225 tentativas — o Sharpe selecionado (1.006) está abaixo do máximo esperado pelo ruído, ou seja, não se distingue do ruído do melhor resultado entre N tentativas. É um caso clássico de superajuste, não uma premissa corrigível: a média do walk-forward IS +1.47 se inverte para média OOS -0.742 (is_overfitted=TRUE), PBO=0.70>0.5, Sharpe no período de validação de apenas 0.178, e o resultado principal da amostra completa (+1319%) é sustentado pela alta……Mostrar maisMostrar menos

Sharpe deflacionado falhou: DSR=0.0899, máximo esperado=1.44 em 225 tentativas — o Sharpe selecionado (1.006) está abaixo do máximo esperado pelo ruído, ou seja, não se distingue do ruído do melhor resultado entre N tentativas. É um caso clássico de superajuste, não uma premissa corrigível: a média do walk-forward IS +1.47 se inverte para média OOS -0.742 (is_overfitted=TRUE), PBO=0.70>0.5, Sharpe no período de validação de apenas 0.178, e o resultado principal da amostra completa (+1319%) é sustentado pela alta de 2021 (2022 -24%, 2026 -19%). O mecanismo de rotação de ativos principais de baixa volatilidade/contra o beta já foi abandonado várias vezes no registro de resultados por apresentar o mesmo padrão de superajuste (casos semelhantes com similaridade 0.81/0.80); reformulá-lo para outro conjunto de ativos principais só levaria a novo superajuste, e a varredura não revela uma região robusta de parâmetros a buscar (OOS negativo em todas as janelas, sem faixa livre de descontinuidades com vantagem genuína de OOS). Nenhuma iteração pode transformar uma vantagem negativa fora da amostra em uma vantagem real. Este é um veredito genuíno de robustez — a estratégia negocia corretamente; simplesmente não tem uma vantagem generalizável.

Implementação

Rotação defensiva semanal, apenas comprada, de baixa volatilidade, entre 8 principais perps USD-M da Binance (BTC/ETH/SOL/BNB/AVAX/LINK/ADA/XRP) em candles de 1-DAY. A cada semana (rebalance_days=7), classifica o universo pela volatilidade realizada móvel (desvio padrão amostral dos retornos logarítmicos diários em vol_lookback_days) ASCENDING e seleciona os top_k=3 ativos CALMEST. Em seguida, aplica um filtro de tendência por ativo: mantém a posição comprada somente enquanto o fechamento estiver acima de sua própria trend_ma_days SMA; caso contrário, aloca essa parcela em caixa. Encerra posições em ativos que saem da cesta-alvo e abre posições nos novos ativos selecionados, com pesos iguais de allocation_per_position do patrimônio por posição. Apenas comprada, alavancagem=1, dimensionamento relativo ao capital via get_account_equity(). Três parâmetros principais (vol_lookback_days, top_k, trend_ma_days), além de ajustes estruturais.

Resultados da verificação

Verificação falhou (camada 3 — backtest em sandbox): nenhum trade gerado Tipo de candle usado: BTCUSDT.BINANCE-1-DAY-LAST-EXTERNAL, candles processados: 364 Diagnóstico: should_enter() retornou um lado 0 vezes em 0 candles avaliados -> seu ENTRY CONDITION nunca foi acionado. Afrouxe a lógica de entrada / os limites. Certifique-se de que sua estratégia gere trades com os dados e parâmetros fornecidos.

Analista: avalie o backtest completo de vários anos; não otimize até estabelecer o sinal da vantagem na janela mais longa.

Amostra negativa, pequena e limitada ao regime: PF 0.41, total_return -18.1%, win_rate 0.238, avg_trade_return_pct -2.97% em apenas 21 trades ao longo de um ano. RR é favorável (avg_win 2486 = 1.3× avg_loss 1890); a baixa taxa de acerto é o único fator negativo, e o Sharpe -1.16 CI [-2.77, +0.36] ainda inclui valores positivos. A anomalia de baixa volatilidade é um efeito de longo prazo que uma janela de um ano de queda das altcoins não pode avaliar conclusivamente.

Confirme com uma amostra consideravelmente maior no backtest completo de vários anos.

Poucos trades (21 em 363 dias, abaixo do piso de ~100) — esperado em uma rotação semanal de baixo giro (giro 8.1), mas o resultado negativo se baseia em poucas amostras.

Considere derivar o tratamento de candles extras da base em vez de reimplementar o despacho, para evitar divergências silenciosas.

on_bar é totalmente sobrescrito, reimplementando manualmente o despacho da base e referenciando componentes internos dela. Funciona (aprovado nas camadas 1-3, negociou em todas as posições), mas é vulnerável a futuras alterações no modelo-base.

Revisão do Backtest

Sharpe
1,00
Retorno Total
1318,94%
Drawdown Máximo
35,21%
Total de Operações
138
Taxa de Acerto
44,2%
Fator de lucro
1,72

Vantagem estatisticamente significativa: Sharpe 1.0 com 95% CI [0.42, 1.61] EXCLUDING zero (probabilistic_sharpe 0.9995) — a única estratégia do lote recente que supera esse limite

profit_factor 1.72 (bem acima do limite 1.2 de ausência de vantagem), Sortino 1.43, expectativa de +$8.3 mil por trade

Distribuída entre regimes: positiva em 5 de 7 anos (2020/2021/2023/2024/2025), anos negativos moderados (-24%, -19%); max_drawdown 35% abaixo do limite rígido de abandono, sem liquidação, alavancagem de 1x

Pouco impacto de taxas, como previsto: avg_trade_return_pct ~11% na rotação semanal de baixo giro, impact_cost_pct apenas 1.3% do bruto, capacidade de $613 milhões

Baseada na anomalia real e documentada de baixa volatilidade/defensiva; sinal ortogonal ao cesto de momentum implantado

Concentração em outlier/mercado de alta: return_skew 2.59, curtose 38, com 2020/2021 respondendo por grande parte — a otimização precisa confirmar que a vantagem se mantém em janelas OOS sem alta

information_ratio -0.24 em comparação com o benchmark de cesto com pesos iguais e benchmark_correlation 0.58 / beta 0.27 — o alfa isolado é +0.20, mas o valor de diversificação em relação a simplesmente manter o cesto é marginal

end_unrealized_pct 180 (~14% do resultado principal) é marcação a mercado de posições abertas — avalie pelo histórico realizado (ainda forte)

Análise

A estratégia é executada corretamente em toda a janela (349 trades otimizados / 138 base) — o bug anterior de zero trades por símbolo de candle foi corrigido.

As métricas pontuais dentro da amostra parecem atraentes (PF 1.72, Sortino 1.43, Sharpe positivo na amostra completa de ~1.0) — exatamente por isso a correção para testes múltiplos é importante.

A análise de sensibilidade não revela descontinuidades; os parâmetros são individualmente estáveis dentro da amostra.

Superajuste no walk-forward: Sharpe médio de IS +1.47 cai para média de OOS -0.742 (janelas -1.21, -1.46, +0.44). A vantagem não se generaliza.

Sharpe deflacionado 0.0899 << 0.95, e o Sharpe otimizado (1.006) é BELOW expected_max_sharpe_annualized (1.44) — a seleção não se distingue do ruído do melhor resultado entre -225 tentativas.

PBO 0.70 > 0.5 — é mais provável que a seleção de parâmetros esteja superajustada; is_significant = falso.

Sharpe no período de validação de apenas 0.178; win_rate 0.149 e max_drawdown 32.4% não atingem os limites.

O retorno está concentrado em 2021 (anual 2021 +251%/+204%; 2022 -24%, 2026 -19%) — dependência de um único regime de alta.

Corresponde a uma classe de falha repetidamente abandonada: rotação de ativos principais de baixa volatilidade (similaridade 0.81 “superajuste”, 0.80 “verification_loop”).

0.7x WF OOS

Resumo do resultado

Um Sharpe atraente na amostra completa não significa nada quando está concentrado em um regime de alta e falha no walk-forward — o mecanismo de rotação de ativos principais de baixa volatilidade/contra o beta já apresentou repetidamente o mesmo padrão de superajuste; por isso, não vale a pena tentar novamente reformulando-o para outro conjunto de ativos principais.

O analista de estratégias abandonou a estratégia após a otimização, com veredito de robustez: o Sharpe selecionado (1.006) caiu abaixo do máximo esperado pelo ruído (1.44 em 225 tentativas), OOS foi negativo em todas as janelas walk-forward, PBO excedeu 0.5, e o retorno principal foi sustentado pela alta de 2021 (2022 -24%, 2026 -19%) — um caso clássico de superajuste, sem região robusta de parâmetros para buscar.

Rotação semanal, apenas comprada, entre 8 principais perpétuos da Binance USD-M, que mantinha os 3 principais ativos com menor volatilidade realizada (a anomalia defensiva/de baixa volatilidade) sob um filtro de tendência por ativo, deliberadamente ortogonal ao cesto de momentum implantado.

O backtest inicial mostrou uma vantagem estatisticamente significativa (Sharpe ~1.0 com 95% CI [0.42, 1.61] excluindo zero, fator de lucro 1.72, Sortino 1.43, retorno total de +1319% em 138 trades, retorno médio por trade ~11%, drawdown máximo 35%, alavancagem de 1x). Mas, após a otimização, o Sharpe IS walk-forward de +1.47 se inverteu para uma média OOS de -0.742, com PBO 0.70, Sharpe deflacionado 0.0899, Sharpe no período de validação de apenas 0.178 e taxa de acerto de 0.149.

Stratmill é uma ferramenta de pesquisa e paper trading, não uma consultoria financeira ou corretora. Resultados de backtest e paper trading são hipotéticos. Negociar envolve risco de perda.