Saltar a contenido

Fichas de las 20 estrategias populares

Esta sección dedica una ficha completa a cada receta P01–P20. Cada ficha sigue el mismo guion: identidad, idea e intuición, reglas exactas con pseudocódigo causal, indicadores, ejemplo barra a barra con el fixture real de la especificación, máquina de estados, cómo lanzarla por la API de backtesting, qué mirar en los resultados, errores típicos, variantes, resumen y ejercicios.

Si solo quieres la vista de pájaro, empieza por la página resumen Populares P01–P20; si vas a lanzar, modificar o auditar una estrategia concreta, ve a su ficha.

Qué vas a aprender

  • A situar cada receta en su familia (tendencia, reversión, volatilidad-ruptura, sesión-estructura) y a saber qué comportamiento esperar de ella.
  • Qué timeframe y qué activos tienen sentido para cada una, y cuáles están vetados por construcción (P12 y P13 en diario).
  • Qué dice la matriz de paridad de cada receta y cómo leer un PARITY_FAIL "nativo" sin alarmarse.
  • A elegir una estrategia de partida según el mercado que tienes delante.

Las 20 de un vistazo

ID Estrategia Familia Idea en cinco palabras TF sugerido Paridad en la matriz
P01 Cruce de medias EMA Tendencia Media rápida sobre lenta: largo 1h–1d PASS · nativa PARITY_FAIL (semilla EMA)
P02 RSI: reversión desde extremos Reversión Comprar sobreventa, salir en 50 5min–1d PASS · nativa PARITY_FAIL (RSI 0..1)
P03 MACD: cruce de señal Tendencia Histograma MACD positivo: estar largo 1h–1d PASS · nativa UNSUPPORTED
P04 Bollinger: reversión por reentrada Reversión Volver dentro de banda: revertir 5min–1d PASS · nativa UNSUPPORTED
P05 Bollinger Bandwidth: ruptura tras compresión Volatilidad-ruptura Bandas estrechas, luego romper fuera 1h–1d PASS · nativa UNSUPPORTED
P06 Supertrend Tendencia Banda ATR que cambia dirección 1h–1d PASS · nativa UNSUPPORTED
P07 UT Bot: trailing ATR Tendencia Stop ATR arrastrado, cruce invierte 1h–1d PASS · nativa UNSUPPORTED
P08 Squeeze Momentum (TTM/LazyBear) Volatilidad-ruptura Bollinger dentro de Keltner, liberación 1h–1d PASS · nativa UNSUPPORTED
P09 WaveTrend Reversión Oscilador extremo cruza su señal 1h–1d PASS · nativa UNSUPPORTED
P10 Ichimoku: Tenkan/Kijun y nube causal Tendencia Cruce TK fuera de nube 1d PASS · nativa UNSUPPORTED
P11 Donchian / Turtle simplificado Volatilidad-ruptura Romper máximo de N barras 1d PASS · nativa PARITY_FAIL (ventana inclusiva)
P12 Opening Range Breakout Sesión-estructura Romper el rango de apertura 1min–5min PASS solo intradía (4/12) · 1d y 1h UNSUPPORTED
P13 VWAP de sesión: reversión Sesión-estructura Alejado del VWAP: volver 1min–5min PASS solo intradía (4/12) · 1d y 1h UNSUPPORTED
P14 Parabolic SAR Tendencia Punto SAR acelera; cruzarlo invierte 1h–1d PASS · nativa UNSUPPORTED
P15 DMI/ADX: tendencia filtrada Tendencia Solo operar con ADX alto 1h–1d PASS · nativa UNSUPPORTED
P16 Keltner: ruptura tendencial Volatilidad-ruptura Cierre fuera del canal: seguir 1h–1d PASS · nativa PARITY_FAIL (semilla EMA)
P17 Stochastic RSI Reversión Estocástico del RSI cruza extremos 5min–1h PASS · nativa UNSUPPORTED
P18 Hull Suite: dirección de HMA Tendencia Pendiente de la Hull decide 1h–1d PASS · nativa PARITY_FAIL (capa fills)
P19 Chandelier Exit Tendencia Stop desde el máximo reciente 1h–1d PASS · nativa UNSUPPORTED
P20 SMC / BOS con pivotes confirmados Sesión-estructura Romper último swing confirmado 15min–1d PASS · nativa UNSUPPORTED

Cómo leer las columnas:

  • TF sugerido es una recomendación didáctica de este manual (dónde la receta suele tener sentido económico y un número razonable de operaciones), no una restricción del motor. Los timeframes admitidos están en cada ficha: los siete (1min1d) para todas salvo P12 y P13, que solo admiten intradía con range_minutes/min_minutes múltiplo de la barra (docs/DATOS_POR_ESTRATEGIA.md).
  • Paridad en la matriz resume runs/parity/summary.json (960 casos: KO 1d/1h y NVDA 1d/1h/5min/1min, costes zero y 5bps, cuatro comparaciones contra el ledger de VectorTA). "PASS" significa 12/12 en NT_FEATURES, NT_INTENT_REPLAY y NT_ONLINE(vectorta). "Nativa" es la comparación con los indicadores propios de Nautilus (NT_ONLINE(native)):
    • UNSUPPORTED: Nautilus 1.231.0 no tiene ese indicador (no hay nada que comparar).
    • PARITY_FAIL: el indicador nativo existe pero es otra variante declarada (semilla, escala o ventana distintas). No es un bug; invalida solo un speedup presentado como caso idéntico. En P18 la divergencia aparece en la capa de fills y se aísla con NT_INTENT_REPLAY.
  • Para P12 y P13, las 8 combinaciones UNSUPPORTED son PolicyParamError esperados: una barra diaria no tiene rango de apertura (P12) ni varianza intradía (P13), y en 1h los 30 minutos por defecto no son múltiplo de la barra.

