Nivel 2 · 110–120 h

Estrategias sistemáticas y backtesting riguroso

De la hipótesis al backtest honesto: estadística para trading, familias de estrategias, motores vectorizados y por eventos, y la validación que separa un edge de un sobreajuste.

Fig. — Walk-forward anclado y móvil: cinco ventanas de entrenamiento y prueba (esquema)
03/08
Prerrequisito
pandas sólido, OHLCV, rentabilidades y drawdown
Perfil
Analista de datos, trader discrecional técnico

Estadística y econometría para trading

  • 2.1.1 Contrastes de hipótesis, p-valores, bootstrap; regresión múltiple con errores robustos (Newey-West).
  • 2.1.2 Estacionariedad: ADF, KPSS; diferenciación; diferenciación fraccional.
  • 2.1.3 Modelos ARMA y ARIMA; autocorrelación (ACF, PACF).
  • 2.1.4 Volatilidad: ARCH, GARCH, EGARCH, GJR (librería arch).
  • 2.1.5 Cointegración: Engle-Granger, Johansen; half-life de reversión (Ornstein-Uhlenbeck).
  • 2.1.6 Filtro de Kalman para hedge ratios dinámicos.
  • 2.1.7 Detección de regímenes: modelos de Markov ocultos (HMM), cambios estructurales.
  • 2.1.8 El problema de las pruebas múltiples: Bonferroni, FDR, «factor zoo».

Anatomía de un sistema de trading

  • 2.2.1 Hipótesis de ventaja (edge): de dónde puede venir (riesgo, comportamiento, estructura, información).
  • 2.2.2 Universo, señal, filtro, entrada, salida, sizing, gestión del riesgo.
  • 2.2.3 Frecuencias: intradía, swing, posicional; capacidad de la estrategia.
  • 2.2.4 Diario de investigación y registro de experimentos, para controlar el data snooping.

Familias de estrategias

  • 2.3.1 Seguimiento de tendencia (cruces, breakouts Donchian y Turtle, momentum de series temporales) y momentum transversal o rotación sectorial.
  • 2.3.2 Reversión a la media: RSI y Bollinger, reversión intradía, gaps.
  • 2.3.3 Pairs trading y arbitraje estadístico: selección de pares, distancia, cointegración, Kalman.
  • 2.3.4 Carry (FX, roll yield en futuros, bonos), estacionalidad y efectos calendario.
  • 2.3.5 Factores (value, quality, low volatility, size; long-short) y estrategias de eventos (resultados, dividendos, rebalanceos de índices).
  • 2.3.6 Introducción al market making: inventario, spread, selección adversa (modelo de Avellaneda-Stoikov).
  • 2.3.7 Estrategias específicas de cripto (introducción): momentum en cripto, arbitraje de funding y basis (detallado en el nivel 3).

Backtesting: motores y paradigmas

  • 2.4.1 Backtest vectorizado con pandas y NumPy desde cero, y sus límites.
  • 2.4.2 Backtest orientado a eventos desde cero: bucle, cartera, órdenes, fills.
  • 2.4.3 vectorbt: barridos masivos de parámetros, simulación de cartera.
  • 2.4.4 backtesting.py y backtrader (didácticos; estado de mantenimiento).
  • 2.4.5 NautilusTrader: arquitectura (Rust y Python), datos, estrategias, el mismo código en backtest y en real.
  • 2.4.6 LEAN/QuantConnect y Zipline-reloaded; bt para asignación de activos.
  • 2.4.7 Modelado de costes: comisiones por broker, spread, slippage, impacto, financiación, préstamo de títulos.
  • 2.4.8 Modelado de fills: órdenes limitadas, cola, fills parciales, gaps, stops.

Sesgos y validación

  • 2.5.1 Look-ahead, supervivencia, selección, data snooping, sesgo de narrativa.
  • 2.5.2 In-sample y out-of-sample; walk-forward anclado y móvil.
  • 2.5.3 Validación cruzada combinatoria purgada (CPCV) para estrategias.
  • 2.5.4 Deflated Sharpe Ratio y Probability of Backtest Overfitting (PBO).
  • 2.5.5 Monte Carlo: remuestreo de trades, bootstrap de bloques, permutaciones de señales.
  • 2.5.6 Análisis de sensibilidad de parámetros (mesetas frente a picos); robustez entre activos y periodos.
  • 2.5.7 Datos sintéticos (GBM, GARCH, bootstrapping) para pruebas de estrés.
  • 2.5.8 Checklist de «backtest honesto» antes de pasar a paper trading.

Métricas de rendimiento

  • 2.6.1 CAGR, volatilidad, Sharpe, Sortino, Calmar, Omega; drawdown máximo, duración, Ulcer Index.
  • 2.6.2 Win rate, payoff, expectativa, profit factor; alpha y beta, information ratio, turnover y capacidad.
  • 2.6.3 Informes con QuantStats o pyfolio-reloaded; tearsheets propios.

Research del sitio para practicar este nivel

Práctica

  1. Tu primer sistema en Python: cruce de medias móviles sobre SPYResearch-0018 · 7 min
  2. Zipline en Python - Parte 1: Quant Stack y Pipeline.Research-0011 · 9 min
  3. Zipline, Backtesting en Python 2 : Mi primer Data AnalisisResearch-0012 · 3 min
  4. Estacionalidad en Python II - BacktestingResearch-0025 · 8 min
  5. Estacionalidad Intradiaria IV - Busqueda de campoResearch-0027 · 7 min
  6. Alpha Factors y Alpha Trading en PythonResearch-0007 · 5 min