Quant Lab: laboratorio de estrategias

5 reglas sistemáticas sobre el mismo universo de 8 acciones, paper trading sin costes; benchmark: buy & hold equiponderado.

Mejor Sharpe
1.33
Momentum XS 126-21
Peor drawdown
-32.6%
Reversión Bollinger z±1
Benchmark equiponderado
+165.2%
retorno total buy & hold
Días evaluados
123
tras warm-up de indicadores

Curvas de capital

514 k$391 k$268 k$145 k$22 k$d0d15d30d45d60d75d90d105d120Momentum 12-1 canónicoMomentum XS 126-21Reversión Bollinger z±1Trend cruce MA 20/100Vol targeting 12%Buy & hold equiponderado
Momentum 12-1 canónicoMomentum XS 126-21Reversión Bollinger z±1Trend cruce MA 20/100Vol targeting 12%Buy & hold equiponderado

Capital inicial nominal de 100 k$ con el mismo warm-up de indicadores para las cinco estrategias; el eje x es el índice de días de la evaluación (d0…d122). Algunas curvas arrancan por debajo de 100 k$ porque el primer punto ya incorpora las posiciones abiertas al salir del warm-up.

Métricas

EstrategiaRank SharpeRetorno totalCAGRVol anualSharpeMax DDDeflactado% días +
Momentum 12-1 canónico
el clásico de Jegadeesh-Titman: lookback 252d saltando el último mes, 2 largos, rebalanceo mensual — viable gracias al histórico largo
3+330.5%+45.4%29.8%1.26-30.0%93%53.6%
Momentum XS 126-21
largo los 2 valores con más momentum (lookback 126d, salta el último mes), rebalanceo mensual — Chan adaptado a muestra corta
1+320.5%+44.5%27.3%1.33-26.1%95%53.1%
Reversión Bollinger z±1
entrada cuando el precio cae bajo -1σ de su media de 20d, salida al volver a la media; sin stops (Chan)
5+100.0%+19.4%21.9%0.73-32.6%72%47.9%
Trend cruce MA 20/100
largo cuando la media de 20 sesiones supera a la de 100
6+85.6%+17.2%18.9%0.71-26.7%71%55.2%
Vol targeting 12%
cartera equiponderada escalada a volatilidad objetivo del 12% (cap 1.5x)
2+119.2%+22.3%13.1%1.28-13.5%94%56.3%
Buy & hold equiponderado
benchmark pasivo: mismo peso en todo el universo
4+165.2%+28.4%18.5%1.22-19.7%92%56.3%

Sharpe anualizado con √252. La columna «Deflactado» es el Sharpe deflactado de López de Prado: la probabilidad de que el Sharpe observado supere al máximo esperable POR AZAR tras probar N estrategias — por debajo del 95%, escepticismo; por debajo del 80%, probablemente ruido.

Correlación entre estrategias

 Mom. 12-1MomentumReversiónTrendVol targetEquipond.
Mom. 12-11.000.840.520.690.750.75
Momentum0.841.000.530.700.730.74
Reversión0.520.531.000.540.630.72
Trend0.690.700.541.000.810.80
Vol target0.750.730.630.811.000.91
Equipond.0.750.740.720.800.911.00

Correlación de retornos diarios entre estrategias. El valor del laboratorio no está en elegir la «ganadora» sino en combinar señales poco correlacionadas: la ley fundamental de la gestión activa (Grinold-Kahn, IR = IC·√BR) dice que con un breadth mínimo de solo 8 valores ninguna señal aislada puede sostener un information ratio alto, y la única palanca restante es sumar apuestas independientes. Ojo con los pares de correlación muy alta en la matriz (p.ej. vol targeting vs equiponderado): son casi la misma cartera y apenas aportan diversificación mutua.

Agente Machine Learning — validación purgada (López de Prado)

Acierto fuera de muestra
55.4%
vs 50% del azar · 4 bloques walk-forward
AUC
0.563
Muestras
4,854
~231 independientes (labels solapados ÷21)
Datos
4.0 años
random forest, 12 features

Qué features pesan (importancia por permutación)

dist_hi520.039vol_210.010boll0.009mom_252_210.006xs_rank_mom630.006macd_n0.000rsi140.000mom_210.000

MDA sobre el último bloque OOS — no MDI, que está sesgada hacia features ruidosas (LdP cap. 8). La que domina, la distancia a máximos de 52 semanas, coincide con el efecto documentado en la literatura.

Probabilidad de subida a 21 días (a 2026-07-16)

tickerprob.valor
XOM
58%
GOOGL
57%
JNJ
54%
NVDA
54%
MSFT
51%
AAPL
49%
JPM
47%
AMZN
47%

señal solo si |retorno 21d| > 0.5·σ·√21 (umbral de vol, LdP). Entre 45% y 55% el modelo no opina de verdad; su confianza en el comité escala con el acierto OOS — si no bate al azar, habla bajito por diseño.

Diseño según la biblioteca: k-fold normal MIENTE con labels solapados (el label de hoy comparte 20 de 21 días con el de mañana → el modelo memoriza en train lo que se le pregunta en test), por eso validación walk-forward con purga y embargo de 21 días (AFML cap. 7); label con umbral de volatilidad ±0.5σ√21 (cap. 3); bagging antes que boosting porque en finanzas el enemigo es la varianza (cap. 6); momentum normalizado por la vol de cada acción para el panel conjunto (Chan).

Análisis técnico por valor

RSI(14), MACD(12,26,9), posición en bandas de Bollinger (20, 2σ) y distancia a los extremos de 52 semanas. El técnico aquí es contexto y timing — vota acotado dentro del agente cuantitativo, no manda solo.

