Define la SMA y qué se está probando exactamente
El backtesting de la Media Móvil Simple (SMA) prueba una regla que transforma los datos de precios en un promedio calculado y luego evalúa cómo se comporta una regla de decisión elegida cuando ese promedio está disponible. Incluso si no estás convirtiendo la SMA en una “señal de trading”, aún necesitas especificar la mecánica que estás evaluando: la fórmula de la SMA, el marco temporal y la frecuencia de muestreo (por ejemplo, cierres diarios versus barras intradía).
Una definición responsable comienza con supuestos escritos. Ejemplos de supuestos que debes hacer explícitos son: qué serie de precios utilizas (cierre, precio típico u otra definición), qué significa “barra” en tu conjunto de datos y qué representa la longitud de la ventana de la SMA en esa unidad de tiempo. Si más tarde cambias cualquiera de estas opciones, ya no estás probando la misma idea.
Utiliza reglas de datos que coincidan con cómo se habrían tomado las decisiones
Los backtesting se vuelven poco fiables cuando el conjunto de datos incluye información que no se habría conocido en el momento de la decisión. Un modo de fallo común es el sesgo de mirar hacia adelante: utilizar precios o valores calculados que implícitamente incluyen datos futuros. Para la SMA, normalmente quieres que el valor de la SMA en el momento t se calcule solo a partir de los datos disponibles hasta t (o hasta t-1 si se asume que tu decisión ocurre en la apertura de la barra).
También controla la consistencia de los datos. Si vuelves a muestrear, interpolas, ajustas por acciones corporativas (cuando corresponda) o combinas múltiples fuentes, los resultados del backtesting pueden cambiar. La práctica responsable es definir un único pipeline de preprocesamiento y mantenerlo fijo en todos los experimentos.
Incluye costos, deslizamiento y supuestos de ejecución
Incluso en backtesting educativos, debes modelar los costos y los supuestos de ejecución, porque a menudo dominan los resultados. Los factores variables incluyen el spread/comisiones, los programas de comisiones, el deslizamiento y la diferencia entre los precios de barra observados y el precio que realmente podrías obtener.
Declara supuestos como: cómo traduces el momento basado en la SMA a un tiempo de ejecución (fin de barra vs. siguiente barra), si asumes que las operaciones ocurren a precios tipo bid/ask o a precios medios, y cómo tratas las ejecuciones parciales. Si no incluyes costos, la clasificación entre variantes puede ser engañosa porque pequeños cambios en el momento pueden parecer rentables solo en un mundo sin fricciones.
Controla el sobreajuste utilizando controles de sesgo y pruebas fuera de muestra
El backtesting responsable no es solo “ejecutar una vez y mirar los rendimientos”. Necesitas controles de sesgo que separen la exploración de la evaluación.
Comienza con una división por bloques o en orden temporal: utiliza un período inicial para elegir parámetros (por ejemplo, la longitud de la ventana de la SMA u otros umbrales de regla que puedas combinar con la SMA), luego mantén un período posterior completamente intacto para la evaluación. Si pruebas muchos valores de parámetros y seleccionas el mejor basándote en los mismos datos que luego evalúas, el backtesting puede exagerar el rendimiento.
Luego añade comprobaciones fuera de muestra que reflejen la incertidumbre real. Por ejemplo:
- Repite el proceso con múltiples ventanas de prueba no superpuestas (avanzando).
- Prueba pruebas de robustez donde perturbes ligeramente el conjunto de datos (por ejemplo, pequeños cambios en la frecuencia de muestreo) y observa si las conclusiones se derrumban.
- Utiliza una evaluación conceptualmente consciente del régimen (por ejemplo, compara el comportamiento en condiciones de tendencia versus condiciones de rango), pero mantén siempre las mismas reglas de datos y la misma lógica de ventana de evaluación.
Prueba limitaciones y modos de fallo, no solo los resultados principales
Las relaciones históricas no establecen resultados futuros. Para backtesting basados en SMA, las limitaciones materiales y los modos de fallo a menudo incluyen:
- Cambio de régimen: la SMA funciona de manera diferente cuando los mercados tienen tendencia versus cuando revierten a la media.
- Sensibilidad a los parámetros: las conclusiones pueden depender de una longitud de ventana que casualmente se ajusta a la muestra elegida.
- Calidad de los datos: barras faltantes, diferentes historiales de símbolos o definiciones de precios inconsistentes pueden cambiar la SMA calculada.
- Desajuste de ejecución: los backtesting que asumen ejecuciones ideales pueden exagerar lo que las reglas de momento lograrían realmente.
Para hacer estas limitaciones concretas, define cómo se ve el “fallo” en tus métricas de evaluación. En lugar de depender de un solo número, observa cómo cambian los resultados cuando aumentan los costos, cuando empeoran los supuestos de deslizamiento y cuando te mueves de una ventana de prueba a otra.
Verificación y siguiente pregunta: ¿qué deberías validar de forma independiente?
Para verificar tu backtesting de manera responsable, trátalo como un experimento reproducible.
Primero, recalcula de forma independiente la serie de la SMA y confirma que los valores de la SMA coinciden con tu implementación para una pequeña muestra donde puedas verificar manualmente la ventana móvil.