Mapa por familias

flowchart LR
    ROOT(["Populares P01-P20"])
    ROOT --> T["Tendencia"]
    ROOT --> R["Reversión"]
    ROOT --> V["Volatilidad-ruptura"]
    ROOT --> S["Sesión-estructura"]

    T --> T1["Medias: P01 EMA · P03 MACD · P18 Hull"]
    T --> T2["Stops ATR / SAR: P06 Supertrend · P07 UT Bot · P14 PSAR · P19 Chandelier"]
    T --> T3["Filtros de fuerza: P10 Ichimoku · P15 DMI/ADX"]

    R --> R1["Osciladores: P02 RSI · P09 WaveTrend · P17 StochRSI"]
    R --> R2["Bandas: P04 Bollinger reentrada"]

    V --> V1["Canales: P11 Donchian · P16 Keltner"]
    V --> V2["Compresión: P05 Bandwidth · P08 Squeeze"]

    S --> S1["Intradía: P12 ORB · P13 VWAP"]
    S --> S2["Estructura de precio: P20 BOS"]

Dos rasgos atraviesan las familias y conviene tenerlos presentes al leer las fichas:

Rasgo Recetas Qué implica
Dirección continua (siempre ±1 tras el warmup, invierte sin pasar por plano) P01, P03, P06, P07, P14, P18, P19, P20 Muchas reversiones de 2 unidades: sensibles a costes; nunca "esperan fuera"
Desde plano (entrada por evento, salida a 0, sin invertir en la misma decisión) P02, P04, P05, P08, P09, P10, P11, P12, P13, P16, P17 Pasan tiempo sin posición; la salida tiene prioridad sobre la entrada
Histéresis (dos umbrales, zona intermedia que conserva) P15 Menos cambios de estado que una regla de un umbral

¿Qué estrategia para qué mercado?

No existe una receta buena para todo. La pregunta útil es qué régimen esperas y qué coste pagas por operación.

Si el mercado… Prueba primero Por qué Evita
Tiene tendencias largas y limpias (índices en fase alcista, NVDA diario) P01, P06, P19, P11 Seguir la dirección y aguantar; stops anchos Osciladores de reversión (P02, P17): venden fuerza
Tiende pero con ruido (acciones individuales 1h) P15, P18, P03 Filtran fuerza (ADX) o reducen retardo (Hull) P01 con medias cortas: whipsaw
Oscila en rango (valores defensivos como KO, FX sin noticias) P02, P04, P09, P17 Venden extremos y cobran la vuelta a la media Rupturas (P11, P16): falsas rupturas continuas
Viene de una fase de calma y esperas expansión P05, P08 Detectan compresión de volatilidad antes de la ruptura Recetas que exigen tendencia ya formada
Es intradía con apertura informativa (NVDA 1min/5min) P12, P13 Explotan la estructura de la sesión regular Todo lo diario; P12/P13 en 1h con defaults
Tiene estructura de máximos y mínimos clara P20, P10 Rupturas de swing confirmados, nube como zona Timeframes muy finos con tick grueso (empates de pivote)

Tres reglas prácticas antes de elegir:

  1. Cuenta las operaciones antes que la rentabilidad. Una receta de dirección continua en 1min puede generar cientos de reversiones al año; con hypothetical_5bps el coste domina.
  2. Compara candidatos desde un inicio común. El first_decision_index va de 1 (P14) a 271 (P05) con defaults; con la rejilla peor, hasta 291.
  3. Mira la paridad antes que el Sharpe. Si parity.verdict no es PASS entre los carriles comparables, la cifra no es un resultado todavía.

De dónde salen los ejemplos numéricos

Cada ficha reproduce el fixture a mano (§6) de su especificación en docs/estrategias/Pxx.md: parámetros pequeños para poder calcular con lápiz, cash_inicial = 1.000,00, tick 0,01, sin costes. Los tests del proyecto exigen que el código reproduzca esas tablas exactamente. Cuando una ficha añade una columna de equity con costes, lo declara como cálculo propio del manual con la regla del ledger (fee_rate = 0,0005, comisión redondeada al céntimo half-even en la barra del fill).

Resumen

  • 20 recetas en cuatro familias; ocho son de dirección continua y once operan desde plano.
  • Todas pasan la paridad en los carriles comparables; las diferencias "nativas" son variantes declaradas o indicadores que Nautilus no tiene.
  • P12 y P13 son las únicas restringidas a intradía; el resto admite los siete timeframes.
  • La elección depende del régimen esperado y del coste por operación, no de un ranking absoluto.

Para practicar

  1. Elige una receta de cada familia y lanza su backtest con defaults sobre KO 1d y NVDA 1d. ¿Qué familia se comporta mejor en cada activo?
  2. Para P01 y P02, cuenta los fills del ejemplo real sobre NVDA 5min y calcula qué parte de la equity se va en comisiones.
  3. Con la tabla de rasgos, predice cuál de P06 y P16 tendrá más reversiones de 2 unidades y compruébalo con n_fills y |delta|.