Pular para o conteúdo
Todas as estratégias

Estratégias

Captura do Diferencial de Funding Entre Mercados — SOL Neutro em Delta: Vender a Perpétua com Funding Mais Alto / Comprar a Perpétua com Funding Mais Baixo entre BINANCE e HYPERLIQUID, Capturando o SPREAD de Funding (Não Carry Direcional), com Stop de Base, Mantido por Dias (2 Pernas, Neutro ao Mercado, 3 Parâmetros)

Resultado: Abandonada

SolCrossVenueFundingSpreadNeutral4H

O mecanismo foi implementado fielmente e é neutro ao mercado por construção (par de perpétuas SOL com notional igual nas duas pernas, sinal de spread de funding, proteção contra perna descoberta, stop de base).

Hipótese

Uma estratégia de valor relativo CROSS-VENUE, MARKET-NEUTRAL que captura o FUNDING-RATE SPREAD entre o perpétuo do ativo SAME em duas exchanges diferentes — BINANCE USD-M SOLUSDT versus HYPERLIQUID SOLUSD. Ambas as pernas são contratos perpétuos sobre o mesmo ativo subjacente, portanto a posição é delta-neutra por construção: você NOT assume uma direção de preço e NOT faz carry de funding em uma única perna (o mecanismo que gerou perdas na estratégia abandonada “SOL Persistent-Funding Contrarian Swing”). A fonte……Mostrar maisMostrar menos

Uma estratégia de valor relativo CROSS-VENUE, MARKET-NEUTRAL que captura o FUNDING-RATE SPREAD entre o perpétuo do ativo SAME em duas exchanges diferentes — BINANCE USD-M SOLUSDT versus HYPERLIQUID SOLUSD. Ambas as pernas são contratos perpétuos sobre o mesmo ativo subjacente, portanto a posição é delta-neutra por construção: você NOT assume uma direção de preço e NOT faz carry de funding em uma única perna (o mecanismo que gerou perdas na estratégia abandonada “SOL Persistent-Funding Contrarian Swing”). A fonte ONLY do PnL é o diferencial de funding — você SHORT na venue que paga o funding mais positivo (os vendidos recebem funding ali) e, simultaneamente, fica LONG com notional igual na venue com funding menor/negativo (os comprados recebem, ou pagam menos). Como as duas pernas acompanham um único ativo subjacente, o PnL direcional de preço se anula em ~0; a variância residual vem apenas do pequeno BASIS de reversão à média (diferença de preço entre as duas venues), limitado por um stop rígido de base. Trata-se de arbitragem de funding entre exchanges (padrão híbrido Cross-Venue #3 com #2), uma vantagem estruturalmente pouco explorada e tolerante a taxas — captura um fluxo de caixa pago mecanicamente, em vez de lutar contra o atrito. Foi escolhida porque faltam à carteira exposições entre venues (7.4% em relação ao objetivo de 15%) e long-short/neutra ao mercado (14.2%), e porque há dados de funding de BOTH Binance e Hyperliquid SOL no catálogo, com histórico de vários anos em resolução diária/4h (HL diária/4h não é limitada pelo histórico). SOL foi escolhido por apresentar dispersão significativa de funding entre venues (alt de beta mais alto), mantendo liquidez de primeira linha em ambas. Apenas 3 parâmetros livres (limiar de spread de entrada, limiar de spread de saída, stop de base) para resistir ao sobreajuste, que é o fator que elimina #1 aqui.

A iteração 2 corrige o QA hypothesis_mismatch (timeframe): o relógio de amostragem agora está fixado em barras de 4-HOUR em BOTH pernas, correspondendo à 'resolução diária/4h' declarada da hipótese e às posições com duração de dias, ao próprio nome desta classe, e ao intervalo em que cada parâmetro denominado em barras é calibrado (spread_smooth_bars 24 x 4H = 4 dias); 4H também é um divisor exato da liquidação de funding de 8h da Binance, de modo que nenhuma liquidação é atravessada. Sem reamostragem unilateral……Mostrar maisMostrar menos

A iteração 2 corrige o QA hypothesis_mismatch (timeframe): o relógio de amostragem agora está fixado em barras de 4-HOUR em BOTH pernas, correspondendo à 'resolução diária/4h' declarada da hipótese e às posições com duração de dias, ao próprio nome desta classe, e ao intervalo em que cada parâmetro denominado em barras é calibrado (spread_smooth_bars 24 x 4H = 4 dias); 4H também é um divisor exato da liquidação de funding de 8h da Binance, de modo que nenhuma liquidação é atravessada. Sem reamostragem unilateral para outro relógio. 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), de modo que o gate de dados multi-leg não pode abandonar a execução. Lógica de sinal/entrada/saída, imports e estrutura permanecem inalterados em relação a previous_code (camadas anteriores permaneceram verdes); a única outra edição declara o clamp de spread_smooth_bars [6, 48] em _param_bounds para que o otimizador nunca busque valores que o código reescreve silenciosamente. Nota para registro: o texto de feedback QA citou um caso semanal-vs-diário ETHUSDT que não corresponde a este par cross-venue SOL, portanto apliquei a regra geral de alinhamento de timeframe em vez dos detalhes literais de ETH. Nocional igual de USD em ambas as pernas mantém o delta líquido ~0 conforme a lição L59; a alavancagem permanece 1.0 e não é referenciada no dimensionamento.

