Sobre el proyecto

Este repositorio es un proyecto de investigación de trading cuantitativo en Python centrado en una configuración de compra de calls de reversión a corto plazo: después de una gran caída intradía, algunos nombres tienden a recuperarse en las sesiones siguientes. El trabajo se organiza como una ruta de investigación secuencial en lugar de un solo script, y la versión oficial actual se denomina Reversal 3.5. Marco de la estrategia - Universo oficial: qqq_plus_leverage_etfs, descrito como qqq_only_filtered más SOXL, UPRO y DRAM. - Filtros: lookback de 60 días, matched_signals >= 10, caída mínima actual > 0.5%, un guardián de P/E trailing no ETF < 140, y un gate de salud de tendencia en vivo que bloquea canales bajistas a corto plazo. - Overlay de timing: un score de timing técnico de 5 días con un gate de no-trade de 0.50. - Marco de operaciones: calls casi ATM, aproximadamente 30 DTE en backtests, con escaleras de salida descritas como +10%/+15%/-10% en investigación y +15%/+15%/-10% en ejecución en vivo. - Prueba de papel en vivo: escaneos programados sin lookahead con un gate de liquidez de opciones y una regla de no-trade cuando la liquidez es pobre, publicando el dashboard en GitHub. Trayectoria de investigación Los primeros notebooks (por ejemplo, versions/notebooks/Reversal2.0.ipynb y Reversal2.1.ipynb) comenzaron con una pequeña watchlist heredada de unos diez nombres, extrayendo un año de datos de Close/High/Low de Yahoo Finance, calculando el Max Drop diario, y permitiendo al usuario establecer un umbral de caída intradía, un objetivo de recuperación y una ventana de lookahead. Luego se añadió una capa de opciones: dado el vencimiento, la volatilidad implícita, el precio de entrada y la tasa libre de riesgo, simulaciones basadas en Black-Scholes y GBM estiman intervalos de confianza del PnL de la call día a día. El proyecto avanzó luego a través de mejoras escalonadas: 1. Formalizar la señal base: un día de señal más un criterio de éxito de recuperar el 70% de la caída del día de señal dentro de una ventana de lookahead. 2. Comparar universos; la conclusión fue que un pool más curado de qqq_only_filtered superó a pools más amplios. 3. Refinar la señal con una ventana de 60 días, caída mínima actual > 0.5%, y un pequeño overlay de ETFs apalancados. 4. Añadir conciencia de régimen, manejo de días festivos, gate de liquidez de opciones, y un runner de papel en vivo sin lookahead. 5. Añadir un overlay de timing para que no cada señal válida se convierta en una operación, estableciendo una ventana de 5 días y un gate de no-trade con timing_score >= 0.50. Los resultados de investigación representativos mantenidos en el repo incluyen comparación de universos, variantes de factores inspiradas en artículos, experimentos de caída mínima, experimentos de overlay de ETFs apalancados, y análisis de scores de régimen, cada uno con artefactos CSV y PNG. Notas de la versión actual (3.5) - Los escaneos de entrada temprana de 10:00 AM a 12:00 PM ET ahora son solo de sombra: registran candidatos y contexto de liquidez de opciones pero no abren posiciones de papel en vivo ni de Alpaca. - DRAM, un ETF de memoria/semiconductores, se añade al caché de candidatos curado para monitoreo en vivo e investigación futura. - Hotfixes anteriores ajustaron el gate de liquidez de entrada de opciones (open interest >= 110, volumen >= 20, spread <= 14%), distinguieron cotizaciones de opciones ejecutables de marcas lastPrice obsoletas, e hicieron que la ejecución en vivo cargara el caché de tickers verificado por defecto para evitar solicitudes repetidas al screener de Nasdaq. - Se introdujeron un gate estricto de early_entry_score y un filtro de estabilidad de recuperación, y se añadió un runner de ejecución de papel de Alpaca aislado usando credenciales solo locales. Resultado destacado El backtest registrado de Reversal 3.3 se describe como +690.85% de retorno total, -26.42% de drawdown máximo, 69.23% de tasa de aciertos y Sharpe de 4.32 en una ventana del 2025-04-23 al 2026-04-23. Reversal 3.5 mantiene esa definición central mientras cambia la ejecución de entrada temprana a solo sombra y añade DRAM. El README también documenta un checkpoint de papel en vivo con equity, PnL realizado y no realizado, posiciones abiertas y enlaces a operaciones en vivo y CSVs de equity. La disciplina de investigación está documentada en RESEARCH_GUARDRAILS.md, con la intención declarada de que las futuras mejoras sean juzgadas contra esos estándares en lugar de solo la calidad de la curva.