EDICIÓN · 1 de octubre de 2026

El futuro no puede entrar en un backtest

Publicado el 6 de octubre de 2026

Velas financieras separadas por una frontera temporal, con observaciones posteriores atenuadas.

Ilustración conceptual; no representa datos ni resultados reales.

Un backtest es una afirmación sobre lo que se habría podido decidir en el pasado. La palabra decisiva es "podido". Si el motor de simulación utiliza un dato que todavía no existía en el momento de decidir, el resultado deja de describir una estrategia y pasa a describir una coincidencia. Ese error tiene nombre: sesgo de anticipación, o look-ahead bias, y consiste en usar información del futuro para informar decisiones del presente [1].

El dato existe cuando se publica, no cuando corresponde al periodo

El caso más claro es el de los estados financieros. Un informe describe un periodo que termina en una fecha concreta, pero no es público hasta semanas después. Si el sistema decide con la cifra del trimestre en la misma fecha de cierre del periodo, está operando con un número que nadie había publicado aún. La referencia correcta es la fecha en la que el dato estuvo disponible, y cuando esa fecha no se conoce con precisión se aplica un retraso de publicación [1]. Algo parecido ocurre con los datos revisados: un mismo hecho puede tener un valor preliminar y otro corregido posteriormente, y solo el preliminar existía cuando se tomó la decisión.

El cierre de vela y la marca de tiempo

Un detalle que se escapa con frecuencia es el del cierre de vela. Si la decisión se marca al cierre de una vela, el único precio honesto para esa decisión es el que se obtiene en ese cierre. Aplicar un precio de cierre a una operación ejecutada antes, dentro de la misma sesión, es usar un número que todavía no se había formado [3]. La marca de tiempo del dato, la de la señal y la de la orden pertenecen a la misma línea temporal y deben respetar su orden: primero el dato disponible, después la decisión y solo después la orden.

Conviene precisar una idea mal formulada: no es cierto que siempre haya que esperar a la vela siguiente. Se puede operar dentro de la vela actual si en el instante de decisión existe un precio realmente ejecutable y el modelo de ejecución lo refleja. La regla no es "esperar siempre", sino "usar solo lo disponible en el momento de decidir". Lo que sí es una fuga es rellenar la orden con el cierre de esa vela cuando la decisión se tomó antes de que la vela cerrara, porque entonces el motor compra a un precio que nadie podría haber obtenido [3].

Precios ajustados y series reescritas

Otro camino de entrada del futuro son los precios ajustados. Cuando una serie se ajusta por splits o por otras acciones corporativas con la información de hoy, el pasado se reescribe con el conocimiento de acontecimientos posteriores. Una cartera construida sobre precios ajustados puede comportarse de forma muy distinta a la misma cartera construida con los precios que el mercado mostró en su momento, y esa diferencia no procede de la estrategia sino del ajuste [1]. La comprobación consiste en reconstruir el ejercicio con precios sin ajustar, o con el ajuste aplicado solo desde la fecha en que ocurrió la acción corporativa.

Inicializar con lo que ya funcionó

La fuga también aparece al preparar el punto de partida. Elegir el universo compuesto por los activos que lo hicieron bien durante el periodo analizado, calibrar indicadores con valores favorables o escoger parámetros mirando el resultado completo introduce conocimiento del desenlace en el arranque. Cualquiera de esas decisiones convierte la prueba en una descripción conveniente del pasado en lugar de una comprobación. Lo razonable es fijar universo y parámetros con información anterior al inicio del tramo analizado y no reajustarlos después con el resultado [1].

El modelo también puede saber el final

Cuando hay aprendizaje automático, la fuga puede no estar en la tabla de datos sino dentro del modelo. Un sistema entrenado con material que cubre el periodo que después se quiere evaluar ya ha incorporado parte del desenlace: la filtración vive en los parámetros y no se arregla limpiando el fichero [2]. La defensa es entrenar y preprocesar solo con información anterior al tramo de evaluación y, si se parte de un modelo preentrenado, emplear uno cuyo preentrenamiento termine antes del periodo analizado [1][2]. El preprocesamiento cuenta igual que el entrenamiento: medias, normalizaciones, codificaciones y relleno de huecos calculados sobre la muestra completa trasladan el futuro hacia el pasado.

Comprobaciones concretas

Antes de dar por bueno un resultado merece la pena revisar estos puntos:

  • Verificar la fecha de disponibilidad de cada campo y si representa el valor de aquel momento o una versión revisada.
  • Comprobar que la marca de tiempo de la señal nunca es posterior a la de la orden y que el precio de ejecución era alcanzable en ese instante.
  • Repetir el ejercicio aplicando un retraso de publicación de al menos un periodo; si el resultado se desmorona, la ventaja procedía del calendario y no de la señal [1].
  • Reconstruir con precios sin ajustar y comparar ambos resultados.
  • Separar el tramo de entrenamiento del de evaluación y no reajustar nada después de ver la prueba.

Pongamos un caso hipotético, sin cifras: un sistema ordena valores por un campo contable y envía órdenes al cierre del mismo día en que termina el periodo contable. En la simulación el resultado parece estable; en la práctica, ese día nadie disponía todavía de ese campo. El mecanismo de la fuga es el calendario, no la fórmula. No se trata de una regla mecánica de espera, sino de respetar una frontera temporal: cada cifra tiene una fecha en la que pudo usarse por primera vez, y un sistema honesto no debería cruzarla nunca [1].

Fuentes

[1] QuantConnect. Research Guide. https://www.quantconnect.com/docs/key-concepts/research-guide

[2] Jiri Pik. LLM Stock Picking Look-Ahead Bias: The Trap. https://jiripik.com/2026/07/01/llm-stock-picking-look-ahead-bias

[3] Algoseek. Survivorship Bias in Backtesting: What to Ask a Data Vendor. https://algoseek.com/blog/data-guides/survivorship-bias-in-backtesting-what-to-ask-a-data-vendor/

Nota de riesgo: Este contenido es educativo y no constituye asesoramiento financiero personalizado ni una recomendación de inversión. Operar en mercados financieros implica riesgo de pérdida; ningún método garantiza resultados futuros.

← VER TODOS LOS ARTÍCULOS