Problema
El protocolo BOE (Binary Order Entry) de Cboe es uno de los estándares de la industria financiera para envío de órdenes bursátiles, pero no existe infraestructura pública para practicar con él sin acceso a sistemas reales. La documentación oficial describe el protocolo en binario, lo que hace difícil experimentar sin un entorno seguro.
Solución
Construí un simulador completo del protocolo Cboe Titanium BOE que replica los 11 tipos de mensaje con serialización binaria real. El sistema incluye un matching engine con prioridad precio-tiempo, tres bots de trading con estrategias distintas (Market Maker, Trend Follower, Random Trader) y un dashboard web servido directamente desde el JAR.
Arquitectura
- Matching Engine —
StampedLockpara concurrencia de baja latencia, cola de escritura asíncrona para desacoplar I/O de RocksDB del hot-path de matching - RocksDB — persistencia de libros de órdenes y trade history; recuperación completa al reiniciar
- REST API + WebSocket — streaming de market data en tiempo real, endpoints de trading y administración
- Web Dashboard — interfaz Astro + Tailwind compilada y embebida en el JAR; no requiere servidor separado
- CLI interactivo — terminal para operar, monitorear y probar el sistema sin navegador
Decisiones técnicas
Se eligió RocksDB sobre PostgreSQL porque el matching engine necesita microsegundos de latencia en escrituras y lecturas por clave; una BD relacional con red introduciría jitter inaceptable. La serialización binaria fiel al protocolo real (en lugar de JSON) fue deliberada: permite conectar herramientas BOE reales al simulador sin adaptadores.