Sistema de trading algorítmico en Binance Futures (testnet) con XGBoost. Su valor para el portafolio es el análisis honesto de por qué perdía: un caso de criterio, no de éxito.
- Python
- XGBoost
- scikit-learn
- PostgreSQL
- Binance API
Qué es
Un bot que parecía excelente por su precisión y perdía dinero de forma consistente en testnet. Diagnostiqué la causa raíz en vez de maquillar el número.
Cómo funciona
- La clase mayoritaria (esperar) era ~97 % de las velas, así que la precisión global no medía el acierto real en comprar o vender.
- La relación riesgo/beneficio real quedó invertida frente al diseño (stops por ATR que no calzaban con el horizonte de las señales).
- Reescribí el criterio de evaluación hacia esperanza neta por operación y profit factor fuera de muestra.
Qué aprendí
- Un accuracy alto sobre clases desbalanceadas no dice nada: hay que medir por clase.
- Medir bien el problema vale más que un número bonito en el informe.
Qué sigue
- Reetiquetado Triple Barrier y validación walk-forward antes de reactivar el motor.
En corto
- XGBoost con 28 variables, 10 activos y varios timeframes, con CircuitBreaker de capital.
- 122 operaciones en testnet con resultado negativo (−180,74 USDT, win rate ~39 %).
- La precisión reportada (~96 %) era engañosa por desbalance de clases.