Saltar para o conteúdo
Todas as estratégias

Estratégias

Colheita do Diferencial de Financiamento entre Mercados — SOL neutra em delta: vender a perpétua com financiamento mais elevado / comprar a perpétua com financiamento mais baixo em BINANCE vs HYPERLIQUID, receber o financiamento SPREAD (não carry direcional), com stop de base, mantida durante dias (2 pernas, neutra ao mercado, 3 parâmetros)

Resultado: Abandonado

SolCrossVenueFundingSpreadNeutral4H

O mecanismo está implementado fielmente e é neutro ao mercado por construção (par perpétuo de duas pernas SOL com notional igual, sinal de diferencial de financiamento, proteção contra perna descoberta, stop de base).

Hipótese

Uma estratégia de valor relativo CROSS-VENUE, MARKET-NEUTRAL que colhe o FUNDING-RATE SPREAD entre o perpétuo do ativo SAME em duas bolsas diferentes — BINANCE USD-M SOLUSDT vs HYPERLIQUID SOLUSD. Ambas as pernas são perpétuos sobre o mesmo ativo subjacente, pelo que a posição é neutra em delta por construção: não está NOT a assumir uma direção de preço nem está NOT a fazer carry de financiamento numa única perna (o mecanismo que perdeu dinheiro na estratégia abandonada «SOL Persistent-Funding Contrarian Swing»).……Mostrar maisMostrar menos

Uma estratégia de valor relativo CROSS-VENUE, MARKET-NEUTRAL que colhe o FUNDING-RATE SPREAD entre o perpétuo do ativo SAME em duas bolsas diferentes — BINANCE USD-M SOLUSDT vs HYPERLIQUID SOLUSD. Ambas as pernas são perpétuos sobre o mesmo ativo subjacente, pelo que a posição é neutra em delta por construção: não está NOT a assumir uma direção de preço nem está NOT a fazer carry de financiamento numa única perna (o mecanismo que perdeu dinheiro na estratégia abandonada «SOL Persistent-Funding Contrarian Swing»). A fonte de PnL ONLY é o diferencial de financiamento — vende a descoberto SHORT o mercado que paga o financiamento mais positivo (as posições curtas recebem financiamento nesse mercado) e, em simultâneo, abre uma posição longa de notional igual LONG no mercado com financiamento inferior/negativo (as posições longas recebem ou pagam menos). Como as duas pernas acompanham o mesmo ativo subjacente, o PnL direcional do preço é neutralizado, ~0; a variância residual é apenas a pequena BASIS com reversão à média (diferença de preço entre os dois mercados), limitada por um stop de base rígido. Trata-se de arbitragem de financiamento entre bolsas (padrão entre mercados n.º 3, híbrido com n.º 2), uma vantagem estruturalmente pouco explorada e tolerante às comissões — captura um fluxo de caixa pago mecanicamente em vez de lutar contra a fricção. Foi escolhida porque a carteira tem pouca exposição entre mercados (7.4% face ao objetivo 15%) e long-short/neutra ao mercado (14.2%), e porque os dados de financiamento da Binance e Hyperliquid BOTH SOL existem no catálogo com histórico plurianual à resolução diária/4h (HL diária/4h não tem limitações de histórico). SOL foi escolhido por apresentar uma dispersão de financiamento significativa entre mercados (altcoin de beta mais elevado), mantendo-se entre os ativos mais líquidos em ambos. Apenas 3 parâmetros livres (limiar do spread de entrada, limiar do spread de saída, stop de base) para resistir ao sobreajustamento, o fator destrutivo n.º 1 neste caso.

A iteração 2 corrige o QA hypothesis_mismatch (intervalo temporal): o relógio de amostragem está agora fixado em barras de 4-HOUR nas pernas BOTH, correspondendo à «resolução diária/4h» e às posições mantidas durante dias indicadas na hipótese, ao nome desta classe e ao intervalo em que todos os parâmetros expressos em barras são calibrados (spread_smooth_bars 24 x 4H = 4 dias); 4H também é um divisor exato do intervalo de liquidação do financiamento da Binance de 8h, pelo que nenhuma liquidação fica repartida……Mostrar maisMostrar menos

