226 lines
7.4 KiB
Markdown
226 lines
7.4 KiB
Markdown
# OrbiQuant IA - Trading Platform
|
|
|
|
## Descripción
|
|
|
|
**OrbiQuant IA** es una plataforma integral de gestión de inversiones asistida por inteligencia artificial que combina:
|
|
|
|
- **Money Manager con IA**: Agentes que gestionan cuentas de trading e inversión con diferentes perfiles de riesgo (conservador, moderado, agresivo)
|
|
- **Plataforma Educativa**: Cursos de trading accesibles generados con IA
|
|
- **TradingView Privado**: Visualización de gráficos, predicciones ML y señales en tiempo real
|
|
- **Sistema SaaS**: Suscripciones, pagos con Stripe y wallets internos
|
|
|
|
## Estado del Proyecto
|
|
|
|
- **Estado:** MVP en desarrollo avanzado (~50%)
|
|
- **Código:** 58,000+ líneas en producción
|
|
- **Servicios:** 7 aplicaciones funcionando
|
|
- **Última actualización:** 2025-12-08
|
|
|
|
## Stack Tecnológico
|
|
|
|
| Componente | Tecnología | Puerto |
|
|
|------------|------------|--------|
|
|
| Frontend | React 18 + TypeScript + Tailwind CSS | 3080 |
|
|
| Backend API | Express.js 5 + Node.js 20 | 3081 |
|
|
| WebSocket | Real-time (charts, notifications) | 3082 |
|
|
| ML Engine | Python + FastAPI + PyTorch/XGBoost | 3083 |
|
|
| Data Service | Python + FastAPI | 3084 |
|
|
| LLM Agent | Python + FastAPI + Ollama | 3085 |
|
|
| Trading Agents | Python + FastAPI + CCXT | 3086 |
|
|
| Ollama WebUI | Interfaz gestión modelos LLM | 3087 |
|
|
| Database | PostgreSQL 16 (orbiquant_platform) | 5432 |
|
|
| Cache | Redis 7 | 6379 |
|
|
|
|
## Estructura del Proyecto
|
|
|
|
```
|
|
trading-platform/
|
|
├── apps/ # Aplicaciones
|
|
│ ├── backend/ # API principal (Express.js)
|
|
│ │ └── src/
|
|
│ │ ├── modules/ # Módulos por funcionalidad
|
|
│ │ │ ├── auth/ # Autenticación
|
|
│ │ │ ├── users/ # Usuarios
|
|
│ │ │ ├── trading/ # Trading
|
|
│ │ │ ├── portfolio/ # Portafolios
|
|
│ │ │ ├── education/ # Educación
|
|
│ │ │ ├── payments/ # Pagos (Stripe)
|
|
│ │ │ ├── ml/ # Integración ML
|
|
│ │ │ ├── llm/ # Integración LLM
|
|
│ │ │ └── admin/ # Administración
|
|
│ │ └── shared/ # Compartido
|
|
│ │
|
|
│ ├── frontend/ # UI (React)
|
|
│ │ └── src/
|
|
│ │ └── modules/ # Módulos UI
|
|
│ │
|
|
│ ├── ml-engine/ # Servicio ML (Python)
|
|
│ │ └── src/
|
|
│ │ ├── models/ # Modelos ML
|
|
│ │ ├── pipelines/ # Pipelines de entrenamiento
|
|
│ │ ├── backtesting/ # Motor de backtesting
|
|
│ │ └── api/ # Endpoints FastAPI
|
|
│ │
|
|
│ ├── llm-agent/ # Copiloto IA (Python)
|
|
│ │ └── src/
|
|
│ │ ├── core/ # Core LLM
|
|
│ │ ├── tools/ # 12 herramientas de trading
|
|
│ │ └── prompts/ # System prompts
|
|
│ │
|
|
│ ├── trading-agents/ # Agentes de trading (Python)
|
|
│ │ └── src/
|
|
│ │ ├── agents/ # Atlas, Orion, Nova
|
|
│ │ ├── strategies/ # Estrategias de trading
|
|
│ │ └── exchange/ # Integración exchanges
|
|
│ │
|
|
│ ├── data-service/ # Datos de mercado (Python) ⚠️ INCOMPLETO
|
|
│ │ └── src/
|
|
│ │ └── providers/ # Proveedores de datos
|
|
│ │
|
|
│ └── database/ # PostgreSQL
|
|
│ └── ddl/
|
|
│ └── schemas/ # 8 schemas, 98 tablas
|
|
│
|
|
├── packages/ # Código compartido
|
|
│ ├── sdk-typescript/ # SDK para frontend/backend
|
|
│ ├── sdk-python/ # SDK para servicios Python
|
|
│ ├── config/ # Configuración centralizada
|
|
│ └── types/ # Tipos compartidos
|
|
│
|
|
├── docker/ # Configuración Docker
|
|
│ └── docker-compose.yml
|
|
│
|
|
├── docs/ # Documentación
|
|
└── orchestration/ # Sistema de agentes NEXUS
|
|
```
|
|
|
|
## Agentes de Trading
|
|
|
|
| Agente | Perfil | Target Mensual | Max Drawdown | Estrategias |
|
|
|--------|--------|----------------|--------------|-------------|
|
|
| **Atlas** | Conservador | 3-5% | 5% | Mean Reversion, Grid Trading |
|
|
| **Orion** | Moderado | 5-10% | 10% | Trend Following, Breakouts |
|
|
| **Nova** | Agresivo | 10%+ | 20% | Momentum, Scalping |
|
|
|
|
## Modelos ML
|
|
|
|
| Modelo | Propósito | Algoritmos |
|
|
|--------|-----------|------------|
|
|
| AMD Detector | Detectar fases Smart Money | CNN + LSTM + XGBoost Ensemble |
|
|
| Range Predictor | Predecir rangos de precio | XGBoost, Random Forest |
|
|
| Signal Generator | Generar señales de trading | Neural Network + Technical Analysis |
|
|
|
|
## Base de Datos (8 Schemas)
|
|
|
|
| Schema | Propósito | Tablas |
|
|
|--------|-----------|--------|
|
|
| `auth` | Autenticación y usuarios | 10 |
|
|
| `trading` | Trading y órdenes | 10 |
|
|
| `investment` | Productos PAMM | 7 |
|
|
| `financial` | Pagos y wallets | 10 |
|
|
| `education` | Cursos y gamificación | 14 |
|
|
| `llm` | Conversaciones IA | 5 |
|
|
| `ml` | Modelos y predicciones | 5 |
|
|
| `audit` | Logs y auditoría | 7 |
|
|
|
|
## Inicio Rápido
|
|
|
|
### Requisitos
|
|
- Node.js 20+
|
|
- Python 3.10+
|
|
- PostgreSQL 16+
|
|
- Redis 7+
|
|
- Docker & Docker Compose
|
|
|
|
### Instalación
|
|
|
|
```bash
|
|
# Clonar e instalar
|
|
cd /home/isem/workspace/projects/trading-platform
|
|
|
|
# Backend
|
|
cd apps/backend
|
|
npm install
|
|
cp .env.example .env
|
|
npm run dev
|
|
|
|
# Frontend
|
|
cd ../frontend
|
|
npm install
|
|
cp .env.example .env
|
|
npm run dev
|
|
|
|
# Servicios Python
|
|
cd ../ml-engine
|
|
python -m venv venv
|
|
source venv/bin/activate
|
|
pip install -r requirements.txt
|
|
uvicorn src.main:app --port 8001
|
|
|
|
# Con Docker (recomendado)
|
|
docker-compose up -d
|
|
```
|
|
|
|
## Uso del SDK
|
|
|
|
### TypeScript
|
|
```typescript
|
|
import { OrbiQuantClient } from '@orbiquant/sdk-typescript';
|
|
|
|
const client = new OrbiQuantClient({
|
|
baseUrl: 'http://localhost:3000',
|
|
});
|
|
|
|
// Login
|
|
await client.auth.login({ email, password });
|
|
|
|
// Obtener señales
|
|
const signals = await client.ml.getSignals({ symbol: 'BTCUSDT' });
|
|
|
|
// Chat con copiloto
|
|
const response = await client.ml.chat({
|
|
message: '¿Qué opinas del BTC ahora?',
|
|
});
|
|
```
|
|
|
|
### Python
|
|
```python
|
|
from orbiquant_sdk import OrbiQuantClient, Config
|
|
|
|
config = Config.from_env()
|
|
async with OrbiQuantClient(config) as client:
|
|
# Obtener predicción
|
|
prediction = await client.get_prediction("BTCUSDT", "1h")
|
|
|
|
# Chat con LLM
|
|
response = await client.chat("Analiza el mercado de ETH")
|
|
```
|
|
|
|
## Tareas Pendientes
|
|
|
|
### Crítico (P0)
|
|
- [ ] Completar data-service (actualmente ~20%)
|
|
- [ ] Agregar tests unitarios
|
|
- [ ] Implementar retry/circuit breaker entre servicios
|
|
|
|
### Alto (P1)
|
|
- [ ] Documentar APIs (OpenAPI)
|
|
- [ ] Implementar métricas Prometheus
|
|
- [ ] Completar sistema PAMM
|
|
|
|
### Medio (P2)
|
|
- [ ] KYC/AML
|
|
- [ ] Notificaciones push
|
|
- [ ] Exportación de reportes
|
|
|
|
## Documentación
|
|
|
|
- [Análisis de Migración e Integración](./docs/00-overview/ANALISIS-MIGRACION-INTEGRACION.md)
|
|
- [Requerimientos MVP](./docs/00-overview/REQUERIMIENTOS-MVP-ORBIQUANT.md)
|
|
- [Servicios](./SERVICES.md)
|
|
- [Próxima Acción](./orchestration/PROXIMA-ACCION.md)
|
|
|
|
---
|
|
*Proyecto parte del workspace de Fábrica de Software con Agentes IA*
|
|
*Directivas: `/home/isem/workspace/core/orchestration/directivas/`*
|