Pular para o conteúdo
Todas as estratégias

Estratégias

Deribit BTC Convexidade de Tendência com Opção Comprada Mensal de Uma Única Perna (Condicionada a IV Barato, Direcional em Ambos os Sentidos)

Resultado: Abandonada

BtcDeribitMonthlyLongOptionTrendConvexityCheapIV

Resumo do resultado

BtcDeribitMonthlyLongOptionTrendConvexityCheapIV foi a inversão deliberada, com vega comprado e direção comprada, das carteiras de opções vendidas em volatilidade e não direcionais do pipeline: comprava uma única call ou put OTM para converter uma visão de tendência BTC em um retorno convexo com risco definido, e superou sem problemas os requisitos de execução com múltiplas pernas e da Layer-3, que haviam bloqueado estratégias semelhantes. Mas o backtest só conseguiu gerar 9 operações porque a cadeia mensal BTC……Mostrar maisMostrar menos

BtcDeribitMonthlyLongOptionTrendConvexityCheapIV foi a inversão deliberada, com vega comprado e direção comprada, das carteiras de opções vendidas em volatilidade e não direcionais do pipeline: comprava uma única call ou put OTM para converter uma visão de tendência BTC em um retorno convexo com risco definido, e superou sem problemas os requisitos de execução com múltiplas pernas e da Layer-3, que haviam bloqueado estratégias semelhantes. Mas o backtest só conseguiu gerar 9 operações porque a cadeia mensal BTC da Deribit no catálogo abrange apenas cerca de 12 vencimentos desde meados de -2025, e o mecanismo sinalizou as métricas como não confiáveis — um Sharpe divulgado de 3.43 tinha um intervalo de confiança que ia de -13 a +11, e todo o retorno líquido vinha de um único mês, fevereiro de 2026. O revisor decidiu revise_hypothesis, observando que aquela era a segunda execução idêntica com 9 operações e que nenhuma alteração no código poderia acrescentar períodos mensais a uma cadeia tão limitada. A tese da convexidade nunca foi refutada; simplesmente não pôde ser testada com o histórico de opções disponível, e a estratégia foi abandonada em vez de ser iterada até bater na mesma parede pela terceira vez.

Hipótese

Expresse uma visão de tendência de BTC por meio de uma única perna comprada de opção SINGLE, em vez de um perp, convertendo o retorno de seguir a tendência em uma estrutura convexa e de risco definido. Quando BTC estiver em regime de alta confirmado AND a volatilidade implícita estiver barata, compre uma opção mensal CALL de aproximadamente 5% OTM na Deribit; em regime de baixa confirmado AND, quando IV estiver barato, compre uma opção mensal PUT de aproximadamente 5% OTM. Sem perna de hedge nem margem para venda……Mostrar maisMostrar menos

Expresse uma visão de tendência de BTC por meio de uma única perna comprada de opção SINGLE, em vez de um perp, convertendo o retorno de seguir a tendência em uma estrutura convexa e de risco definido. Quando BTC estiver em regime de alta confirmado AND a volatilidade implícita estiver barata, compre uma opção mensal CALL de aproximadamente 5% OTM na Deribit; em regime de baixa confirmado AND, quando IV estiver barato, compre uma opção mensal PUT de aproximadamente 5% OTM. Sem perna de hedge nem margem para venda a descoberto: a perda máxima é o prêmio pago. Esta é a inversão deliberada das vendas de puts com garantia em caixa e baixa volatilidade e do straddle comprado não direcional já no pipeline: aqui buscamos LONG vega + LONG direção, capturando a cauda extrema à direita/esquerda dos retornos de BTC, que os seguidores de tendência em perp não conseguem capturar porque os custos de taxas e as reversões bruscas nos stops os desgastam. A perna única evita o caminho de execução de opções com múltiplas pernas, que nunca passou na verificação (L2). A Deribit BTC é o mercado de opções de cripto mais líquido, tem gregas/IV no catálogo, e estruturas de perna única da Deribit BTC já passaram pelo sandbox Layer-3 (straddle comprado, venda de CSP alcançaram backtest_review); assim, a disponibilidade de dados e a execução têm riscos reduzidos. Preenche de uma vez as duas categorias mais sub-representadas: mercado de opções (~5% ante a meta de 15%) e direção long_short (15% ante a meta), com horizonte de médio a longo prazo e apenas 4 parâmetros.