A iteração 2 corrige o QA hypothesis_mismatch (intervalo temporal): o relógio de amostragem está agora fixado em barras de 4-HOUR nas pernas BOTH, correspondendo à «resolução diária/4h» e às posições mantidas durante dias indicadas na hipótese, ao nome desta classe e ao intervalo em que todos os parâmetros expressos em barras são calibrados (spread_smooth_bars 24 x 4H = 4 dias); 4H também é um divisor exato do intervalo de liquidação do financiamento da Binance de 8h, pelo que nenhuma liquidação fica repartida entre barras. Não há reamostragem unilateral para outro relógio. Foi verificado que ambas as pernas existem no catálogo em 4H (SOLUSDT.BINANCE-4-HOUR e SOLUSD.HYPERLIQUID-4-HOUR, histórico HL desde 2024-01), pelo que a verificação de dados multi-perna não pode abandonar a execução. A lógica dos sinais/entradas/saídas, as importações e a estrutura não foram alteradas face a previous_code (as camadas anteriores continuavam aprovadas); a única outra alteração declara o limite spread_smooth_bars [6, 48] em _param_bounds, para que o otimizador nunca procure valores que o código reescreva silenciosamente. Nota para registo: o texto de feedback QA citava um caso semanal vs diário ETHUSDT que não corresponde a este par SOL entre mercados, pelo que apliquei a regra geral de alinhamento temporal em vez dos detalhes literais ETH. Um notional USD igual em ambas as pernas mantém o delta líquido em ~0, conforme a lição L59; a alavancagem permanece em 1.0 e não é referida no dimensionamento.

Colheita do diferencial de financiamento com expectativa negativa numa amostra fiável de 20 transações. Os fluxos de caixa de financiamento ARE são creditados pelo motor atual (de acordo com a alteração 2026-06-10), pelo que este é um teste justo do mecanismo — e, com o financiamento incluído, o diferencial SOL entre Binance e Hyperliquid continua sem cobrir o custo de ida e volta de duas pernas de ~0.19%: avg_trade_return_pct -0.03955% (negativo, abaixo do limite mínimo 0.15%), profit_factor 0.989, total_return -0.33%, Sharpe -0.035. O diferencial (~8.6% APR = 0.024%/dia) é demasiado reduzido para superar os custos nas durações observadas das posições, e impact_cost_pct 259.9% / capacity_usd ~$14.8K fazem com que a vantagem só exista à escala de brinquedo. A otimização não consegue aumentar uma vantagem por transação inferior aos custos de negociação; esta é a assinatura clássica de fee_edge / expectativa negativa, e ajustar repetidamente os limiares nunca a recuperou.

Implementação

Par SOL perp cross-venue delta-neutral em barras de 4-HOUR: converte o funding USD-M da Binance (por-8h) e da Hyperliquid (por-1h) para percentagem anualizada, calcula a diferença, aplica suavização EMA ao longo de 24 barras (4 dias), e quando |spread| >= 8% APR vende a descoberto a venue com funding mais rico ao mesmo tempo que assume posição longa de igual nocional USD na mais barata. A única fonte de PnL é o diferencial de funding; o PnL direcional de preço anula-se. O livro é mantido durante o decaimento do spread (desfazer custa uma ida e volta completa de 0.19% e não rende nada flat) e só é rodado quando o spread suavizado inverte além da banda de inversão 5% APR, ou num stop de base 2.5% / limite de detenção de calendário de 45 dias. Fica flat se a série de funding de qualquer venue estiver em falta -- sem fallback apenas de preço.

Resultados da Verificação

