4 de octubre de 2026 · investigación

¿Cómo evitar que un agente de estrategias con IA filtre el mañana en el día de hoy?

¿Cómo evitar que un agente de estrategias con IA filtre el mañana en el día de hoy?

Un agente de estrategias con IA puede generar un backtest válido usando información que aún no existía cuando debían ejecutarse las operaciones. El código funciona. La curva de capital parece plausible. Puede que hasta la señal tenga sentido. Sin embargo, una marca de tiempo, una unión o un campo de datos revisado le ha revelado discretamente la respuesta del mañana.

La solución es incluir el momento en que la información estuvo disponible como parte del contrato de investigación. Cada entrada debe responder claramente a dos preguntas: ¿a qué momento corresponde este valor y cuándo podría haberlo conocido la estrategia por primera vez?

¿Cómo se manifiesta el sesgo de anticipación en una estrategia generada por IA?

La versión más evidente es una señal calculada a partir del cierre de la misma vela, seguida de una ejecución a ese cierre. Si la estrategia necesita el precio de cierre para decidir, no puede operar también a ese precio. Pero los agentes suelen introducir variantes más sutiles al combinar fuentes de datos o elegir valores predeterminados convenientes.

Supongamos que un modelo calcula una media móvil de 20 velas al cierre de cada minuto y toma una posición cuando el cierre la cruza. Si el backtest ejecuta la orden a ese mismo cierre, ha usado el último precio negociado de la vela antes de que la estrategia pudiera disponer de él. Pasar la orden a la apertura de la vela siguiente puede ser una aproximación razonable, aunque una orden de mercado sigue teniendo que contemplar comisiones e impacto.

Ahora usemos como variable un dato fundamental diario de acciones o una instantánea del interés abierto de criptomonedas. La fecha de la fila podría indicar lunes, pero el valor quizá se publicó después del cierre del lunes o se corrigió más tarde. Una fecha no es una marca de tiempo de disponibilidad.

¿Cómo debo marcar temporalmente las entradas de una estrategia?

Conserva al menos 3 marcas temporales cuando la fuente lo permita: el período al que corresponde el valor, el momento en que lo publicó el proveedor y el momento en que lo recibió tu sistema. El conjunto de información de la estrategia en el momento de decidir solo puede incluir valores disponibles para entonces.

CampoA qué respondeTrampa habitual
Hora del evento¿Cuándo ocurrió el evento de mercado?Usar el cierre de una vela antes de que termine
Hora de publicación¿Cuándo publicó la fuente este valor?Tratar una etiqueta de fin de día como si se hubiera publicado al inicio de la sesión
Hora de ingestión¿Cuándo pudo consumirlo este sistema de investigación?Ignorar el retraso del proveedor o de la canalización
Hora de revisión¿Cuándo se registró o corrigió esta versión?Completar el historial con datos revisados como si fueran los originales

En una estrategia de 1 minuto, un retraso de 1 segundo no es necesariamente inocuo. Su importancia depende de cuándo se toma la decisión y de qué usa la señal. Si la entrada es una estadística horaria ya completada, quizá apenas importe. Si es un desequilibrio del libro de órdenes muestreado cerca del momento de enviar la orden, puede invertir la operación.

¿Puede un almacén de datos puntual evitar las filtraciones?

Ayuda, si «puntual» significa que puedes recuperar el valor conocido en un momento histórico de decisión, incluida la revisión vigente entonces. Una tabla que solo contiene fechas históricas todavía puede incluir los valores corregidos hoy para esas fechas.

Para cada registro, conserva un intervalo de vigencia y una marca de tiempo de disponibilidad, y guarda las revisiones en vez de sobrescribirlas. Después, formula las consultas históricas de manera explícita: devuelve la última versión disponible en el momento simulado de la decisión. Esto es especialmente importante para los datos fundamentales, la composición de índices, las publicaciones económicas y los conjuntos de datos depurados por proveedores.

Hay un detalle operativo poco vistoso: una hora de publicación perfecta no sirve de nada si el proceso de ingestión se ejecutó con 20 minutos de retraso. Si el almacén histórico no registra la hora de ingestión, aplica un retraso conservador y déjalo claro. La precisión que la fuente nunca registró es puro adorno.

¿Qué comprobaciones detectan el sesgo de anticipación antes del trading en simulado?

Pide al agente de investigación que genere una cronología de variables y órdenes junto con el backtest. Para cada decisión, registra la hora más reciente de disponibilidad de cada fuente usada por las variables, la hora de decisión, la hora de envío de la orden y la hora de ejecución simulada. Rechaza cualquier fila en la que una entrada haya llegado después de la decisión.

Estas comprobaciones no certifican una estrategia. Hacen visibles supuestos concretos sobre la sincronización y detectan formas habituales de incumplirlos.

¿El trading en simulado demuestra que el backtest no tenía filtraciones?

No. El trading en simulado puede revelar que el flujo de datos en vivo llega tarde, falta o está alineado de otra manera que el histórico. No puede demostrar que las variables de entrenamiento antiguas reflejaran lo que se sabía entonces. Además, un modelo puede dejar de beneficiarse de una filtración simplemente porque el futuro que vio por accidente ahora ya es el presente.

Usa el trading en simulado para comprobar la paridad: compara los valores de las variables en vivo, las marcas temporales de decisión, la generación de órdenes y las ejecuciones simuladas con las definiciones del backtest. Cuando difieran, rastrea la entrada y el reloj exactos. Un equipo de agentes capaz de explicar el conjunto de información de cada decisión está haciendo investigación útil. Un equipo que solo puede mostrarte una curva fluida se ha saltado la auditoría más difícil.

agentes de IAsesgo de anticipaciónbacktestingingeniería de datostrading en simulado
← Todos los artículos