---
title: "Nivel 2: estrategias sistemáticas y backtesting riguroso"
description: "Nivel 2 del curso Python para Trading: econometría, familias de estrategias, motores de backtesting, sesgos, validación anti-sobreajuste y métricas."
url: "https://pythonparatrading.com/curso-python-trading/nivel-2/"
lang: "es"
image: "https://pythonparatrading.com/og/curso-python-trading/nivel-2.png"
---

# Nivel 2: 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.

- Horas: 110–120
- Prerrequisito: pandas sólido, OHLCV, rentabilidades y drawdown
- Perfil: Analista de datos, trader discrecional técnico
- Curso: [Curso Python para Trading](https://pythonparatrading.com/curso-python-trading/)

## 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.

## Proyecto del nivel

Dos estrategias no correlacionadas (por ejemplo, tendencia en futuros o ETFs y reversión en acciones) con backtest vectorizado y por eventos, costes realistas, walk-forward, Deflated Sharpe y un informe que justifique, o descarte, cada estrategia.

## Práctica

Research del sitio para practicar este nivel

1. [Tu primer sistema en Python: cruce de medias móviles sobre SPY](https://pythonparatrading.com/primer-sistema-cruce-de-medias/)
2. [Zipline en Python - Parte 1: Quant Stack y Pipeline.](https://pythonparatrading.com/zipline-backtesting-con-python-quant-stack/)
3. [Zipline, Backtesting en Python 2 : Mi primer Data Analisis](https://pythonparatrading.com/backtesting-python-zipline-bundle/)
4. [Estacionalidad en Python II - Backtesting](https://pythonparatrading.com/estacionalidad-intradia-backtesting/)
5. [Estacionalidad Intradiaria IV - Busqueda de campo](https://pythonparatrading.com/estacionalidad-intradia-optimizacion/)
6. [Alpha Factors y Alpha Trading en Python](https://pythonparatrading.com/alpha-factors-y-alpha-trading-en-python/)

Nivel anterior: [Nivel 1: Datos financieros, mercados y análisis](https://pythonparatrading.com/curso-python-trading/nivel-1/)

Nivel siguiente: [Nivel 3: Derivados: futuros, spreads, forex y opciones](https://pythonparatrading.com/curso-python-trading/nivel-3/)
