Dentro de muestra, fuera de muestra y walk-forward

Divide el historial antes de empezar. El periodo dentro de muestra (in-sample) es donde diseñas y ajustas las reglas; el periodo fuera de muestra (out-of-sample) se reserva y se usa una sola vez, con las reglas congeladas, para ver si el resultado aguanta en datos que el ajuste nunca vio. Una división habitual es de alrededor de 70% dentro de muestra y 30% fuera, con el periodo fuera de muestra al final en el tiempo. Si miras el resultado fuera de muestra, cambias una regla y vuelves a probar, ese periodo también pasó a ser dentro de muestra.

El análisis walk-forward repite la división en una ventana móvil: ajusta con, digamos, cuatro años, prueba los ajustes elegidos sin cambios en el año siguiente, avanza un año y repite. Unir los años de prueba da un largo historial fuera de muestra producido como de verdad operarías: reajustando de vez en cuando, siempre con el pasado. Algunos profesionales comparan el resultado anualizado fuera de muestra con el de dentro de muestra, un cociente llamado eficiencia walk-forward, y desconfían de un sistema que conserva bastante menos de la mitad de su rendimiento dentro de muestra; tómalo como una guía aproximada, no como una ley.

Gira tu teléfono para leer la imagen. Toca para cerrar.

Seis filas de ventanas móviles sobre los años 2016 a 2025: en cada fila, cuatro años rayados en gris (dentro de muestra: ajusta los parámetros) seguidos de un año verde (fuera de muestra: úsalos sin cambios), cada fila desplazada un año a la derecha, de modo que los años verdes de prueba cubren de 2020 a 2025. Debajo, una línea verde une los años de prueba, con la etiqueta resultados de prueba encadenados.

Demasiados parámetros, data snooping y estabilidad de los ajustes

Cada parámetro, filtro y excepción es un grado de libertad que permite a las reglas doblarse alrededor del pasado. Prueba 20 valores de dos ajustes y tendrás 400 variantes; añade tres filtros de encendido y apagado y tendrás 3,200. Aunque ninguna tenga ventaja, la mejor de 3,200 se verá impresionante solo por azar. Esto es el data snooping: cuantas más versiones pruebas con los mismos datos, más refleja la suerte la ganadora. Los estadísticos han creado correcciones formales, como el Reality Check de White (2000) y la probabilidad de sobreajuste del backtest descrita por Bailey y sus colegas, pero las reglas prácticas son sencillas: pocos parámetros, contar cada versión probada y juzgar a la ganadora frente a la mejor de otros tantos intentos al azar.

Luego mira a los vecinos. Un ajuste robusto está en una meseta: los valores cercanos dan resultados parecidos y decentes. Uno sobreajustado es un pico: una celda brilla mientras sus vecinas son mediocres o pierden, como a la derecha del dibujo de abajo. Elige ajustes del centro de una meseta, aunque un pico haya puntuado más, y toma un mejor valor en el borde del rango probado como señal de que la búsqueda no terminó.

Gira tu teléfono para leer la imagen. Toca para cerrar.

Dos mapas de calor de 6 × 6 del profit factor según la longitud de la media móvil rápida (10 a 35, en horizontal) y de la lenta (175 arriba a 50 abajo). A la izquierda, meseta: los vecinos coinciden, con una marca de verificación: un bloque central de 1.3 a 1.5 dentro de un marco verde discontinuo, que se desvanece a 0.9–1.1 en los bordes. A la derecha, pico: una celda con suerte, con una cruz: una sola celda verde oscuro de 2.1 enmarcada en rojo, rodeada de celdas entre 0.8 y 1.1.

Sesgo de anticipación: ejemplos concretos

