En el machine learning para mercados financieros hay un problema que puede hacer que incluso un backtest muy atractivo no sea confiable: el modelo puede recibir accidentalmente información que aún no existía en el momento en que se tomó la decisión.

Cubrimos este tema por separado para una audiencia general, en un artículo que explica en lenguaje sencillo qué es la fuga temporal de datos, por qué dividir el historial en un período de entrenamiento y uno de prueba a veces no es suficiente por sí solo, y por qué importan los datos point-in-time — es decir, datos en la forma en que genuinamente estaban disponibles en ese momento histórico.

La versión en inglés de esa explicación detallada, "Why a Trading AI Bot Can Accidentally “Know the Future” — and How to Prevent It", está publicada en Medium.

Para Tantoryn AI, este tema tiene consecuencias prácticas.

Mientras preparábamos los datos y validábamos el sistema de ML, revisamos además el principio que determina cuándo una información se vuelve visible para un modelo. Para que un experimento histórico sea correcto, lo que importa no es solo la fecha a la que se refiere un valor, sino también cuándo ese valor podría haber sido genuinamente conocido por el sistema.

Esto es especialmente importante para datos que se publican con retraso, pueden revisarse más adelante, o se calculan sobre un período que aún no ha cerrado.

Por eso, al preparar datos históricos seguimos una regla simple:

si la información aún no existía en el momento de la decisión, el modelo tampoco debe verla en la prueba histórica.

Este enfoque puede hacer que los resultados se vean menos impresionantes sobre el papel, pero al mismo tiempo hace que la validación del sistema sea más estricta y más cercana a las condiciones reales.

Para Tantoryn AI, esto es parte de un principio de desarrollo más amplio: primero asegurarse de que el propio experimento esté construido correctamente, y solo después juzgar la calidad del machine learning.

Seguimos aplicando este enfoque mientras preparamos los datos y continuamos validando los componentes de ML del proyecto.