Captura de diferencial de funding com expectativa negativa em uma amostra confiável de 20 operações. Os fluxos de caixa de funding ARE são creditados pelo mecanismo atual (conforme a alteração 2026-06-10), portanto este é um teste justo do mecanismo — e, com o funding incluído, o diferencial SOL entre Binance e Hyperliquid ainda não supera o custo de ida e volta de ~0.19% das duas pernas: avg_trade_return_pct -0.03955% (negativo, abaixo do piso 0.15%), profit_factor 0.989, total_return -0.33%, Sharpe -0.035. O diferencial (~8.6% APR = 0.024%/dia) é pequeno demais para superar os custos nas durações de posição observadas, e impact_cost_pct 259.9% / capacity_usd ~$14.8K fazem com que a vantagem só exista em escala irrisória. A otimização não pode elevar uma vantagem por operação inferior aos custos de negociação; esta é a assinatura clássica de fee_edge / expectativa negativa, e iterar os limiares nunca a recuperou.

Implementação

Par de perpétuas SOL entre mercados, neutro em delta, em barras de 4-HOUR: converte o funding da Binance USD-M (a cada -8h) e da Hyperliquid (a cada -1h) em percentual anualizado, calcula a diferença e aplica uma média suavizada de EMA ao longo de 24 barras (4 dias); quando |spread| >= 8% APR, vende a descoberto no mercado com funding mais alto e compra no outro um notional igual de USD. A única fonte de PnL é o diferencial de funding; o PnL direcional de preço se anula. A posição é mantida durante a redução do spread (desmontá-la custa uma ida e volta completa de 0.19% e ficar sem posição não rende nada) e só há giro quando o spread suavizado inverte além da faixa de reversão de 5% APR, ou ao acionar um stop de base de 2.5% / limite de manutenção por calendário de 45 dias. Fica sem posição se faltar a série de funding de qualquer mercado — sem alternativa baseada apenas em preços.

Resultados da verificação

[arquivado 2026-09-05] O feedback da Camada-4 armazenado anteriormente aqui era uma revisão QA de uma estratégia DIFFERENT (revisão de tendência semanal versus diária ETHUSDT.BINANCE (a execução é uma captura de funding entre mercados SOL)), entregue a esta execução pelo bug de sessão compartilhada/caixa de saída compartilhada corrigido em fbae0041 (isolamento por chamada + vinculação de call_id). Foi movido para metadata.foreign_feedback_archive e deve ser desconsiderado; a próxima revisão QA desta execução é a definitiva.

Analista: confirme que os fluxos de caixa de funding são aplicados às duas pernas no mecanismo de backtest e, em seguida, verifique novamente o carry líquido por operação após taxas nos limiares de entrada/saída otimizados.

avg_trade_return_pct no sandbox (0.1135%) fica pouco abaixo do piso de taxas de futuros 0.15% e PF é 1.01 — o diferencial de funding é um fluxo de caixa pequeno e lento, e a viabilidade depende inteiramente de o funding ser creditado no PnL e de posições mantidas por vários dias acumularem carry suficiente para superar a ida e volta de 0.19%. Informativo; o backtest completo e o otimizador determinarão a viabilidade.

O sandbox está essencialmente no ponto de equilíbrio: total_return +0.167% ao longo de 2181 dias, avg_trade_return_pct 0.1135% (abaixo do piso de futuros de 0.15%), profit_factor 1.013, win_rate 0.50 em apenas 22 operações. Este é um teste preliminar sem otimização, portanto não é um impedimento, mas há dois pontos que o analista deve verificar com números de todo o histórico: (1) se o backtest do NautilusTrader realmente contabiliza os fluxos de caixa de funding dos contratos perpétuos FUNDING em ambas as pernas……Mostrar maisMostrar menos