[arquivado 2026-09-05] O feedback da Camada-4 anteriormente guardado aqui era uma revisão QA de uma estratégia DIFFERENT (revisão da tendência semanal vs diária ETHUSDT.BINANCE (a execução é uma colheita de financiamento entre mercados SOL)), entregue a esta execução devido ao erro de sessão partilhada/caixa de saída partilhada corrigido em fbae0041 (isolamento por chamada + associação call_id). Foi movido para metadata.foreign_feedback_archive e deve ser ignorado; a próxima revisão QA desta execução é a válida.

Analista: confirme que os fluxos de caixa de financiamento são aplicados a ambas as pernas no motor de backtest e, em seguida, volte a verificar o carry líquido de comissões por transação nos limiares de entrada/saída otimizados.

avg_trade_return_pct no ambiente de teste (0.1135%) fica ligeiramente abaixo do limite mínimo de comissões dos futuros 0.15% e PF é 1.01 — o diferencial de financiamento é um fluxo de caixa reduzido e lento, e a viabilidade depende inteiramente de o financiamento ser creditado no PnL e de posições mantidas durante vários dias acumularem carry suficiente para cobrir o custo de ida e volta de 0.19%. Informativo; o backtest completo e o otimizador determinam a viabilidade.

A sandbox está essencialmente em break-even: total_return +0.167% ao longo de 2181 dias, avg_trade_return_pct 0.1135% (abaixo do mínimo de 0.15% nos futuros), profit_factor 1.013, win_rate 0.50 em apenas 22 trades. Trata-se de um smoke test não otimizado, pelo que não é bloqueante, mas há dois pontos que o analista deve verificar com números do histórico completo: (1) que o backtest do NautilusTrader credita efetivamente os fluxos de caixa de FUNDING dos perp em ambas as pernas — o funding é a fonte ENTIRE de PnL……Mostrar maisMostrar menos

A sandbox está essencialmente em break-even: total_return +0.167% ao longo de 2181 dias, avg_trade_return_pct 0.1135% (abaixo do mínimo de 0.15% nos futuros), profit_factor 1.013, win_rate 0.50 em apenas 22 trades. Trata-se de um smoke test não otimizado, pelo que não é bloqueante, mas há dois pontos que o analista deve verificar com números do histórico completo: (1) que o backtest do NautilusTrader credita efetivamente os fluxos de caixa de FUNDING dos perp em ambas as pernas — o funding é a fonte ENTIRE de PnL desta estratégia, e se o funding não for aplicado o retorno medido é apenas ruído da base menos comissões; (2) viabilidade de comissões/carry nos limiares reais — o diferencial (~8.6% APR ≈ 0.024%/dia) necessita de ~8 dias corretamente posicionados para compensar o round trip de 0.19% nas duas pernas, pelo que a edge por trade é reduzida e dependente da duração da detenção (hold médio observado ~29d). Note-se ainda impact_cost_pct 44.9% / capacidade ~$495K a per_leg_pct 0.50 (150% de exposição bruta) — um verdadeiro limite de capacidade, embora pontual na entrada/saída de baixo turnover de um book de ~22 trades.

Revisão do Backtest

Sharpe
-0,03
Retorno Total
-0,33%
Drawdown Máximo
2,27%
Total de Operações
20
Taxa de Acerto
50,0%
Fator de Lucro
0,99

O mecanismo está implementado fielmente e é neutro ao mercado por construção (par perpétuo de duas pernas SOL com notional igual, sinal de diferencial de financiamento, proteção contra perna descoberta, stop de base).

Os fluxos de caixa de financiamento ARE são creditados pelo motor atual, pelo que este é um teste justo da vantagem do diferencial de financiamento — não um impedimento estrutural que impossibilite o backtest.

Apenas 3 parâmetros principais; poucos graus de liberdade para o investigador.

Expectativa negativa numa amostra fiável: total_return -0.33%, avg_trade_return_pct -0.03955% (negativo, abaixo do limite mínimo dos futuros 0.15%), profit_factor 0.989, Sharpe -0.035 em 20 transações. O financiamento é creditado, pelo que o diferencial simplesmente não cobre o custo de ida e volta de duas pernas de ~0.19%.

