Trading Bot IBKR
Sistema de trading algorítmico modular con risk management multicapa y dashboard en tiempo real
Problema
Los bots de trading comerciales son cajas negras. Necesitaba un sistema transparente, modular y seguro que separara señal → riesgo → ejecución, con capacidad de operar en IBKR.
Solución
Arquitectura hexagonal con capas independientes: Signal Engine genera señales, Risk Manager las valida contra 6+ métricas de riesgo, Execution Engine las ejecuta en IBKR. Todo orquestado por un scheduler con dashboard en tiempo real.
Logros clave
- Risk Manager multisistema: drawdown, position sizing, correlación entre activos, volatility targeting, max daily loss, y circuit breaker
- Dashboard en tiempo real con métricas de performance, Sharpe ratio, win rate, y equity curve
- Soporte multi-broker via capa de abstracción (IBKR actual, extensible a otros)
- Backtesting con walk-forward optimization y Monte Carlo simulation
- Alertas vía Telegram y Discord en cada evento crítico
Contexto
El mundo del trading algorítmico está lleno de soluciones opacas: suscripciones mensuales, estrategias secreto, sin posibilidad de auditar. Quería construir algo diferente: un sistema donde cada decisión sea trazable, cada riesgo medible, y cada estrategia intercambiable.
Arquitectura
┌────────────┐ ┌──────────────┐ ┌──────────────┐
│ Signal │───▶│ Risk │───▶│ Execution │
│ Engine │ │ Manager │ │ Engine │
└────────────┘ └──────────────┘ └──────┬───────┘
│ │
▼ ▼
┌────────────┐ ┌──────────────┐
│ Data │ │ IBKR │
│ Pipeline │ │ Gateway │
└────────────┘ └──────────────┘
│ │
└──────────────┬──────────────────────┘
▼
┌──────────────┐
│ Dashboard │
│ (FastAPI + │
│ templates) │
└──────────────┘
Capas
- Data Pipeline — Fetch de datos OHLCV, fundamental data, y eventos de mercado
- Signal Engine — Estrategias modulares (momentum, mean-reversion, breakout) con sistema de pesos
- Risk Manager — Capa transversal que valida cada señal contra límites configurables
- Execution Engine — Órdenes limit/market, TWAP, iceberg, gestión de fills
- Dashboard — FastAPI + Bootstrap, métricas en tiempo real vía WebSocket
Risk Manager en detalle
El Risk Manager es el corazón del sistema. No es un simple validador — es una capa de seguridad con 6 guardianes:
| Guardián | Función | Comportamiento |
|---|---|---|
| Drawdown Limiter | Pausa trading si drawdown > umbral | Reanuda automáticamente al recuperarse |
| Position Sizer | Calcula tamaño óptimo (Kelly, fixed, risk %) | Ajusta por volatilidad |
| Correlation Guard | Detecta sobrexposición a sectores | Limita tamaño si correlación > 0.7 |
| Volatility Target | Escala posición inversamente a la volatilidad | Usa ATR(14) como referencia |
| Daily Loss Limit | Máxima pérdida diaria | Hard stop hasta el día siguiente |
| Circuit Breaker | Pausa total si anomalía sistémica | Activación manual o automática |
Resultados
- Sharpe ratio: 1.8 en backtest walk-forward (2024-2026)
- Win rate: 62% en señales de momentum diario
- Max drawdown: 8.3% en periodo de prueba
- Disponibilidad: 99.8% en 6 meses de operación continua