El sesgo de anticipación (look-ahead bias) significa que la prueba usa información que no estaba disponible cuando se tomó la decisión. Es fácil programarlo por accidente, y puede hacer que casi cualquier idea parezca brillante. El dibujo de abajo muestra dos formas comunes. A la izquierda, una regla decide en la apertura de las 9:30 comprar si el día cierra por encima de un nivel, usando un cierre que no existirá hasta las 16:00. A la derecha, cada operación se etiqueta según si el mercado estaba por encima de su media de 200 días, pero la etiqueta se calcula el día de la salida; las operaciones que funcionaron tienden a terminar en mercados fuertes, así que el filtro parece predictivo cuando solo describe el resultado. Otras formas que hay que buscar:

  • Decisiones en la misma vela: usar el cierre, el máximo o el mínimo de una vela para activar una entrada en su apertura. Decide con el cierre anterior y entra en la siguiente apertura.
  • Información del momento de salida: filtros, etiquetas o categorías calculados en la salida o a lo largo de toda la operación. Calcula cada filtro con datos hasta la vela de entrada.
  • Valores de un marco temporal mayor antes de su cierre: leer el valor diario o semanal de hoy en una vela intradía mientras todavía se forma; consulta el análisis de múltiples marcos temporales y el repainting.
  • Datos revisados: fundamentales, cifras económicas o composición de índices tal como se conocen hoy y no en la fecha de la operación.
  • Estadísticas de toda la muestra: normalizar con el promedio o la volatilidad de todo el historial, que incluye el futuro.

Gira tu teléfono para leer la imagen. Toca para cerrar.

Dos paneles. A la izquierda, titulado decidido en la apertura con el cierre de ese día: una vela diaria verde con líneas discontinuas en el cierre 16:00: aún no se conoce y en la apertura 9:30: aquí decide la regla, un triángulo de compra en la apertura y una flecha roja que baja del cierre a la apertura con una cruz roja; debajo, con una marca de verificación: arreglo: decide con el cierre de ayer y entra en la apertura de hoy. A la derecha, titulado etiquetado con algo que solo se supo a la salida: una línea de precio que sube de la entrada a la salida cruzando una media de 200 días discontinua, con una cruz roja en por encima el día de salida y una palomita en por debajo al entrar; debajo: arreglo: filtra solo con lo que se sabía al entrar.

Sesgo de supervivencia, costos y cambios de régimen

Tres razones más por las que un backtest favorece a una estrategia:

  • Sesgo de supervivencia: probar una estrategia de acciones con los miembros actuales de un índice o con las acciones que cotizan hoy deja fuera a las empresas que quebraron, fueron compradas o salieron del índice. Los perdedores desaparecen de los datos, y los resultados se ven mejores que todo lo que se podía operar en su momento. Usa la composición histórica del índice y datos que incluyan las acciones deslistadas.
  • Costos y deslizamiento: comisión, spread y deslizamiento se pagan en cada operación y pesan más en R con stops cortos. Una estrategia de muchas operaciones pequeñas puede pasar de ganar a perder en cuanto se introducen costos realistas; la expectativa en trading muestra la cuenta. Las órdenes límite que la prueba da siempre por ejecutadas son un costo oculto del mismo tipo.
  • Cambios de régimen: la volatilidad, la fuerza de las tendencias, las tasas de interés y la estructura del mercado cambian. Un sistema ajustado en años tranquilos y con tendencia puede fallar en un periodo errático o muy volátil. Revisa los resultados año por año y en mercados alcistas, bajistas y laterales, y desconfía si casi toda la ganancia viene de un solo tramo.

Monte Carlo: baraja el orden de las operaciones

Un backtest es un solo camino a través de la historia. Barajar el orden de sus operaciones muchas veces muestra cuánta suerte tuvo ese camino. Con un riesgo fijo en R, o una fracción fija del capital, el total es el mismo en cualquier orden, porque las sumas y los productos no dependen del orden; lo que cambia es el camino, y con él el drawdown máximo y la racha de pérdidas más larga.