O sandbox está essencialmente no ponto de equilíbrio: total_return +0.167% ao longo de 2181 dias, avg_trade_return_pct 0.1135% (abaixo do piso de futuros de 0.15%), profit_factor 1.013, win_rate 0.50 em apenas 22 operações. Este é um teste preliminar sem otimização, portanto não é um impedimento, mas há dois pontos que o analista deve verificar com números de todo o histórico: (1) se o backtest do NautilusTrader realmente contabiliza os fluxos de caixa de funding dos contratos perpétuos FUNDING em ambas as pernas — o funding é a fonte de PnL ENTIRE desta estratégia e, se não for aplicado, o retorno medido será apenas ruído de base menos taxas; (2) a viabilidade das taxas/carry nos limiares reais — o diferencial (~8.6% APR ≈ 0.024%/dia) exige cerca de 8 dias com posicionamento correto para cobrir o custo de ida e volta das duas pernas de 0.19%, portanto a vantagem por operação é pequena e depende da duração da posição (duração média observada ~29d). Observe também impact_cost_pct 44.9% / capacidade de ~$495K com per_leg_pct 0.50 (150% de exposição bruta) — um limite real de capacidade, embora pontual na entrada/saída de baixo giro de uma carteira com ~22 operações.

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 foi implementado fielmente e é neutro ao mercado por construção (par de perpétuas SOL com notional igual nas duas pernas, sinal de spread de funding, proteção contra perna descoberta, stop de base).

Os fluxos de caixa de funding ARE são creditados pelo mecanismo atual, portanto este é um teste justo da vantagem do diferencial de funding — não um bloqueio estrutural de impossibilidade de backtest.

Apenas 3 parâmetros centrais; poucos graus de liberdade para o pesquisador.

Expectativa negativa em uma amostra confiável: total_return -0.33%, avg_trade_return_pct -0.03955% (negativo, abaixo do piso de futuros 0.15%), profit_factor 0.989, Sharpe -0.035 em 20 operações. O funding é creditado, portanto o diferencial simplesmente não supera o custo de ida e volta de ~0.19% das duas pernas.

A vantagem é estruturalmente pequena e depende da duração da posição: um diferencial de ~8.6% APR (0.024%/dia) exige ~8 dias com posicionamento correto apenas para atingir o ponto de equilíbrio; o resultado realizado confirma que isso não ocorre.

Teto de capacidade é em escala irrisória: impact_cost_pct 259.9% e capacity_usd ~$14.8K significam que o edge fantasma existe apenas em tamanho trivial.

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

Histórico de Iterações

Verificação reprovada (Camada 2 — cenários sintéticos): Parâmetros usados: ['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'] Verifique se __init__ define todos os atributos usando self.parameters.get(). - steady_uptrend: TypeError: SolCrossVenueFundingSpreadNeutral4H._lookup() aceita 4 argumentos posicionais, mas recebeu 5 (timestamp da barra: 1735690740000) - steady_downtrend: TypeError:……Mostrar maisMostrar menos

Verificação reprovada (Camada 2 — cenários sintéticos): Parâmetros usados: ['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'] Verifique se __init__ define todos os atributos usando self.parameters.get(). - steady_uptrend: TypeError: SolCrossVenueFundingSpreadNeutral4H._lookup() aceita 4 argumentos posicionais, mas recebeu 5 (timestamp da barra: 1735690740000) - steady_downtrend: TypeError: SolCrossVenueFundingSpreadNeutral4H._lookup() aceita 4 argumentos posicionais, mas recebeu 5 (timestamp da barra: 1735690740000) - flat_ranging: TypeError: SolCrossVenueFundingSpreadNeutral4H._lookup() aceita 4 argumentos posicionais, mas recebeu 5 (timestamp da barra: 1735690740000) - volatility_spike: TypeError: SolCrossVenueFundingSpreadNeutral4H._lookup() aceita 4 argumentos posicionais, mas recebeu 5 (timestamp da barra: 1735690740000) - zero_volume: TypeError: SolCrossVenueFundingSpreadNeutral4H._lookup() aceita 4 argumentos posicionais, mas recebeu 5 (timestamp da barra: 1735690740000) - price_gap: TypeError: SolCrossVenueFundingSpreadNeutral4H._lookup() aceita 4 argumentos posicionais, mas recebeu 5 (timestamp da barra: 1735690740000)