ticker60 sesionesRSI14MACDBollingervs máx 52svs mín 52smediaslectura
JPM63.4positivo0.78-1%+22%>MA50 >MA200pegado a máximos de 52s (efecto 52-week high)
MSFT56.3positivo0.9-26%+14%<MA50 <MA200-26% desde máximos de 52s
GOOGL46.2positivo-0.13-12%+94%<MA50 >MA200sin extremos
AMZN54.2positivo0.6-9%+26%<MA50 >MA200sin extremos
NVDA52.1positivo0.4-12%+26%<MA50 >MA200sin extremos
XOM57.1positivo0.99-14%+42%<MA50 >MA200sin extremos
AAPL71.4positivo0.95+0%+65%>MA50 >MA200RSI 71.4 sobrecomprado; pegado a máximos de 52s (efecto 52-week high)
JNJ51.7negativo-0.04-6%+57%>MA50 >MA200sin extremos

Bollinger >+1 = sobre la banda superior; el efecto 52-week high (cerca de máximos tiende a continuar) está documentado empíricamente — por eso pegado a máximos suma y lejos de máximos avisa de tendencia dañada.

Qué mantendría hoy cada estrategia

EstrategiaEstadoCartera vigente
Momentum 12-1 canónico2 posicionesGOOGL NVDA
Momentum XS 126-212 posicionesXOM GOOGL
Reversión Bollinger z±10 posicionesen liquidez — sin señal activa hoy
Trend cruce MA 20/1006 posicionesAAPL GOOGL AMZN NVDA JPM JNJ
Vol targeting 12%8 posicionesAAPL MSFT GOOGL AMZN NVDA JPM XOM JNJ
Buy & hold equiponderado8 posicionesAAPL MSFT GOOGL AMZN NVDA JPM XOM JNJ

Cartera que cada regla mantendría al cierre del último día evaluado (paper trading, sin costes de transacción).

Advertencia anti-sobreajuste

LEER ANTES DE FIARSE DEL RANKING

muestra de ~5.0 años (histórico largo FMP) y 6 estrategias probadas. El Sharpe deflactado (López de Prado) es la probabilidad de que el Sharpe observado NO sea fruto del azar tras 6 pruebas: por debajo de 0.95, escepticismo. Con 8 valores el breadth sigue siendo mínimo (Grinold-Kahn) — el valor está en COMBINAR señales poco correlacionadas, no en elegir la 'ganadora'

Metodología — fundamentada en la biblioteca

Parámetros clave
  • Universo: 8 acciones, ~252 barras diarias; warm-up común de 63 días antes de evaluar (las señales usan lookbacks de hasta 126+21 días sobre el histórico disponible).
  • Momentum XS: lookback 126d + skip 21d (adaptación del 12-1 canónico de Chan/Kent Daniel: 252/21, hold 25d, que consumiría todo el histórico), 2 largos, rebalanceo mensual.
  • Reversión: bandas de Bollinger sobre media de 20d, entrada z=−1, salida z=0, sin stop-loss (Chan: nunca mejoró APR ni Sharpe en mean reversion).
  • Trend: cruce de medias 20/100 — el máximo razonable con 1 año de datos; 50/200 solo como referencia.
  • Vol targeting: objetivo 12% anual (rango 10-15% en la literatura), vol realizada móvil de 20d anualizada, cap de apalancamiento 1.5× sin floor.
  • Evaluación: Sharpe anualizado √252·media/desv; máximo 2-3 parámetros libres por estrategia; mismo código para backtest y ejecución simulada.
Citas
  • Algorithmic Trading: Winning Strategies and Their Rationale — Chan (2013) — pp. 157-160 — plantilla del momentum cross-sectional de Kent Daniel (lookback 252, hold 25, tranches solapadas) de la que se adapta el Momentum XS 126-21.
  • Algorithmic Trading — Chan (2013) — pp. 84-87 — estrategia de bandas de Bollinger por z-score (entrada ±1σ, salida en la media): en su ejemplo casi duplica el Sharpe (0.5 → 0.96) frente al modelo lineal simple.
  • Advances in Financial Machine Learning — López de Prado — pp. 180-183 — el backtest NO es herramienta de investigación: especificar el modelo completo antes de backtestear y, si falla, empezar de cero — no recalibrar; deflactar el Sharpe por el número de trials.
  • Active Portfolio Management — Grinold & Kahn — pp. 154-158 — ley fundamental IR = IC·√BR: con breadth de 8 valores la única vía de mejora es combinar varias señales poco correlacionadas.
  • Quantitative Strategies for Achieving Alpha — Tortoriello (2008) — pp. 277-280 — test de relative strength por quintiles: el momentum de precio puro tiene el peor Sharpe de quintil superior (0.44) y pérdidas máximas del 33-57% — condicionarlo con un segundo filtro y mirar siempre el max drawdown.
Advertencias y trampas señaladas por la investigación
  • Los Sharpe de esta página son brutos: con 5 estrategias probadas hay sesgo de selección y deberían deflactarse por el número de trials (Bailey-López de Prado).
  • Muestra de ~1 año: cualquier ranking puede ser ruido; exigir validación CPCV con purga y embargo (~1-5 días) antes de asignar capital real.
  • Test de meseta de parámetros (Narang): variar 20/100 a 10/50 en el crossover no debe cambiar el signo del resultado; si lo cambia, la estrategia es frágil.
  • Test de aleatorización de fechas de entrada (Chan): mantener el nº de trades y permutar fechas; exigir p<0.05 antes de creer el backtest.
  • Si el benchmark pasivo encabeza el ranking (mira la tabla de métricas), ninguna señal activa generó alfa en la muestra — motivo extra para no sobre-optimizar.