Una fila de datos de mercado puede ser perfectamente precisa y aun así no servir como evidencia para un backtest. La operación ocurrió, el precio es correcto y la marca de tiempo es válida; pero el flujo de datos quizá llegó tarde, un proveedor quizá corrigió el dato después o el mercado cotizado quizá no era accesible para tu estrategia.
Para saber si los datos históricos se podían negociar, audita algo más que su marca de tiempo del evento. Necesitas saber qué describe la fila, cuándo estuvo disponible para el sistema, qué mercado o instrumento representa y si la cotización o la operación podían respaldar razonablemente tu orden.
¿Basta con que un precio histórico sea correcto para un backtest?
No. La precisión responde a «¿Qué precio registró finalmente la fuente?». Un backtest también debe responder a «¿Qué podía saber mi estrategia en el momento de decidir?» y «¿Qué podía ejecutar?». Son preguntas distintas.
Imagina que se registra una operación de cripto a las 12:00:00.120, pero el flujo de datos de tu proveedor llega a tu proceso a las 12:00:00.480. Una estrategia que decide a las .200 no puede usar esa operación, aunque la marca de tiempo del evento sea anterior a su decisión. Si el archivo histórico conserva solo la hora del evento, el backtest puede conceder silenciosamente a la estrategia información que su proceso en vivo todavía no habría recibido.
| Hora o campo | Qué indica | Fallo del backtest si falta |
|---|---|---|
| Hora del evento | Cuándo dice el exchange que ocurrió el evento | Confundir la hora del mercado con la disponibilidad para la estrategia |
| Hora de recepción | Cuándo recibió el mensaje tu colector | Usar datos retrasados como si hubieran llegado al instante |
| Secuencia o ID de actualización | El lugar del evento en el orden del flujo de datos | Aplicar actualizaciones fuera de orden u omitirlas silenciosamente |
| Hora de revisión | Cuándo se conoció un valor histórico corregido | Probar con un valor que no existía en el flujo original |
Si tu archivo no tiene horas de recepción, reconoce esa limitación. Puedes probar una hipótesis de latencia o limitar la conclusión a la investigación basada en la hora del evento. No puedes reconstruir el conjunto exacto de información a partir de marcas de tiempo que nunca se guardaron.
¿Cómo sé si una cotización se podía ejecutar?
Empieza por el mercado al que habría llegado tu orden. La mejor oferta de compra y de venta consolidada puede resumir varios mercados; no demuestra que tu cuenta tuviera acceso al volumen mostrado, que la cotización siguiera disponible cuando llegara tu orden ni que el mercado aceptara tu tipo de orden.
Para una orden de mercado, asumir una ejecución al precio medio suele ser ficticio. Una estimación más útil recorre el libro visible según el tamaño de la orden y luego añade las comisiones y una hipótesis de latencia o impacto. Si solo tienes datos del mejor nivel, limita lo que afirmas: puedes estimar el primer nivel, pero no inferir una profundidad que nunca se registró.
Para una orden limitada, que el precio se toque no significa que haya ejecución. Las órdenes que están delante de la tuya pueden consumir primero la cantidad disponible. Normalmente no se puede conocer la posición en la cola a partir de instantáneas ordinarias, así que una regla de ejecución basada en que se toque el precio debe tratarse como un escenario optimista, no como un hecho sobre lo ocurrido.
Una vela de 1 minuto puede indicar que el mínimo cruzó tu límite. No puede decirte si tu orden pasiva llegó al mercado antes de ese mínimo, cuánto se negoció allí ni cuánto volumen había por delante en la cola.
¿Qué debo comprobar antes de confiar en un archivo de datos de mercado?
Primero compruebo las propiedades más básicas. Permiten detectar más problemas de investigación que añadir un modelo de ejecución sofisticado a un flujo de datos defectuoso.
- Cobertura: ¿Hay intervalos ausentes, eventos duplicados, saltos de secuencia o ráfagas inexplicables de volumen cero?
- Identidad del mercado: ¿El símbolo corresponde al mismo exchange, contrato, divisa de cotización y especificaciones del instrumento a lo largo del tiempo?
- Disponibilidad: ¿Se conservan tanto las horas del evento como las de recepción? Si no, ¿qué hipótesis de retraso limita el resultado?
- Correcciones: ¿Puedes distinguir el mensaje original de las cargas retroactivas o revisiones posteriores del proveedor?
- Unidades: ¿Se interpretan de forma coherente los precios, las cantidades, los multiplicadores de contrato y las marcas de tiempo?
Esta última comprobación parece casi demasiado básica. Una vez pasé una mañana investigando un aparente cambio de régimen de volatilidad que resultó deberse a que un campo de cantidad había cambiado de unidades tras una migración del flujo de datos. El gráfico era precioso; la unidad estaba mal.
¿Cómo puedo comprobar si la disponibilidad de los datos cambia el resultado?
Haz una pequeña prueba de sensibilidad en torno al umbral de decisión de la estrategia. Retrasa los datos utilizables según demoras realistas, descarta las actualizaciones cuya secuencia no tenga continuidad y compara las ejecuciones usando el libro del mercado real cuando dispongas de él. Presenta tanto el resultado original como el degradado. Si un retraso mínimo elimina el efecto, la estrategia quizá dependa de una ventaja informativa que tu sistema de recopilación no puede proporcionar de forma fiable.
Como ejemplo concreto, supongamos que se activa una señal cuando la mejor oferta de compra sube 1 tick. Reprodúcela una vez usando la hora del evento del exchange y otra usando la hora de recepción del colector. Si la versión basada en la hora del evento realiza 40 operaciones y la basada en la hora de recepción realiza 27, esa diferencia forma parte de la evidencia de la estrategia. También lo hace el rendimiento de cada reproducción. No ocultes la reproducción más débil porque sus datos parezcan menos elegantes.
El trading en paper es una comprobación útil porque expone retrasos del flujo de datos, cotizaciones obsoletas, errores de asignación de símbolos y filtros del mercado en el mismo flujo operativo que usa tu sistema de investigación. Aun así, no reproducirá todas las colas ni todo el impacto en el mercado en vivo. Ten presente ese límite.
¿Qué significa en la práctica «datos negociables»?
Significa que el backtest puede explicar cuándo ocurrió una observación, cuándo pudo consumirla la estrategia, de qué mercado procedía y qué evidencia de ejecución respalda la ejecución supuesta. Una serie de precios depurada es un punto de partida. La investigación se vuelve creíble cuando sus hipótesis sobre tiempos, acceso y ejecución resisten el escrutinio y el resultado sigue teniendo sentido después de someterlas a condiciones menos favorables.
← Todos los artículos