Verificação reprovada (Camada 4 — revisão QA): - A viabilidade de taxas/vantagem falha decisivamente no resultado do mecanismo ACTUAL (item de checklist #7, L6/L26). O sandbox é uma carteira com perdas: total_return -2.17%, profit_factor 0.957 (<1.0), Sharpe -0.35, expectativa de -$45/operação e avg_trade_return_pct -0.0033% — NEGATIVE e ~45x abaixo do piso de futuros 0.15%. Em uma amostra mensurável (82 operações, metrics_reliable: true), portanto é um resultado genuíno de ausência de vantagem. O funding WAS foi……Mostrar maisMostrar menos

Verificação reprovada (Camada 4 — revisão QA): - A viabilidade de taxas/vantagem falha decisivamente no resultado do mecanismo ACTUAL (item de checklist #7, L6/L26). O sandbox é uma carteira com perdas: total_return -2.17%, profit_factor 0.957 (<1.0), Sharpe -0.35, expectativa de -$45/operação e avg_trade_return_pct -0.0033% — NEGATIVE e ~45x abaixo do piso de futuros 0.15%. Em uma amostra mensurável (82 operações, metrics_reliable: true), portanto é um resultado genuíno de ausência de vantagem. O funding WAS foi creditado (2580 eventos); assim, mesmo com o diferencial integralmente pago, a estratégia não supera o custo de ida e volta de ~0.19%. - A hipótese central — 'o PnL direcional de preço líquido fica em ~0; a variância residual é apenas a pequena base com reversão à média' — NOT o que o mecanismo produziu. O PnL por operação é dominado por grandes oscilações simétricas: avg_win $2,009 ~= avg_loss $2,099, maior movimento de ±$9,600-9,959, win_rate 0.50. Uma estratégia genuinamente neutra em delta que captura o spread de funding deveria apresentar um PnL uma ordem de magnitude menor e assimetria positiva devido ao carry; em vez disso, o diferencial (líquido de -$45/operação) é ofuscado em ~45:1 pelo ruído da base/preço. Assinatura idêntica à de EthCrossVenueCashAndCarry, abandonada, e de variantes anteriores de captura de funding entre mercados.

Verificação reprovada (Camada 4 — revisão QA) [class=hypothesis_mismatch]: - [edge_concern] Não é o motivo do veredito; registrado para o analista caso a hipótese seja cadastrada novamente: no intervalo diário, o sandbox é confiável e saudável (metrics_reliable=TRUE, 92 operaçõ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), enquanto os tercis 'calmo' (-18.8%) e……Mostrar maisMostrar menos

Verificação reprovada (Camada 4 — revisão QA) [class=hypothesis_mismatch]: - [edge_concern] Não é o motivo do veredito; registrado para o analista caso a hipótese seja cadastrada novamente: no intervalo diário, o sandbox é confiável e saudável (metrics_reliable=TRUE, 92 operaçõ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), enquanto os tercis 'calmo' (-18.8%) e 'estressado' (-21.8%, 56.7% DD) são ambos negativos, e only_one_regime=true. Drawdown máximo de 36%, com duração de 1038 dias abaixo do pico. A vantagem é real, mas concentrada em regimes e acompanhada de drawdown elevado; tamanho e robustez merecem análise no backtest completo. - TIMEFRAME MISMATCH em relação à hipótese pré-registrada. A hipótese registrada (título e descrição neste resumo) especifica de forma inequívoca e repetida barras WEEKLY ('em barras WEEKLY, mantendo posições por semanas a meses'), mas config.bar_type é ETHUSDT.BINANCE-1-DAY-LAST-EXTERNAL. Isso não é uma reamostragem cosmética: altera a quantidade de operações (28 semanal -> 92 diário), a duração média das posições (10.4 semanas -> 3 semanas) e todo o teste estatístico. A própria docstring do módulo do desenvolvedor admite que a iteração 3 fez essa mesma mudança para o diário e que QA 'estava certo em rejeitá-la: foi uma reformulação da hipótese feita unilateralmente no código.' A situação permanece materialmente inalterada: a hipótese registrada ainda especifica semanal, portanto esta é novamente uma reformulação unilateral do intervalo temporal no código. A Camada 1.5 valida apenas instrumento/mercado, não o intervalo temporal; portanto, essa verificação cabe a QA, e um intervalo temporal especificado na hipótese que difere de config.bar_type é uma incompatibilidade crítica. É exatamente esse grau de liberdade do pesquisador que o sistema de pré-registro da fábrica existe para evitar: constatou-se que a forma semanal não podia ser medida, e então o intervalo de amostragem foi alterado para fabricar mensurabilidade.

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.