En el ejemplo hipotético de abajo, 70 operaciones de +2R y −1R suman +14R en cualquier orden. En el orden del propio backtest, el drawdown máximo fue de −6R, pero en 1,000 barajadas la mediana fue de −8R, el peor 5% de las series cayó 13R o más y el peor caso llegó a −19R. Planifica con las cifras más profundas, no con la del backtest: si no podrías aguantar un drawdown de 13R, la estrategia es demasiado grande para ti con ese tamaño. Una prueba relacionada remuestrea las operaciones con reemplazo, lo que también hace variar el total y da un rango aproximado de él.

Gira tu teléfono para leer la imagen. Toca para cerrar.

A la izquierda, las mismas 70 operaciones hipotéticas en distinto orden: una línea negra para el orden del backtest y cuatro caminos grises barajados, que terminan todos en el mismo punto verde, con la etiqueta +14R en cualquier orden. A la derecha, un histograma del drawdown máximo en 1,000 barajadas, de −4R a −19R, con marcas para backtest −6R, mediana −8R y, en rojo, peor 5% −13R.

Entradas al azar: la referencia que tu estrategia debe superar

El cero es la referencia equivocada. En un mercado que subió durante el periodo de prueba, casi cualquier estrategia compradora gana dinero; en uno errático, los costos por sí solos hunden el trading al azar bajo cero. La referencia justa conserva todo de tu estrategia salvo la señal de entrada: mismo mercado y periodo, mismo lado, misma distancia de stop, misma regla de salida, mismos costos y un número parecido de operaciones, con entradas en momentos al azar. Repítelo 1,000 veces y mira dónde cae tu estrategia.

Si tu estrategia queda dentro de la banda de resultados al azar, sus entradas no aportan nada que la suerte y la deriva del mercado no puedan explicar. Si queda claramente por encima, la señal quizá contiene información, en esta muestra. Si la estrategia se eligió como la mejor de muchas variantes, compárala con la mejor de otras tantas series al azar, no con una típica, o la prueba estará amañada a tu favor.

Gira tu teléfono para leer la imagen. Toca para cerrar.

Curvas de capital de 0 a 200 operaciones, bajo el título 1,000 series de entradas al azar: mismo lado, mismo stop, misma regla de salida. Una banda gris rayada con la etiqueta 90% de las series al azar se ensancha con el número de operaciones alrededor de una serie al azar mediana discontinua que deriva un poco por encima de la línea cero. Una línea verde de la estrategia sube por encima de la banda. Una nota dice en un mercado alcista las compras al azar suben: supera la banda, no el cero.

Limitaciones del Strategy Tester de TradingView

El Strategy Tester de TradingView simula una estrategia de Pine Script con un emulador de bróker, y sus valores predeterminados pueden hacer que los resultados se vean mejores o peores que el trading real. Revisa los puntos de abajo antes de confiar en un informe, y consulta cómo hacer backtesting de una estrategia para el flujo básico. Las funciones y los planes cambian, así que confirma los detalles en la documentación actual de TradingView:

  • Momento de ejecución: por defecto, una orden creada al cierre de una vela se ejecuta en la apertura de la siguiente. El ajuste process_orders_on_close la ejecuta en ese cierre, lo que solo es realista si de verdad podías operar al cierre.
  • Camino dentro de la vela: en las velas históricas el emulador solo ve la apertura, el máximo, el mínimo y el cierre, así que supone un camino dentro de cada vela. Cuando una vela toca el stop y el objetivo a la vez, el orden supuesto decide el resultado. Bar Magnifier, disponible en el plan Premium y superiores al momento de escribir esto, usa datos de un marco temporal menor para resolverlo, con un límite de velas internas.
  • Repainting y anticipación: request.security() con la anticipación activada, valores de un marco mayor leídos antes del cierre de su vela y el recálculo en cada tick pueden hacer que el historial difiera de lo que habría pasado en real; la guía de repainting muestra cómo comprobarlo.
  • Costos: la comisión y el deslizamiento valen cero a menos que los introduzcas en la pestaña Properties.
  • Ejecución de límites: por defecto, una orden límite puede ejecutarse en cuanto el precio la toca; el ajuste Verify price for limit orders exige que el precio la atraviese por cierto número de ticks, lo que es más realista en niveles concurridos.
  • Tipo de gráfico: Heikin Ashi, Renko y otros gráficos no estándar usan precios sintéticos, así que las ejecuciones en ellos pueden ser irreales; prueba con velas estándar.
  • Historial: la prueba solo cubre las velas cargadas en el gráfico, lo que puede dar muy pocas operaciones para una estimación fiable. Recorre las operaciones a mano con Bar Replay para confirmar que siguen las reglas.

