6 de noviembre de 2026 · datos

Tu backtest usó el universo equivocado en cada momento

Tu backtest usó el universo equivocado en cada momento

Un backtest puede acertar la marca de tiempo de cada vela y aun así usar información del futuro. Ocurre cuando la estrategia prueba los activos que siguen existiendo hoy a lo largo de años de historia, como si hubiera sabido qué mercados seguirían teniendo liquidez, cotizando y mereciendo quedarse.

La construcción del universo forma parte de la estrategia. Si el sistema en producción solo podía elegir entre los activos disponibles en cada momento de decisión, el backtest debe respetar ese mismo límite. Hay tres atajos que suelen borrarlo.

Error uno: probar la lista de hoy a lo largo de todo el historial

Supongamos que hoy seleccionas los 50 mercados perpetuos de criptomonedas más grandes y luego los pruebas desde 2021. La lista excluye contratos que desaparecieron, perdieron liquidez o fueron retirados de cotización. También permite que fechas anteriores accedan a mercados que quizá aún no existían.

Es fácil pasar por alto los estragos: la estrategia parece más estable porque los activos que fracasaron han desaparecido de la muestra. Una regla de momentum, por ejemplo, podría dar resultados excelentes en los 50 mercados de hoy, aunque la versión histórica habría asignado repetidamente capital a activos que después se desplomaron o perdieron su cotización en la plataforma. Has probado una cartera seleccionada con conocimiento del resultado.

Registra la pertenencia al universo con fechas. Para cada activo, anota cuándo pasó a ser elegible, cuándo dejó de serlo y por qué. En cada rebalanceo, aplica las reglas usando solo la información disponible entonces. Un mercado debe incorporarse después de su fecha real de cotización y de cualquier período de calentamiento requerido. Si se retira de cotización, hay que definir cómo cerrar o liquidar su posición final; eliminar sus filas no es una regla de salida.

Error dos: ordenar según una estadística medida después de la decisión

Incluso un universo histórico puede tener filtraciones si la regla de pertenencia usa una ventana cuyos datos futuros ya están completos. «Operar las 20 acciones más líquidas cada mes» suena razonable, hasta que se ordenan por liquidez usando todo el mes en que la estrategia supuestamente opera.

Imagina que rebalanceas el primer día de negociación. Ordenar según el volumen promedio en dólares de ese mes usa discretamente las tres semanas siguientes para decidir qué cumplía los requisitos el primer día. Los estragos suelen verse en una capacidad inusualmente buena: la estrategia evita los activos que perdieron liquidez más adelante en el mes, aunque no podía saberlo al entrar.

Fija el corte de medición antes del momento de selección. Para un rebalanceo mensual en la primera sesión, podrías ordenar según las 20 sesiones completadas anteriores, hasta la sesión previa inclusive. Después, especifica el retraso de ejecución: si el ordenamiento usa el cierre de ayer, ¿se puede enviar la orden a la apertura de hoy según el flujo de trabajo supuesto?

Regla de selecciónVersión disponible en cada momentoFiltración común
Los 20 primeros por volumen en dólaresOrdenar las sesiones completadas hasta antes del rebalanceoIncluir el día o el mes del rebalanceo
Cotización en la plataformaUsar las fechas efectivas de cotización y retiradaUsar un endpoint actual de símbolos para fechas pasadas
Historial mínimoContar las observaciones disponibles en el momento de selecciónExigir que el activo sobreviva en el futuro para superar el filtro

Error tres: tomar la falta de historial como prueba de que un activo no era elegible

El archivo de un proveedor de datos no es necesariamente un registro completo del mercado histórico. La ausencia de un símbolo puede significar que el activo nunca existió, que la plataforma cambió sus convenciones de nomenclatura, que el proveedor no conservó los instrumentos retirados de cotización o, simplemente, que hay un hueco en el flujo de datos. Cada caso tiene implicaciones distintas.

El resultado es un universo ordenado con huecos inexplicables. A menudo, los investigadores exigen una ventana retrospectiva completa y luego excluyen en silencio todo lo que no la tenga. Puede ser una regla de calentamiento razonable, pero también descarta por diseño los activos recién cotizados. Peor aún, si el historial ausente se concentra en mercados fallidos, «solo datos completos» se convierte en otro filtro de supervivencia.

Mantén la elegibilidad, la disponibilidad de datos y el calentamiento de la estrategia como hechos separados. Registra por qué se excluyó un activo en cada fecha. Conserva los datos ausentes en el registro de investigación en lugar de convertirlos en una eliminación silenciosa. Cuando la fuente no permita determinar si un mercado cotizaba o se podía operar, indícalo y mide cuánto depende el resultado de esa incertidumbre.

Haz que el universo sea reproducible

Una auditoría útil empieza con un rebalanceo histórico. Reconstruye la lista de candidatos a partir de cotizaciones fechadas y de los datos disponibles en ese corte. Vuelve a calcular las variables de ordenamiento usando solo observaciones completadas. Después, compara la pertenencia resultante con la lista que realmente usó tu backtest.

Guarda la regla, su corte, las decisiones de pertenencia y la versión de la fuente junto con la ejecución. Si no puedes explicar por qué un activo entró y otro quedó fuera en una fecha concreta, todavía no puedes saber si la estrategia descubrió una ventaja o heredó una muestra moldeada por el futuro.

Los errores al construir el universo rara vez se anuncian con precios imposibles. Se manifiestan como una estrategia que, convenientemente, evitó los mercados que dejaron de ser convenientes.

sesgo de supervivenciadatos disponibles en cada momentoconstrucción del universobacktesting
← Todos los artículos