Los datos gratuitos equivalen a malos datos. Los datos baratos equivalen a malos datos. No estás tratando con datos reales aquí. Estos datos han sido agregados al marco de tiempo de 1 ms como máximo. He visto otros datos similares que se agregan al marco de tiempo de 4 ms. Los proveedores llaman a esto datos en tiempo real pero ten cuidado. En la jerga de los proveedores de datos, en tiempo real puede ser cualquier cosa que se proporcione en menos de 10 minutos desde que ocurrió el evento.
Los datos reales de mensajes comerciales del intercambio están marcaos con una resolución de 1 ns. Los mensajes comerciales típicamente contienen la información de una sola transacción. Esta información incluye Hora del Intercambio (cuando ocurrió la transacción), Hora de Envío (cuando se envió el mensaje de la transacción por el cable), Precio, Cantidad Llenada, Cuenta de Órdenes (orden agresiva llenada por N órdenes en espera), Lado Agresor (Vender la Oferta, Comprar la Demanda).
El mayor volumen de mensajes en una sesión proviene de actualizaciones del libro de órdenes. Estos consisten en nuevas órdenes límite, modificación y/o cancelación de órdenes en espera. El volumen de estos mensajes puede superar a los mensajes comerciales en una proporción de 5 a 1. También hay varios mensajes administrativos enviados para indicar el estado del intercambio, estado del mercado, estado del instrumento, estadísticas, etc.
Los datos históricos del intercambio se almacenan como un archivo PCAP (captura de paquetes) que contiene los mensajes codificados binariamente para toda la sesión.
Los intercambios publican especificaciones muy detalladas sobre los protocolos de mensajes (usualmente basados en SBE o FIX). Haz una pequeña búsqueda en Google para encontrar las especificaciones del protocolo de mensajes del intercambio para saber exactamente qué contienen los mensajes y el timing de los mismos. Busca "NYSE FIX Protocol" o "NASDAQ Market Data Message Spec" y sigue desde ahí.
El único lugar para obtener estos datos es del intercambio. Por supuesto, hay otros proveedores de datos de mercado, pero ofrecen datos agregados y a menudo están restringidos por los términos de su acuerdo de licencia (a cambio de un menor costo) con el intercambio de proporcionar los datos sin procesar. Si quieres los datos reales, la única forma es estar directamente licenciado por el intercambio para tener acceso a estos datos.
Si puedes obtener la licencia, que los traders minoristas e investigadores generalmente no pueden, se te ha otorgado el permiso para conectarte a la fuente de datos de mercado y recibir los mensajes serializados y codificados. ¡Genial! Ahora todo lo que tienes que hacer es desarrollar una aplicación que pueda conectarse a la sesión del intercambio (debe pasar por un proceso de certificación riguroso), recibir los paquetes de mensajes (generalmente sobre UDP), decodificarlos y presentarlos para su análisis por una estrategia comercial. Si deseas mostrar los datos en un gráfico en una pantalla, tendrás que pagar más por la tarifa de licencia. Hay proveedores que ofrecen "Decodificadores FIX", que es una excelente manera de acelerar el desarrollo de tu sistema para leer datos de mercado. Por supuesto, también querrás realizar pedidos. La alimentación de órdenes es un flujo y protocolo completamente separados, pero el proceso de obtener licencias, certificaciones y poder realizar pedidos es similar, excepto por el hecho de que ahora otras personas se preocupan por tu perfil de riesgo y demás. Pero me desvío.
También necesitas estar colocado. La conexión a los servidores del intercambio no funciona para servidores que no estén colocalizados.
En resumen, cualquier dato que obtengas que no sea del intercambio ha sido agregado o manipulado de alguna manera por el proveedor de datos para adaptarse a su modelo de negocio, capacidad de almacenamiento, infraestructura, etc. No son datos reales. Me temo que demasiadas personas simplemente no son conscientes de esto.