Respuesta directa: qué es un ejemplo práctico de backtesting
Un ejemplo práctico de backtesting muestra, paso a paso, cómo aplicarías una regla claramente definida a datos históricos para estimar qué habría sucedido. “Backtesting” aquí significa que simulas decisiones utilizando observaciones pasadas, sin asumir que los resultados futuros coincidirán con la historia. “Práctica” significa que registras cada supuesto para que otra persona pueda reproducir los mismos cálculos y verificar de dónde proviene el resultado.
Mecanismo y definición: qué haces en un backtest
La práctica del backtesting normalmente tiene cinco entradas:
- Una regla de decisión: exactamente cuándo entrarías/saldrías (o cómo calcularías una predicción/puntuación).
- Un conjunto de datos: series temporales históricas con marcas de tiempo consistentes.
- Un modelo de trading: cómo se ejecutan las órdenes (por ejemplo, usando la apertura de la siguiente vela) y cómo manejas los spreads.
- Un modelo de costos: comisiones, tarifas y supuestos de spread.
- Una métrica: qué mides (por ejemplo, retorno acumulado, drawdown, tasa de aciertos o retorno promedio por operación).
Mecánica estable: el flujo de trabajo (definir regla → elegir ventana de datos → simular ejecuciones → calcular métricas → documentar) permanece igual. Condiciones variables: el régimen del mercado, la calidad de los datos, los detalles de ejecución y los costos pueden cambiar, y pueden dominar los resultados.
Ejemplo práctico (escenario numérico) con supuestos explícitos
Supongamos que el objetivo es evaluar una regla simple con fines educativos. Esto no es una recomendación, y utiliza simplificaciones de tipo sintético para mantener los supuestos explícitos.
Regla (el “si-entonces”)
Para cada día, mantienes una posición durante exactamente 1 día. La posición es “larga” (tomar exposición) o “plana” (sin exposición). La regla de decisión es:
- Si el cierre del día anterior es mayor que el cierre de hace dos días, toma exposición larga para el día siguiente.
- De lo contrario, mantente plano para el día siguiente.
Conjunto de datos (observaciones históricas)
Usa seis observaciones diarias consecutivas (Día 0 a Día 5). Supón que los cierres a continuación son los precios históricos “conocidos” para el backtesting:
- Cierre del Día 0: 100
- Cierre del Día 1: 102
- Cierre del Día 2: 101
- Cierre del Día 3: 103
- Cierre del Día 4: 104
- Cierre del Día 5: 102
Calcularemos las decisiones para los Días 2–5 porque la regla necesita el día t-2.
Supuestos de ejecución y costos
Estos supuestos determinan el retorno simulado.
- Precio de entrada: la apertura del día siguiente es igual al cierre de ese día (simplificación). Esto elimina la incertidumbre intradía.
- Precio de salida: el cierre del día siguiente es igual al cierre del día siguiente (ya que el período de tenencia es de 1 día).
- Spread y comisión: el costo total de trading es un 0.1% fijo del nocional cada día que estés largo. Si estás plano, el costo es 0%.
- Sin restricciones de apalancamiento, sin intereses de margen y sin deslizamiento más allá del modelo de costos.
Definición de métrica
Calcula un “retorno diario neto” sobre el nocional:
- Si estás largo en el día t: retorno neto = (Cierre(t) / Cierre(t-1)) − 1 − 0.001
- Si estás plano: retorno neto = 0
Simulación paso a paso
Decisiones:
- Para la decisión del Día 2: compara el cierre del Día 1 (102) con el cierre del Día 0 (100). 102 > 100 → ve largo en el Día 2.
- Para la decisión del Día 3: compara el cierre del Día 2 (101) con el cierre del Día 1 (102). 101 > 102 es falso → plano en el Día 3.
- Para la decisión del Día 4: compara el cierre del Día 3 (103) con el cierre del Día 2 (101). 103 > 101 → largo en el Día 4.
- Para la decisión del Día 5: compara el cierre del Día 4 (104) con el cierre del Día 3 (103). 104 > 103 → largo en el Día 5.
Calcula los retornos netos:
- Día 2 (largo): Cierre(2)/Cierre(1) − 1 − 0.001 = 101/102 − 1 − 0.001 ≈ −0.0098039 − 0.001 = −0.0108039 (≈ −1.08%)
- Día 3 (plano): neto = 0
- Día 4 (largo): 104/101 − 1 − 0.001 = 0.0297029 − 0.001 ≈ 0.0287029 (≈ +2.87%)
- Día 5 (largo): 102/104 − 1 − 0.001 = −0.0192308 − 0.001 ≈ −0.0202308 (≈ −2.02%)
Suma simple acumulada (ya que este ejemplo usa números pequeños y es ilustrativo): retorno neto total ≈ −1.08% + 0% + 2.87% − 2.02% ≈ −0.23% durante el período evaluado.
Lo que enseña el ejemplo práctico: el resultado se produce mecánicamente a partir de tu regla, tus datos y tus supuestos explícitos de ejecución/costos.
Limitaciones y modos de fallo (qué puede salir mal)
- Sobreajuste: si la regla se ajusta demasiado a los datos pasados (muchos parámetros, muchas pruebas), puede verse bien históricamente pero fallar en otros contextos. 2) Realismo de ejecución: asumir ejecuciones perfectas o precios simplificados puede exagerar los resultados.