← EXCOIN / ARTÍCULOS

Calidad de datos de mercado: qué debe detectar y mostrar la aplicación

Un gráfico rápido no demuestra datos correctos. El sistema necesita conocer origen, antigüedad, orden y reglas ante fallos o correcciones.

Un precio sin origen y tiempo está incompleto

Una aplicación puede mostrar varios decimales, pero el usuario no sabe si el valor es actual, retrasado o corregido. Cada flujo tiene proveedor, instrumento, tipo de valor, hora del evento y hora de recepción. Estas horas pueden diferir mucho. Si el producto ayuda a decidir una operación, debe especificarse qué valor se presenta y cuál se utiliza para la instrucción real. Cuando falta el feed, un precio antiguo no debe parecer fresco. La precisión del formato no equivale a calidad del contenido. Defina significado y condiciones contractuales de cada fuente antes de construir gráficos. Indique cuándo el dato no sirve para la acción prevista.

Registre también si se trata de bid, ask, última operación, cotización indicativa o agregado. Dos números del mismo instrumento pueden diferir porque representan eventos distintos. Usuarios e ingeniería necesitan términos coherentes. Las fuentes pueden tener horarios, monedas, zonas y reglas de corrección diferentes. Antes de combinarlas acuerde identificador del instrumento, tipo de mensaje, tiempo, moneda, tamaño, calidad y retraso admisible. Si un campo carece de significado comercial, unificar su nombre técnico todavía puede producir información engañosa. Conserve el ID original del proveedor para investigar valores discutidos.

Un flujo necesita orden y recuperación

En una transmisión en vivo pueden perderse mensajes, repetirse o llegar fuera de orden. FIX Trading Community describe snapshots y actualizaciones incrementales de mercado, con convenciones para mantener un libro. Cada feed concreto se rige por especificaciones de su proveedor. Compruebe números de secuencia, detección de huecos y posibilidad de solicitar otro snapshot. Sin ello la aplicación puede seguir dibujando un gráfico o libro aparentemente fluido pese a faltar un paso. Recuperarse de una interrupción forma parte de la corrección y no solo de la conexión. Una conexión abierta puede igualmente ofrecer una vista incompleta.

Al combinar snapshot y cambios posteriores precise desde qué instante se aplican actualizaciones. Si se pierde un evento mientras carga la imagen, el estado final será incorrecto. Pruebe interrupción durante una punta y reconexión. El usuario debe ver cuándo la información está incompleta. Algunas pantallas pueden mostrar el último valor con aviso claro; otras deben detener una acción dependiente de datos completos. El responsable de producto decide según riesgo, no solo quien desarrolla el gráfico. Registre momento y motivo del paso de válido a degradado. Reconstruya en pruebas un estado después de un hueco deliberado.

Las marcas temporales separan tres retrasos

El tiempo entre evento de mercado y envío del proveedor, entre envío y recepción por la aplicación, y entre recepción y pantalla se suma. Una sola cifra de latencia oculta dónde surge el problema. Registre hora del evento, ingestión y quizá presentación con una convención clara. Sincronizar relojes tiene límites; al comparar sistemas observe también diferencias entre ellos. Si el feed ofrece solo hora de recepción, no prometa precisión del momento original de la operación. En historia distinga fecha de sesión y marca real, sobre todo cerca de medianoche o cambios de zona. Guarde detalle suficiente para explicar por qué un mensaje tardío aparece en otro punto del gráfico.

Para usuarios puede importar más la antigüedad del último valor verificado que la latencia media de red. Muéstrela donde se decide. Al alcanzar el límite aprobado cambie estado de pantalla o disponibilidad de la acción. Un feed rápido puede sufrir problemas de orden, no de demora. Separe métricas por instrumento, fuente y tipo de mensaje. Averigüe si una punta retrasa todos los valores o solo algunos. Así se repara la causa en vez de comprar hardware mayor a ciegas. Indique periodo y percentil al afirmar rendimiento.

Duplicados, huecos y anomalías requieren respuestas diferentes

Un duplicado puede dejar igual el último precio y duplicar volumen o número de operaciones. Un intervalo perdido rompe el gráfico y puede quedar oculto después de recuperarse. Un salto puede ser mercado real o entrada errónea. No corrija todo con la misma regla. Defina controles según categoría: ID del mensaje, secuencia, existencia del instrumento, intervalos plausibles y comparación con otra fuente si la licencia lo permite. Toda desviación necesita estado y dueño para que no se ignore solo porque no se apagó el feed entero. Conserve la razón de aceptar o rechazar un valor.

