proyectos

2026en producciónrepo privado

Sistemas de trading

TWS-Tools: dos sistemas algorítmicos sobre IBKR, en producción

Un motor de scalping EMA en vivo y un port de la estrategia NostalgiaForInfinity a renta variable, con supervisor, backtesting de cartera y una suite de tests que sostiene el conjunto. Migrado de ib_insync a ib_async y validado contra TWS antes de fusionar.

Es el proyecto donde más he aprendido de arquitectura, porque un fallo aquí cuesta dinero de verdad. Cada dato tiene un único dueño: los límites de peticiones de IB viven en un módulo y solo en uno, las rutas de disco salen de `common/paths.py` y ningún módulo las deriva de su propio `__file__`, y la URL de Telegram la construye un solo sitio para los cinco procesos que avisan. Cuando el mismo dato se calcula en dos pantallas, tarde o temprano cuentan cosas distintas.

El supervisor hace relevo en caliente: un `/restart` sale con código 42 y el núcleo lo reemplaza sin perder el hilo, con backoff ante caídas y logs rotados. Hay dos capas de datos separadas —el almacén de velas y el estado de trading— y un gateway de solo lectura con banderas de frescura, para que una estrategia nunca decida sobre una vela vieja creyéndola nueva.