Correção da iteração 3 para o timeout de relógio de parede da Layer-3 (>300s). Toda a lógica de sinal já passou pelas Layers 1 e 2, portanto a correção se limita estritamente ao custo por barra apontado pelo feedback. Causa raiz: _realized_vol_cheap() calculava o desvio padrão móvel com um loop for em Python sobre todo o histórico de fechamentos (`for i in range(n): rolls[i] = rets[i:i+w].std()`) — O(n·w) por chamada, executado como alternativa barata de IV em todas as barras em que o histórico de DVOL é curto……Mostrar maisMostrar menos

Correção da iteração 3 para o timeout de relógio de parede da Layer-3 (>300s). Toda a lógica de sinal já passou pelas Layers 1 e 2, portanto a correção se limita estritamente ao custo por barra apontado pelo feedback. Causa raiz: _realized_vol_cheap() calculava o desvio padrão móvel com um loop for em Python sobre todo o histórico de fechamentos (`for i in range(n): rolls[i] = rets[i:i+w].std()`) — O(n·w) por chamada, executado como alternativa barata de IV em todas as barras em que o histórico de DVOL é curto (ou seja, durante todo o trecho inicial/com lacunas do backtest), exatamente o padrão de “reconstruir uma lista dentro de on_bar em cada barra” descrito pelo diagnóstico. Correção: (1) substituir esse loop por um desvio padrão móvel totalmente vetorizado por soma cumulativa (desvio padrão populacional, ddof=0 — idêntico ao padrão de np.std); (2) armazenar em cache o resultado da alternativa barata de IV por timestamp da barra (_iv_cheap_ts/_iv_cheap_val), de modo que chamadas repetidas durante a varredura de períodos/pernas de uma barra sejam O(1); o caminho de DVOL já era O(log n) por meio de np.searchsorted e não foi alterado. Nenhum import, estrutura de classe, lógica de regime, lógica de rolagem ou filtro de entrada/saída foi alterado — portanto, as Layers 1 e 2 não podem regredir. Como proteção adicional contra o volume de barras por perna (o mesmo modo de falha que afetou as estratégias semelhantes de opções com rolagem), a configuração fixa o AND primário perp, a perna rolling_options e o `timeframe` em 1-DAY (o expansor define por padrão as pernas em 1-HOUR, um estouro de barras por perna de 6-24x) e limita lookback_days a 365 (~12 períodos mensais).

Implementação

BTC Estratégia de convexidade de tendência com opção comprada de uma única perna na Deribit MONTHLY, condicionada a IV barato, direcional nos dois sentidos. O principal BTC-PERPETUAL.DERIBIT (1-DAY) determina o intervalo de rolagem e fornece a série de fechamentos diários; as opções negociáveis são os contratos mensais de call e put ~5% OTM definidos. Quando BTC está em um regime de alta confirmado (preço acima de uma 50 SMA ascendente) e a volatilidade implícita de AND está barata (percentil de DVOL <= 0.40, com percentil de volatilidade realizada como alternativa), compra uma opção mensal OTM CALL; em um regime de baixa confirmado, se AND está barato em IV, compra uma opção mensal OTM PUT. No máximo uma perna comprada por vencimento mensal, com rolagem 5 DTE antes do vencimento e saída antecipada se o regime virar contra a perna ou se ocorrer um stop de catástrofe no prêmio de -70%. Vega comprada + direção comprada; perda máxima = prêmio pago; sem venda a descoberto nem perna de hedge.

Resultados da verificação

Verificação reprovada (Layer 3 — backtest em sandbox): o teste rápido excedeu o limite de tempo de execução de 300s. Isso quase sempre significa que o trabalho por barra cresce com o histórico — por exemplo, reexaminar toda a série de funding/suplementar ou reconstruir uma lista e chamar min()/sorted() dentro de calculate_signal()/on_bar() em cada barra. Pré-calcule arrays de timestamps ordenados ONCE em __init__ e use bisect, ou armazene em cache consultas indexadas por timestamp, para que o custo por barra seja O(log n), não O(n).

