Antes de mover cualquier modelo al servidor de la bolsa hay decisiones que no se pueden posponer: qué se mide, dónde se ejecuta la inferencia y qué se hace cuando el clasificador duda. Esta página describe ese recorrido y los límites reales de cada etapa.
Los tiempos que verás aquí son los que impone la infraestructura, no los que promete una demo.
El trabajo no empezó con un modelo, sino con la decisión de medir el libro de órdenes donde realmente ocurre: dentro del rack del matching engine. Estos son los hitos que marcaron el camino hasta la versión que hoy corre en producción.
Montamos un colector que registra cada add, modify y cancel con su marca de tiempo de origen. Antes de hablar de spoofing necesitábamos datos que no estuvieran ya agregados por segundo.
Un modelo sencillo que separaba retiradas legítimas de ráfagas coordinadas en microventanas. Los falsos positivos eran altos, pero el patrón de layering ya aparecía con claridad en los datos.
Movimos el kernel al mismo rack para bajar la latencia a microsegundos. El coste fue duro: memoria acotada, pesos versionados sin detener el flujo y un plan de respaldo para cuando el modelo se degrada.
La detección pasó de alertar a actuar. Las órdenes manipulativas se frenan antes del primer tick, con umbrales ajustados por instrumento en lugar de un valor fijo global.
El recorrido va desde la primera conversación técnica hasta la vigilancia continua del clasificador. Cada etapa tiene entregables concretos y un criterio claro para pasar a la siguiente. No hay atajos: si un paso no cierra, no avanzamos.
Si quieres ver el detalle técnico de cada técnica antes de empezar, revisa nuestro enfoque de detección o escríbenos desde soporte.
Antes de hablar de latencias y despliegues conviene fijar el vocabulario. Lo que sigue son definiciones operativas que usamos en esta página y en los análisis técnicos: sirven para que nadie interprete "tiempo real" como "cada segundo" ni confunda una retirada legítima con una cancelación manipulativa.
Cuando decimos que un modelo opera en el servidor de la bolsa, hablamos de inferencia dentro del mismo rack que el motor de emparejamiento. La ventana útil para decidir es de decenas a cientos de microsegundos, no de milisegundos. Un sistema que consulta el libro cada cinco milisegundos no ve la orden fantasma: la ve aparecer ya cancelada.
Un patrón fuera de la distribución habitual puede venir de un participante nuevo, de un cambio de estrategia o de un fallo de red. El clasificador marca candidatos; la calificación de spoofing o layering exige contexto acumulado en la cola de eventos, no un umbral aislado.
Rechazar una orden tiene consecuencias para quien la envió y para la reputación del mercado. Por eso el sistema prioriza la evidencia: cuántos niveles se usan, cuánto tiempo viven, cómo se sincronizan las cancelaciones. Sin esa base, el bloqueo se convierte en ruido.
Un modelo calibrado con el flujo de un trimestre pierde precisión cuando cambian las tácticas. Los pesos se versionan y se sustituyen sin detener la inferencia, pero una actualización mal validada puede introducir bloqueos falsos. Esa es una restricción operativa, no un detalle menor.
Si algo de esto no encaja con cómo opera tu mesa, lo revisamos antes de plantear cualquier despliegue. Preferimos discutir los límites primero y ajustar el alcance después.