si alguien que está buscando un proveedor de datos de ticks debe evaluar la calidad subyacente de los datos además del precio y las capacidades de la API.
Absolutamente, debes evaluar la calidad de los datos. Incluso hasta hoy (2021), hay muchas cuestiones de integridad de datos que se transmiten de un proveedor a ti, y hacen diferencias significativas para tu caso de uso.
Puedes generalizarlos en 4 tipos de problemas:
- Pérdida de paquetes y problemas de reinicio de sesión
- Errores de analizador
- Normalización defectuosa
- Problemas de marca de tiempo
Pérdida de paquetes y problemas de reinicio de sesión
[...] al final, ¿son todos los datos básicamente iguales independientemente del proveedor (ya que presumiblemente todos los están agregando desde las mismas fuentes)?
No son iguales a pesar de obtenerse de las mismas fuentes en bruto.
muchos lugares modernos implementan sus fuentes en bruto a través de transporte UDP, lo que es inherentemente propenso a pérdidas. Incluso si un proveedor recibe los datos directamente del lugar a solo 1 salto de distancia a través de una interconexión cruzada, tu proveedor puede perder datos y tener lagunas que no están presentes en los datos de otro proveedor. En un banco de inversiones respetado del que tengo conocimiento, tienen estos conmutadores heredados y NICs Intel de baja especificación recolectando la fuente en bruto y pierden alrededor de 10^-6 paquetes - lo mismo podría ocurrir para un proveedor.
Del mismo modo, la mayoría de los lugares tienen un diseño distribuido para sus pasarelas de datos de mercado en el centro de datos, donde la pérdida de datos podría ocurrir en un subconjunto de canales de instrumentos para un subconjunto de suscriptores de datos, y la única forma de mitigar este riesgo es tener interconexiones cruzadas redundantes a pasarelas separadas, pero la mayoría de los proveedores reducirán costos aquí porque la tarifa de conectividad adicional podría ser de más de diez mil por mes.
También hay mecanismos de respaldo y recuperación que diferirán entre proveedores. Dependiendo de qué tan rápido se recuperan y cambian a pasarelas secundarias los sistemas de un proveedor, también podrías ver datos diferentes.
Algunos lugares modernos implementan sus fuentes de datos a través de transporte TCP, lo que significa que tu conexión es persistente y es posible que tengas que reiniciar la conexión cuando la sesión se reinicie, y al suscribirte, obtienes un volcado del estado actual. El mecanismo de reconexión de un proveedor podría ser diferente al de otro, lo que les hace tener "datos posteriores" por un intervalo significativo después del reinicio de la sesión.
Errores de analizador
Es menos probable que se presente en cómo el proveedor analiza los campos estándar (por ejemplo, precio, tiempo) o los tipos de mensajes pero es más probable que se muestre en cómo el proveedor analiza los campos menos comunes o tipos de mensajes (por ejemplo, mensajes de datos de referencia o definición de instrumentos, mensajes de resumen consolidado, mensajes de estado del motor de coincidencia, etc.)
Por ejemplo, algunos proveedores podrían proporcionar "datos de ticks" con mejor oferta y demanda aumentada que no tenga en cuenta el estado del motor de coincidencia, y durante períodos de subasta (por ejemplo, los encontrados en Tokio o SIX Swiss), podrías ver una mejor oferta y demanda invertida.
Normalización defectuosa
"[...] hubo errores que era responsabilidad del proveedor filtrarlos"
"Si el proveedor está filtrando algún registro, evita al proveedor."
Dudo en usar el término "datos no filtrados", porque no hay una definición formal de "no filtrado" - es puramente un concepto publicitario. Hay datos en bruto o normalizados. La mayoría de las personas consumen datos normalizados de un proveedor porque es más conveniente que ser un suscriptor directo de un lugar.
En cuanto tu proveedor normaliza los datos a través de más de un lugar, tienen que filtrar algo, porque por definición, están tratando de encontrar un terreno común entre dos formatos de datos diferentes. Es solo cuestión de si ese algo se manifiesta en tu flujo de trabajo típico o no. Esto se relaciona con tus dos preguntas siguientes:
¿diferentes métodos de agregación resultan en niveles de precisión (estadísticamente significativos) diferentes?
¿esta diferencia en precisión se compensaría si agregas a, por ejemplo, el microsegundo más cercano?
No, no se compensará. Aquí tienes un caso extremo en el que un proveedor podría afectarte materialmente con una normalización defectuosa incluso si te están proporcionando cada número de secuencia.
En algunos lugares, la impresión de la operación se publica por separado de la eliminación de la orden asociada con la operación. En la práctica, la eliminación de la orden podría ser, digamos, 100s de microsegundos después de la impresión de la operación. En otros, la impresión de la operación y la eliminación de la orden asociada con la operación se definen como un evento atómico.
Un proveedor que proporciona un resumen agregado del libro, como la mejor oferta y demanda, de ambos lugares tiene que decidir qué convención van a seguir. ¿Van a mostrar que la profundidad de la mejor oferta y demanda cambió en el momento de la operación, o en el momento de la actualización del libro?
Esto generalmente es peor cuando un proveedor renormaliza los datos porque carecen de la capacidad técnica. Es decir, en lugar de obtener y analizar los datos directamente, etiquetan los datos de otro proveedor (como Exegy, OnixS, Redline, MayStreet, Vela, Activ) o datos normalizados (como Bloomberg B-PIPE o Refinitiv Tick History).
Problemas de marca de tiempo
Algunos proveedores descartarán todas las marcas de tiempo nativas proporcionadas por la fuente en bruto e incrustarán las suyas. Algunos conservarán solo 1 de las dos o más marcas de tiempo proporcionadas por la fuente en bruto.
Otro asunto ingenuo en el que encontrarás que los proveedores difieren es cómo se manejan las correcciones de segundos intercalados.
P.D.: Un saludo a nuestro proyecto en Databento, donde - para ser totalmente transparente - soy uno de los ingenieros. Como puedes ver en todo lo anterior, no hay una forma estándar de resolver todos los posibles problemas de calidad de datos. En cambio, cómo pensamos en estos detalles de implementación y normalización es un concepto más holístico: que los datos deben tener una calidad adecuada para una simulación pasiva. Es decir, deberías poder realizar pruebas retrospectivas de una estrategia que coloca órdenes pasivas y obtener ejecuciones simuladas y un orden de eventos lo suficientemente preciso para poner en producción tu estrategia.
Algunos trucos que utilizamos para lograr esto y que también podrían ser aplicables en varios proveedores de datos:
- Desviación completa de la captura de datos en la CPU a FPGAs para mitigar el no determinismo en el marcaje de tiempo y la pérdida de paquetes.
- Sincronización de tiempo PTP para una precisión de marca de tiempo de submicrosegundo.
- Escribir nuestros propios analizadores de datos para tener transparencia de cualquier normalización defectuosa.
- Suscribirse directamente a las fuentes en bruto de multicast de los mercados y administrar nuestros propios colos para mitigar errores transmitidos por proveedores de terceros.
0 votos
Con el trading electrónico la integridad de los datos ha mejorado para todos, en los viejos tiempos con entradas manuales (por ej. futuros negociados en el pit) había errores que le correspondía al proveedor filtrar, con éxito variable. Por lo general la integridad de los datos no es un problema. Sin embargo, otra cosa a evaluar es el horario de entrega de los datos: ¿a qué hora de la noche puede el proveedor entregar datos para el trading de hoy en el intercambio X? Es algunas horas después del cierre del intercambio. ¿Y cuántas veces hay retrasos inesperados?
0 votos
Los datos de ticks son registros de últimas ventas (y a veces de nivel I) con marcas de tiempo registradas por el lugar. Puede ser un lugar (NYSE TAQ) o múltiples lugares (SIP). Si la transacción es irregular, el lugar la marcará como tal usando banderas de transacción. Si el proveedor está filtrando algún registro, evita al proveedor. La agregación a microsegundos es una transformación que producirá barras ohlcv, ya no serán datos de ticks.
0 votos
Supongo que la pregunta original se refiere a datos de ticks para acciones.
0 votos
Sí, la pregunta fue específicamente sobre datos de equidad.