Analista: confirme total_trades em toda a janela; um programa mensal de opções compradas com dois filtros pode gerar operações de menos para um veredito confiável. Considere ampliar lookback_days além de 365 para acumular mais vencimentos.

Baixa contagem de operações / poder estatístico. O prazo mensal (dte 30) em uma janela de histórico da cadeia de opções de 365 dias (~12 vencimentos), filtrado ainda por BOTH um filtro de regime de tendência confirmado AND um filtro de IV barato, provavelmente gera bem menos de 10 pernas compradas durante a janela (a sandbox produziu 9 no total). Isso fica muito abaixo do limite de ~100 operações necessário para separar claramente o sinal do ruído, e o intervalo amplo do Sharpe CI ([-13.1, 11.1], PSR 0.77) confirma que a estimativa tem baixa confiança. É inerente a um programa de opções mensais com dois filtros, portanto é uma ressalva para o analista, não um defeito de código; porém, nenhum Sharpe/PF dessa estratégia deve ser considerado confiável sem uma janela muito mais longa.

Verifique se BacktestRunner._apply_fees abrange os instrumentos das opções DERIBIT; confirme comissões diferentes de zero no backtest completo antes de confiar em avg_trade_return_pct.

A sandbox informa total_commission=0.0001 (próximo de zero) em 9 operações com opções. As taxas de opções da Deribit (0.03% do ativo subjacente por contrato, limitadas a 12.5% do prêmio) são relevantes para opções LONG, que pagam prêmio e taxas tanto na abertura quanto no fechamento. Um resultado de comissão próximo de zero sugere que as taxas de opções talvez não estejam sendo modeladas nos instrumentos de pernas injetados, o que superestimaria o retorno líquido de uma carteira de opções compradas que paga prêmio. É uma questão do mecanismo de backtest/taxas, não um defeito no código da estratégia.

Considere usar False como padrão (ignorar a entrada) quando nem DVOL nem RV puderem ser medidos, para que toda entrada realmente satisfaça a condição conjunta de IV barato; ou confirme pelos logs que nenhuma entrada ocorreu com a alternativa permissiva.

O filtro de IV barato é PERMISSIVE quando nenhuma das medidas de volatilidade está disponível: se o histórico de DVOL for curto (< min_iv_samples) AND a alternativa de volatilidade realizada não puder ser calculada, _iv_cheap retorna True, permitindo uma entrada WITHOUT uma condição confirmada de IV barato. A hipótese exige volatilidade IV barata como condição conjunta obrigatória (“regime confirmado AND IV está barato”). Para BTC DVOL da Deribit, essa janela se preenche rapidamente, então o impacto se limita ao trecho inicial/com lacunas do backtest; porém, quaisquer operações realizadas nesse trecho se baseiam apenas no regime, não no regime confirmado AND com IV barato, conforme especificado.

Analista: verifique se o desembolso de prêmio por operação é razoável como fração do patrimônio (opções compradas de risco definido devem arriscar uma pequena porcentagem por operação); se o contrato de 1 for grande demais em relação ao patrimônio, mude para um dimensionamento baseado em orçamento de prêmio (risk_frac).

avg_position_pct=93.6% na sandbox. O dimensionamento é de um contrato 1 fixo por entrada, via _leg_size herdado (contracts=1.0). Para uma opção comprada, o risco real é o prêmio pago (risco definido, limitado ainda mais pelo stop -70%); portanto, um position_pct reportado alto provavelmente reflete o mecanismo avaliando NOTIONAL da opção (contratos x ativo subjacente), em vez do prêmio em risco. Vale confirmar que o tamanho fixo de 1 contratos não concentra excessivamente a carteira quando o patrimônio é baixo nem gera um desembolso de prêmio implausivelmente alto em relação ao patrimônio durante o backtest completo.

Revisão do Backtest

Sharpe
3,43
Retorno Total
10,15%
Drawdown Máximo
9,79%
Total de Operações
9
Taxa de Acerto
44,4%
Fator de lucro
1,86