Al corregir historia mantenga el valor original y momento de corrección si hacen falta para explicar la decisión de alguien. El gráfico puede mostrar después una historia correcta aunque el usuario viera otra cosa al actuar. No confunda esas vistas. Para una fuente de respaldo establezca cómo se tratan metodologías y licencias diferentes. Precios de dos proveedores no tienen por qué ser intercambiables. La selección de fuente debe estar versionada y poder auditarse si alimenta cálculos o alertas. Una corrección debe provocar revisión del informe derivado que utilizó el dato anterior.

Equilibrar latencia y completitud según tarea

Una pantalla en vivo puede preferir rapidez con indicador de incertidumbre. Un resultado analítico o contable puede esperar datos más completos. No tienen que usar un camino idéntico. Distinga visualización en vivo, registro histórico confirmado y quizá lote controlado para informes. Para cada capa defina cuándo está completa y si admite correcciones posteriores. Si las cifras difieren, explique por qué. Precisión y frescura son dimensiones distintas; el uso determina el equilibrio. El usuario no debe confundir una vista indicativa con el registro confirmado empleado en un informe posterior.

Con alto volumen fije límites de cola y plan para ponerse al día. Si la aplicación no puede manejar el flujo, no debe tirar mensajes en silencio mientras afirma estar al corriente. El muestreo puede servir para una visualización secundaria si se aprueba; no para un libro o cálculo del estado comercial sin otra decisión. Mida percentiles y antigüedad del evento pendiente más viejo. Después de recuperar decida si completar historia primero o tomar snapshot nuevo y marcar huecos previos. Incluya la opción en las instrucciones operativas. Pruebe cuándo el sistema degrada deliberadamente el servicio para proteger corrección.

Supervisar calidad, no solo disponibilidad

Conexión verde con el proveedor no prueba datos correctos. Vigile edad del último mensaje, huecos de secuencia, errores de decodificación, correcciones, diferencia del volumen esperado y anomalías por instrumento. OpenTelemetry describe métricas como señales agregadas del comportamiento; utilícelas para condiciones reales de calidad. Cada alerta requiere umbral, periodo y persona que decide. Pueden regir reglas distintas dentro y fuera de horario de negociación. No despierte al equipo de guardia por silencio normal para el mercado. Incluya el efecto en funciones posteriores para priorizar el aviso.

La vista operativa debe mostrar origen, alcance y efecto sobre usuarios. Durante una interrupción algunas partes pueden permanecer activas y otras pausarse. Registre cuándo bajó la calidad, qué vieron los usuarios y cuándo se recuperó. Después compare la supervisión con la realidad: ¿detectó antes que clientes y llevó a una acción segura? Si no, añada prueba o medida concreta. Una alerta genérica de feed caído no cubre un flujo activo que envía valor viejo o erróneo para un instrumento importante. Soporte debe identificarlo sin leer paquetes de red brutos.

Probar flujos, no solo respuestas API estáticas

Cree secuencias de ejemplo para flujo correcto, duplicado, hueco, snapshot retrasado, valor corregido y orden cambiado. Para cada una defina estado interno, pantalla y alerta esperados. Pruebe pérdida de conexión en punta y reconexión. Con varios tipos de mensaje examine campos o versiones desconocidos. Los datos de prueba deben cumplir licencias de la fuente. Si no puede guardarse legalmente el feed real para repetir, cree ejemplos sintéticos autorizados con las mismas características de fallo. Mantenga resultados esperados en regresión para que futuros cambios de rendimiento no rompan la corrección.

Pida a alguien ajeno a la implementación que identifique en la vista operativa que un valor ya no es apto para decidir. Si no puede, el aviso no es claro. Antes del lanzamiento verifique reglas de respaldo y qué sucede si ambas fuentes faltan. Después observe anomalías reales y amplíe las pruebas. EXCOIN puede diseñar el trayecto de datos, pero no prometer latencia o corrección sin conocer fuente, licencia y producto. El resultado sólido es un sistema que muestra origen y antigüedad, detecta flujos incompletos y reconoce incertidumbre de forma segura.

Fuentes

Consultar proyecto