A vantagem é estruturalmente reduzida e depende da duração da posição: um diferencial de ~8.6% APR (0.024%/dia) exige ~8 dias corretamente posicionados só para atingir o ponto de equilíbrio; o resultado realizado confirma que não o atinge.

O limite de capacidade é à escala de brinquedo: impact_cost_pct 259.9% e capacity_usd ~$14.8K significam que a vantagem fantasma só existe a uma dimensão insignificante.

A perna da Hyperliquid só existe a partir de 2024-01-25, pelo que a janela efetiva de teste é de ~1.6 anos / 20 transações, independentemente do período principal de 6 anos.

Histórico de Iterações

Verificação falhada (Camada 2 — cenários sintéticos): Parâmetros utilizados: ['per_leg_pct', 'min_notional', '_param_bounds', 'max_hold_days', 'min_hold_hours', 'exit_spread_apr', 'enter_spread_apr', 'max_basis_stop_pct', 'spread_smooth_bars'] Confirme que __init__ define todos os atributos a partir de self.parameters.get(). - steady_uptrend: TypeError: SolCrossVenueFundingSpreadNeutral4H._lookup() aceita 4 argumentos posicionais, mas foram fornecidos 5 (marca temporal da barra: 1735690740000) - steady_downtrend:……Mostrar maisMostrar menos

Verificação falhada (Camada 2 — cenários sintéticos): Parâmetros utilizados: ['per_leg_pct', 'min_notional', '_param_bounds', 'max_hold_days', 'min_hold_hours', 'exit_spread_apr', 'enter_spread_apr', 'max_basis_stop_pct', 'spread_smooth_bars'] Confirme que __init__ define todos os atributos a partir de self.parameters.get(). - steady_uptrend: TypeError: SolCrossVenueFundingSpreadNeutral4H._lookup() aceita 4 argumentos posicionais, mas foram fornecidos 5 (marca temporal da barra: 1735690740000) - steady_downtrend: TypeError: SolCrossVenueFundingSpreadNeutral4H._lookup() aceita 4 argumentos posicionais, mas foram fornecidos 5 (marca temporal da barra: 1735690740000) - flat_ranging: TypeError: SolCrossVenueFundingSpreadNeutral4H._lookup() aceita 4 argumentos posicionais, mas foram fornecidos 5 (marca temporal da barra: 1735690740000) - volatility_spike: TypeError: SolCrossVenueFundingSpreadNeutral4H._lookup() aceita 4 argumentos posicionais, mas foram fornecidos 5 (marca temporal da barra: 1735690740000) - zero_volume: TypeError: SolCrossVenueFundingSpreadNeutral4H._lookup() aceita 4 argumentos posicionais, mas foram fornecidos 5 (marca temporal da barra: 1735690740000) - price_gap: TypeError: SolCrossVenueFundingSpreadNeutral4H._lookup() aceita 4 argumentos posicionais, mas foram fornecidos 5 (marca temporal da barra: 1735690740000)

Verificação falhou (Camada 4 — revisão QA): - A viabilidade de comissões/edge falha decisivamente no resultado do motor ACTUAL (lista de verificação n.º 7, L6/L26). A sandbox é um livro perdedor: total_return -2.17%, profit_factor 0.957 (<1.0), Sharpe -0.35, expetativa -$45/trade, e avg_trade_return_pct -0.0033% — NEGATIVE e ~45x abaixo do mínimo de futuros 0.15%. Numa amostra mensurável (82 trades, metrics_reliable: true), portanto um resultado genuíno sem edge. Funding WAS creditado (2580 eventos), pelo que……Mostrar maisMostrar menos