O mecanismo é sólido e passa pela verificação: uma única perna de opção comprada = expressão convexa de risco definido de uma visão de tendência, sem caminho de execução com múltiplas pernas.

Preenche duas categorias sub-representadas (bolsa de opções + direção long_short).

Onde há operações, a convexidade por operação parece favorável (PF 1.86, assimetria positiva 1.55, apenas max_dd 9.8%).

Apenas 9 operações em todo o histórico de opções disponível; o mecanismo sinaliza metrics_reliable=false.

Todo o retorno líquido vem de um mês atípico (2026-02 +14.3%); nos outros 8 meses, os resultados praticamente se anulam.

sharpe_ci_low = -13.1 — o Sharpe CI abrange 0; deflated_sharpe não pode ser calculado. As métricas não têm significado estatístico.

A cadeia de opções BTC mensais da Deribit no catálogo abrange apenas ~12 vencimentos (desde 2025-07); lookback_days=365 já cobre esse período — nenhuma alteração de desenvolvimento pode acrescentar períodos mensais.

Esta é a segunda execução com o resultado idêntico de 9 operações; iterar novamente diante da mesma barreira de dados é insistir sem progresso.

Análise

Não otimize NOT com base em 9 operações (o mecanismo sinalizou metrics_reliable=false, e todo o retorno de +100% vem de um único valor atípico de fev-2026). A causa raiz é a cobertura dos dados, não a lógica: rolling_options.lookback_days é 365, então a expansão da cadeia mensal encontrou apenas ~12 períodos (a partir de 2025-07). O irmão promovido CSP usou lookback_days=1100 e obteve uma cadeia de 36 períodos que remonta a 2023. FIX: aumente rolling_options.lookback_days para ~1100 para que a cadeia mensal BTC da Deribit cubra 2023-2026, gerando ~36 oportunidades de entrada (~3x operações) e uma amostra estatisticamente testável que abranja tanto a alta de 2024 quanto a queda de 2025-26. Faça o backtest novamente e confirme que a vantagem persiste ao longo de ~30+ operações (expectativa positiva NOT dependente de um único mês, win_rate e profit_factor estáveis) antes de gastar recursos computacionais com otimização. Mantenha todo o restante inalterado.

Resumo do resultado

Uma estratégia de opções mecanicamente sólida e aprovada na verificação ainda não pode ser validada se o catálogo contiver apenas ~12 vencimentos mensais — 9 operações, Sharpe de CI com intervalo de -13 a +11 e todo o retorno vindo de um único mês não sustentam otimização; portanto, a profundidade da cadeia de opções deve ser confirmada antes de iterar repetidamente.

O revisor do backtest retornou “revise_hypothesis” na etapa anterior à otimização: o mecanismo era sólido e passou pela verificação, mas a cadeia mensal de opções BTC da Deribit no catálogo abrange apenas ~12 vencimentos (desde 2025-07), então lookback_days=365 já cobre esse período e nenhuma alteração de desenvolvimento pode acrescentar períodos — além de esta ser a segunda execução com o resultado idêntico de 9 operações, tornando novas iterações uma insistência diante de uma barreira de dados. A etapa final foi abandonada.

Estratégia de opção comprada de uma única perna na Deribit, com BTC vencimentos mensais, que expressava convexamente uma visão direcional de tendência: em regime de alta confirmado com IV barato, comprava uma call de ~5% OTM; em regime de baixa confirmado com IV barato, uma put de ~5% OTM; mantinha no máximo uma perna de risco definido (perda máxima = prêmio) e fazia rolagem mensal.

O backtest realizou apenas 9 operações no histórico de opções disponível (6 calls, 3 puts, entrada média IV 0.323, vega líquida na entrada +751, ~24 DTE), com metrics_reliable=false: Sharpe nominal de 3.43 e fator de lucro de 1.86, com assimetria positiva e drawdown máximo de 9.8%, mas sharpe_ci_low de -13.1 (CI cruzando zero) e todo o retorno líquido concentrado em um único mês atípico (2026-02, +14.3%). Nenhuma etapa de otimização foi executada.

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.