Saltar al contenido

Data leakage

Información futura que entra en el training — backtesting inflado, modelos que fallan en producción.

Cita esta entrada

Esta referencia cita la entrada de Cyclepedia. Los documentos en los que se basa figuran en las fuentes de la entrada.

En esta página

A quién sirve — A cualquiera que haga ML o backtest sobre series temporales. El leakage es el error silencioso que transforma un modelo «perfecto» en pérdida en real.

El data leakage (fuga / contaminación de datos) ocurre cuando información no disponible en el momento de la decisión entra en la feature, el target o el preprocesamiento — look-ahead bias, shuffle sobre series temporales, normalización sobre todo el dataset, join con datos revisados a posteriori.

Tratamiento canónico: Data leakage y sesgo de anticipación — causalidad, preprocesamiento, auditoría y diferencia respecto al sesgo de supervivencia.

En palabras sencillas — El modelo «hace trampa» mirando las respuestas del examen antes de responder — en paper queda perfecto, en real no.


Formas frecuentes

Tipo Ejemplo
Look-ahead Feature que usa el close de la barra actual para entrar en la apertura
Target leakage Target construido con datos post-evento no conocidos en t
Preprocesamiento global StandardScaler ajustado sobre train+test juntos
Survivorship Universo de valores solo los que aún cotizan hoy
Revisiones Macro «final» en vez del primer print

En finanzas el tiempo es causal: los splits deben respetar el orden cronológico (out-of-sample).


Prevención

  • Features calculadas con lags explícitos; entrada en la apertura de la barra siguiente
  • Walk-forward y purge entre folds adyacentes
  • Auditar el pipeline: «¿qué sabía yo en t?»
  • Comparar con una baseline naive — si el salto es enorme, sospecha de leakage

Error típico — `train_test_split` aleatorio sobre OHLCV — mezcla futuro y pasado, métricas irreales.

Ejemplo — Modelo que predice un gap up: la feature incluye `high - open` de la misma barra en la que entras en la apertura → leakage, accuracy del 90%+, inútil en real.

Ficha

  • Regla: ningún dato de t+1 en la decisión en t.
  • Test: desplaza la feature 1 barra — ¿el rendimiento se desploma? leakage probable.
  • Lee también: Overfitting, que a menudo enmascara el leakage.

Fuentes


Enlaces