Sobre o projeto
Este repositório é um projeto de pesquisa em trading quantitativo baseado em Python, centrado em uma configuração de compra de calls em reversão de curto prazo: após uma grande queda intradiária, alguns ativos tendem a se recuperar nas sessões seguintes. O trabalho está organizado como um caminho de pesquisa sequencial, e não como um único script, e a versão oficial atual é rotulada como Reversal 3.5.
Estrutura da estratégia
- Universo oficial: qqq_plus_leverage_etfs, descrito como qqq_only_filtered mais SOXL, UPRO e DRAM.
- Filtros: lookback de 60 dias, matched_signals >= 10, queda atual mínima > 0,5%, uma proteção de P/L trailing não-ETF < 140 e um gate de saúde de tendência ao vivo que bloqueia canais de baixa de curto prazo.
- Overlay de timing: uma pontuação de timing de indicador técnico de 5 dias com um gate de no-trade de 0,50.
- Estrutura da operação: calls próximas do ATM, aproximadamente 30 DTE nos backtests, com escadas de saída descritas como +10%/+15%/-10% em pesquisa e +15%/+15%/-10% na execução ao vivo.
- Teste em paper ao vivo: varreduras agendadas sem lookahead com um gate de liquidez de opções e uma regra de no-trade quando a liquidez é ruim, publicando a saída do dashboard no GitHub.
Jornada de pesquisa
Os primeiros notebooks (por exemplo, versions/notebooks/Reversal2.0.ipynb e Reversal2.1.ipynb) começaram a partir de uma pequena watchlist legada de cerca de dez nomes, puxando um ano de dados Close/High/Low do Yahoo Finance, calculando o Max Drop diário e permitindo ao usuário definir um limite de queda no mesmo dia, uma meta de recuperação e uma janela de lookahead. Uma camada de opções foi então adicionada: dados vencimento, volatilidade implícita, preço de entrada e taxa livre de risco, simulações baseadas em Black-Scholes e GBM estimam intervalos de confiança do PnL de calls dia a dia.
O projeto então avançou por meio de upgrades em etapas:
1. Formalizar o sinal base: um dia de sinal mais um critério de sucesso de recuperar 70% da queda do dia do sinal dentro de uma janela de lookahead.
2. Comparar universos; a conclusão foi que um pool mais curado, qqq_only_filtered, superou pools mais amplos.
3. Refinar o sinal com uma janela de 60 dias, queda atual mínima > 0,5% e um pequeno overlay de ETFs alavancados.
4. Adicionar consciência de regime, tratamento de feriados, gate de liquidez de opções e um runner de paper ao vivo sem lookahead.
5. Adicionar um overlay de timing para que nem todo sinal válido se torne uma operação, fixando-se em uma janela de 5 dias e um gate de no-trade com timing_score >= 0,50.
Saídas de pesquisa representativas mantidas no repositório incluem comparação de universos, variantes de fatores inspiradas em artigos, experimentos de queda mínima, experimentos de overlay de ETFs alavancados e análises de pontuação de regime, cada uma com artefatos CSV e PNG.
Notas da versão atual (3.5)
- Varreduras de entrada antecipada das 10:00 às 12:00 ET agora são apenas shadow: registram candidatos e contexto de liquidez de opções, mas não abrem posições em paper ao vivo ou paper da Alpaca.
- DRAM, um ETF de memória/semicondutores, é adicionado ao cache curado de candidatos para monitoramento ao vivo e pesquisa futura.
- Hotfixes anteriores apertaram o gate de liquidez de entrada de opções (open interest >= 110, volume >= 20, spread <= 14%), distinguiram cotações executáveis de opções de marcas lastPrice obsoletas e fizeram a execução ao vivo carregar o cache de tickers versionado por padrão para evitar solicitações repetidas ao screener da Nasdaq.
- Um gate estrito de early_entry_score e um filtro de estabilidade de recuperação foram introduzidos, e um runner isolado de execução em paper da Alpaca foi adicionado usando credenciais apenas locais.
Resultado em destaque
O backtest registrado do Reversal 3.3 é descrito como +690,85% de retorno total, -26,42% de drawdown máximo, 69,23% de taxa de acerto e 4,32 de Sharpe em uma janela de 2025-04-23 a 2026-04-23. O Reversal 3.5 mantém essa definição central enquanto muda a execução de entrada antecipada para apenas shadow e adiciona DRAM. O README também documenta um checkpoint de paper ao vivo com equity, PnL realizado e não realizado, posições abertas e links para trades ao vivo e CSVs de equity.
A disciplina de pesquisa está documentada em RESEARCH_GUARDRAILS.md, com a intenção declarada de que upgrades futuros sejam julgados contra esses padrões, e não apenas pela qualidade da curva.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.