🎯 Trading algorítmico automatizado en la nube con un solo clic
Ejecuta estrategias de PyRoboAdvisor con Interactive Brokers directamente desde tu navegador
La primera implementación completa de PyRoboAdvisor + IB Gateway funcionando en GitHub Codespaces.
🎉 Sin instalaciones locales • 🔒 Entorno seguro • ⚡ Setup automático • 🌐 Acceso desde navegador
| 🎯 Funcionalidad | 📋 Descripción | 🔗 Acceso |
|---|---|---|
| 🤖 PyRoboAdvisor | Estrategias algorítmicas S&P 500 | API integrada |
| 📊 IB Gateway | Conexión Interactive Brokers | Puerto 4002 |
| 🖥️ VNC Desktop | Acceso gráfico remoto | http://localhost:6080 |
| 📈 Paper Trading | Trading seguro sin riesgo | Modo simulación |
| 🛠️ Auto-Setup | Instalación completamente automática | Un solo clic |
- Haz clic en el botón verde
Codeen este repositorio - Selecciona la pestaña
Codespaces - Clic en
Create codespace on codespaces2
GitHub.com → Tu Repo → Code → Codespaces → Create codespace
El sistema instalará automáticamente:
🚀 Configuración COMPLETA de IB Trading en Codespaces
=====================================================
[INFO] Actualizando sistema y dependencias...
[INFO] Creando estructura de directorios...
[INFO] Instalando librerías Python básicas...
[INFO] Instalando requirements específicos del proyecto...
[INFO] Configurando VNC...
[INFO] Descargando e instalando IB Gateway...
[INFO] Creando scripts de automatización...
[OK] ✅ CONFIGURACIÓN COMPLETA TERMINADA!⏱️ Tiempo total: 3-5 minutos la primera vez
Important
Cuando veas el mensaje "CONFIGURACIÓN COMPLETA TERMINADA":
- 🔴 Cierra completamente el Codespace (botón X o cerrar pestaña)
- 🔵 Vuelve al repositorio en GitHub
- 🟢 Reconecta al Codespace desde Code → Codespaces →
Reconnect
¿Por qué es necesario? Los aliases y comandos personalizados solo se cargan en nuevas sesiones de terminal.
Una vez reconectado, tendrás estos super comandos disponibles:
start-trading # 🎯 Inicia TODO el sistema (Display + IB Gateway)
start-display # 🖥️ Solo display virtual y VNC
start-ib # 📊 Solo IB Gatewayib-logs # 📋 Ver logs de IB Gateway en tiempo real
show-ports # 🌐 Mostrar puertos activos del sistema
check-system # 🔧 Verificación completa del estadoproyecto # 📂 Ir al directorio del proyecto
driver # 🔌 Ir al directorio del driver IB
market # 📈 Ir a módulos de mercado
trading-dir # 🏠 Ir al directorio tradingstart-tradingResultado esperado:
🚀 Iniciando sistema completo de trading...
[INFO] Configurando display virtual...
[OK] Xvfb ya está corriendo y funcionando
[OK] VNC server ya está corriendo
[OK] Display virtual configurado!
[OK] IB Gateway iniciado - PID: 1234
✅ Sistema listo!- Abre en nueva pestaña: http://localhost:6080
- Haz clic en "Connect" en la interfaz VNC
- Verás el escritorio virtual con IB Gateway
En la ventana de IB Gateway:
| Campo | Valor |
|---|---|
| API Type | IB API ✅ |
| Trading Mode | Paper Trading ✅ |
| Username | Tu usuario IB |
| Password | Tu contraseña IB |
Haz clic en "Log In"
Después del login exitoso:
- Menu → Configure → Settings → API
- Configurar:
- ✅ Enable ActiveX and Socket Clients
- ❌ Read-Only API (desmarcar)
- 🔢 Socket port:
4002 - 🏠 Trusted IPs:
127.0.0.1
- Apply → OK
# Ir al proyecto
proyecto
# Configurar credenciales en sample.py (si es necesario)
code sample.py
# Ejecutar trading bot
python3 sample.py| 🎯 Servicio | 📡 Puerto | 🔗 URL/Dirección | 📋 Descripción |
|---|---|---|---|
| 🖥️ noVNC Desktop | 6080 | http://localhost:6080 | Escritorio virtual en navegador |
| 📺 VNC Server | 5901 | localhost:5901 | Servidor VNC nativo |
| 📊 IB API Paper | 4002 | localhost:4002 | API Interactive Brokers Paper Trading |
| 🔄 IB API Live | 4001 | localhost:4001 | API Interactive Brokers Live Trading |
| 🎛️ Dashboard | 8080 | http://localhost:8080 | Dashboard de trading (futuro) |
ib-trading-codespaces/
├── 📁 .devcontainer/ # Configuración Codespaces
│ ├── devcontainer.json # Configuración del entorno
│ ├── setup.sh # Setup básico
│ └── complete-setup.sh # Setup completo automatizado
├── 📁 driver/ # Driver Interactive Brokers
│ ├── driverIB.py # Conexión con IB Gateway
│ └── requirements.txt # Dependencias del driver
├── 📁 market/ # Módulos de mercado
│ ├── source.py # Fuentes de datos
│ ├── simulator.py # Simulador de trading
│ └── evaluacion.py # Evaluación de estrategias
├── 📄 sample.py # Script principal de trading
├── 📄 strategyClient.py # Cliente PyRoboAdvisor
├── 📄 requirements.txt # Dependencias del proyecto
└── 📄 README.md # Esta documentación
# Verificar que IB Gateway esté corriendo
check-system
# Si no está corriendo, iniciarlo
start-ib
# Verificar login en VNC
# http://localhost:6080# Reiniciar display virtual
start-display
# Verificar puertos
show-ports# Verificar instalaciones
python3 -c "import yfinance, ib_insync; print('✅ OK')"
# Reinstalar si es necesario
pip3 install --user -r requirements.txt
cd driver && pip3 install --user -r requirements.txt# Es un límite de la API de PyRoboAdvisor
# Opciones:
# 1. Esperar al día siguiente
# 2. Usar otra licencia
# 3. Comentar la línea en sample.py# Estado completo del sistema
check-system
# Logs detallados de IB Gateway
ib-logs
# Verificar conexión API
python3 -c "
from ib_insync import IB
ib = IB()
try:
ib.connect('127.0.0.1', 4002, clientId=1)
print('✅ API conectada')
print('Cuentas:', ib.managedAccounts())
ib.disconnect()
except Exception as e:
print('❌ Error:', e)
"Simulación histórica exitosa:
TAE: 35.13% DDPP: 96.46%/60.21%
2024-07-05 Value: $441653 $93284 AMD/476 DXCM/633 ENPH/168Conexión IB Gateway exitosa:
✅ Conectado a IB Gateway!
💰 Cash disponible: 1000324.16 EUR
📊 Portfolio: 0 posiciones activas
Comprar:
82 acciones de SMCI a 46.73
[BUY-LMT] 82 SMCI @ 46.73
Vender:
23 acciones de AMZN a 213.71
[SELL-LMT] 23 AMZN @ 213.71Warning
Paper Trading Únicamente
Esta configuración está optimizada para Paper Trading. Para trading real:
- Cambia puerto a
4001en el código - Configura límites de riesgo adicionales
- Prueba extensivamente en paper trading primero
Note
Límites de PyRoboAdvisor
- Una llamada a
set_portfoliopor día con licencia gratuita - Para uso intensivo, considera obtener licencia comercial
¡Las contribuciones son bienvenidas!
- 🎨 Dashboard web para monitoreo
- 🔧 Soporte para más brokers
- 📊 Métricas avanzadas de trading
- 🚨 Sistema de alertas
- 📱 Interfaz móvil
- Fork el repositorio
- Crea una rama:
git checkout -b feature/nueva-funcionalidad - Commit:
git commit -m 'Añadir nueva funcionalidad' - Push:
git push origin feature/nueva-funcionalidad - Abre un Pull Request
Este proyecto está bajo la licencia MIT. Ver LICENSE para más detalles.
- David Ragel Díaz-Jara por PyRoboAdvisor y su visión del trading algorítmico
- Interactive Brokers por su robusta API
- GitHub por Codespaces y la democratización del desarrollo en la nube
- Comunidad open source que hace posible estos proyectos
- 📧 Issues: Abrir issue en GitHub
- 💬 Discord: Únete a la comunidad PyRoboAdvisor
- 📚 Documentación: PyRoboAdvisor.org