Un ejemplo resuelto: el mejor de 400 ajustes

Ejemplo hipotético: una regla de seguimiento de tendencia con 10 años de datos diarios de un fondo indexado de acciones, de 2016 a 2025. Compra cuando una media móvil rápida cruza por encima de una lenta y sale con el cruce contrario, con un stop a 2 ATR; consulta la guía del cruce de medias móviles. 2016–2022 es dentro de muestra; 2023–2025 se reserva.

  1. Búsqueda: 20 longitudes rápidas × 20 longitudes lentas = 400 variantes, probadas dentro de muestra con comisión y deslizamiento.
  2. Ganadora: rápida 13, lenta 47, con un profit factor de 2.1 en 64 operaciones y un drawdown máximo del 7%.
  3. Vecinos: los ajustes a un paso de distancia (12–14 en la rápida, 45–50 en la lenta) obtienen entre 1.0 y 1.2: un pico, no una meseta.
  4. Meseta: una zona amplia alrededor de 20–30 en la rápida y 100–150 en la lenta obtiene de 1.3 a 1.5 en todas partes; su centro es rápida 25, lenta 125.
  5. Monte Carlo: barajar las 64 operaciones de la ganadora da un drawdown máximo mediano del 10% y un peor 5% del 16% o más, mucho más profundo que el 7% del informe.
  6. Referencia al azar: frente a series de entradas al azar sueltas, la ganadora parece especial y supera al 97% de ellas, pero la mejor de 400 series al azar llegó a un profit factor de 1.9, casi igual.
  7. Fuera de muestra, una sola vez: rápida 13 / lenta 47 logra un profit factor de 0.9 en 21 operaciones; rápida 25 / lenta 125 logra 1.2 en 9 operaciones, demasiado pocas para probar nada.
  8. Decisión: descartar el pico, conservar el ajuste de la meseta como hipótesis, probarlo hacia adelante en papel o con un tamaño muy pequeño y revisarlo tras suficientes operaciones nuevas.

Lista de control antes de confiar en un backtest

Repasa esta lista antes de que cualquier dinero dependa de un backtest. Cada “no” es una razón para seguir probando, no para operar:

Las mismas preguntas valen para cualquier estadística publicada, incluida la tabla de resultados simulados de la estrategia UpTickFlow: describe el pasado y no es una promesa.

  1. ¿Se escribieron las reglas antes de la prueba, y contaste cada variante que probaste?
  2. ¿Hay un periodo fuera de muestra, o un historial walk-forward, que el ajuste nunca tocó?
  3. ¿El ajuste elegido está en una meseta, con resultados parecidos para los valores cercanos?
  4. ¿Cada filtro usa solo datos disponibles en la entrada, sin información de la misma vela ni del momento de salida?
  5. ¿Los datos incluyen las acciones deslistadas y la composición histórica de los índices?
  6. ¿Son realistas la comisión, el spread y el deslizamiento, y aguantan los resultados si los duplicas?
  7. ¿Hay suficientes operaciones, y el rango de dos errores estándar alrededor de la expectativa supera el cero?
  8. ¿La estrategia supera a las entradas al azar con el mismo lado, stop y salida, y a la mejor de tantas series al azar como variantes probaste?
  9. ¿Los drawdowns de Monte Carlo encajan con tu tolerancia al riesgo con el tamaño planeado?
  10. ¿Los resultados se sostienen a lo largo de los años y de los regímenes de mercado, y los confirmó una prueba hacia adelante con datos nuevos?