Verificação falhou (Camada 4 — revisão QA): - A viabilidade de comissões/edge falha decisivamente no resultado do motor ACTUAL (lista de verificação n.º 7, L6/L26). A sandbox é um livro perdedor: total_return -2.17%, profit_factor 0.957 (<1.0), Sharpe -0.35, expetativa -$45/trade, e avg_trade_return_pct -0.0033% — NEGATIVE e ~45x abaixo do mínimo de futuros 0.15%. Numa amostra mensurável (82 trades, metrics_reliable: true), portanto um resultado genuíno sem edge. Funding WAS creditado (2580 eventos), pelo que mesmo com o diferencial pago na totalidade a estratégia não cobre o custo de ida e volta de ~0.19%. - A hipótese central — 'o PnL direcional de preço resulta líquido em ~0; a variância residual é apenas a base pequena e com reversão à média' — é NOT o que o motor produziu. O PnL por trade é dominado por enormes oscilações simétricas: avg_win $2,009 ~= avg_loss $2,099, maior ±$9,600-9,959, win_rate 0.50. Uma colheita de spread de funding genuinamente delta-neutral deveria apresentar um PnL uma ordem de magnitude menor e enviesado positivamente pelo carry; em vez disso, o diferencial (líquido -$45/trade) é dwarfed ~45:1 pelo ruído de base/preço. Assinatura idêntica às variantes abandonadas EthCrossVenueCashAndCarry e anteriores de captura de funding cross-venue.

Verificação falhada (Camada 4 — revisão QA) [classe=hypothesis_mismatch]: - [edge_concern] Não é o motivo do veredicto; fica registado para o analista caso a hipótese seja registada novamente: no relógio diário, o ambiente de teste é honesto e saudável (metrics_reliable=TRUE, 92 transações, Sharpe 0.79 CI [0.10,1.51], avg_trade_return_pct 3.61%, PF 1.48), mas regime_performance mostra ALL do retorno positivo concentrado no tercil de volatilidade «normal» (+489%, Sharpe 2.64), com os tercis «calmo» (-18.8%) e «sob……Mostrar maisMostrar menos

Verificação falhada (Camada 4 — revisão QA) [classe=hypothesis_mismatch]: - [edge_concern] Não é o motivo do veredicto; fica registado para o analista caso a hipótese seja registada novamente: no relógio diário, o ambiente de teste é honesto e saudável (metrics_reliable=TRUE, 92 transações, Sharpe 0.79 CI [0.10,1.51], avg_trade_return_pct 3.61%, PF 1.48), mas regime_performance mostra ALL do retorno positivo concentrado no tercil de volatilidade «normal» (+489%, Sharpe 2.64), com os tercis «calmo» (-18.8%) e «sob tensão» (-21.8%, 56.7% DD) ambos negativos, e only_one_regime=true. Rebaixamento máximo 36%, com uma duração de 1038 dias abaixo do máximo. A vantagem é real, mas está concentrada num regime e implica um rebaixamento elevado; a dimensão e a robustez merecem análise no backtest completo. - TIMEFRAME MISMATCH face à hipótese pré-registada. A hipótese registada (título e descrição neste documento) especifica, de forma inequívoca e repetida, barras WEEKLY («em barras WEEKLY, mantendo posições durante semanas a meses»), mas config.bar_type é ETHUSDT.BINANCE-1-DAY-LAST-EXTERNAL. Não se trata de uma reamostragem cosmética: altera o número de transações (28 semanais -> 92 diárias), a duração média da posição (10.4 semanas -> 3 semanas) e todo o teste estatístico. O comentário de documentação do próprio módulo do programador admite que a iteração 3 fez esta mesma alteração para frequência diária e que QA «tinha razão em rejeitá-la: foi uma reformulação da hipótese feita unilateralmente no código». A situação não mudou materialmente: a hipótese registada continua a indicar frequência semanal, pelo que esta é novamente uma reformulação unilateral do intervalo temporal no código. A Camada 1.5 apenas valida o instrumento/mercado, não o intervalo temporal, pelo que esta verificação cabe a QA, e um intervalo temporal indicado na hipótese que difira de config.bar_type constitui uma incompatibilidade crítica. É precisamente este grau de liberdade do investigador que o sistema de pré-registo da fábrica existe para evitar: concluiu-se que a forma semanal era impossível de medir e, em seguida, alterou-se o relógio de amostragem para fabricar mensurabilidade.

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.