ML Engine Updates: - Updated BTCUSD with Polygon API data (2024-2025): 215,699 new records - Re-trained all ML models: Attention (R²: 0.223), Base, Metamodel (87.3% confidence) - Backtest results: +176.71R profit with aggressive_filter strategy Documentation Consolidation: - Created docs/99-analisis/_MAP.md index with 13 new analysis documents - Consolidated inventories: removed duplicates from orchestration/inventarios/ - Updated ML_INVENTORY.yml with BTCUSD metrics and training results - Added execution reports: FASE11-BTCUSD, correction issues, alignment validation Architecture & Integration: - Updated all module documentation with NEXUS v3.4 frontmatter - Fixed _MAP.md indexes across all folders - Updated orchestration plans and traces Files: 229 changed, 5064 insertions(+), 1872 deletions(-) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
19 KiB
| id | title | type | project | version | updated_date |
|---|---|---|---|---|---|
| ARCHITECTURE | Architecture | Documentation | trading-platform | 1.0.0 | 2026-01-04 |
Architecture
Overview
Trading Platform es una plataforma integral de gestión de inversiones asistida por inteligencia artificial que combina money management automatizado, educación en trading, visualización de mercados y un sistema SaaS completo.
La arquitectura es de microservicios heterogéneos con servicios Node.js (backend/frontend) y Python (ML, LLM, trading agents, data) comunicándose vía REST APIs y WebSockets.
Tech Stack
Backend & Frontend
- Backend API: Express.js 5 + TypeScript + Node.js 20
- Frontend: React 18 + TypeScript + Tailwind CSS + Vite
- WebSocket: Socket.io (real-time charts, notifications)
- Database: PostgreSQL 16 (trading_platform)
- Cache: Redis 7
- Auth: JWT + Passport.js (local, OAuth2)
AI/ML Services (Python)
- ML Engine: FastAPI + PyTorch + XGBoost + scikit-learn
- LLM Agent: FastAPI + Ollama (Llama 3.1, Qwen 2.5)
- Trading Agents: FastAPI + CCXT (exchange integration)
- Data Service: FastAPI + pandas + numpy
External Services
- Payments: Stripe
- Exchanges: Binance, Bybit, OKX (via CCXT)
- LLM Models: Ollama (local deployment)
Module Structure
trading-platform/
├── apps/
│ ├── backend/ # Express.js API (TypeScript)
│ │ └── src/
│ │ ├── modules/ # Feature modules
│ │ │ ├── auth/ # Authentication (JWT, OAuth2)
│ │ │ ├── users/ # User management
│ │ │ ├── trading/ # Trading operations
│ │ │ ├── portfolio/ # Portfolio management
│ │ │ ├── investment/ # PAMM products
│ │ │ ├── education/ # Courses & gamification
│ │ │ ├── payments/ # Stripe integration
│ │ │ ├── ml/ # ML integration
│ │ │ ├── llm/ # LLM integration
│ │ │ ├── agents/ # Trading agents management
│ │ │ └── admin/ # Admin dashboard
│ │ ├── shared/ # Shared utilities
│ │ ├── config/ # Configuration
│ │ └── core/ # Core services
│ │
│ ├── frontend/ # React SPA
│ │ └── src/
│ │ ├── modules/ # Feature modules
│ │ │ ├── auth/ # Login, register
│ │ │ ├── dashboard/ # Main dashboard
│ │ │ ├── trading/ # Trading interface
│ │ │ ├── charts/ # TradingView-like charts
│ │ │ ├── portfolio/ # Portfolio view
│ │ │ ├── education/ # Courses
│ │ │ ├── agents/ # Agent monitoring
│ │ │ └── admin/ # Admin panel
│ │ ├── shared/ # Shared components
│ │ └── lib/ # Utilities
│ │
│ ├── ml-engine/ # Python ML Service
│ │ └── src/
│ │ ├── models/ # ML models
│ │ │ ├── amd_detector/ # Smart Money detector (CNN+LSTM+XGBoost)
│ │ │ ├── range_predictor/ # Price range prediction
│ │ │ └── signal_generator/ # Trading signals
│ │ ├── pipelines/ # Training pipelines
│ │ ├── backtesting/ # Backtesting engine
│ │ ├── features/ # Feature engineering
│ │ └── api/ # FastAPI endpoints
│ │
│ ├── llm-agent/ # Python LLM Service (Copilot)
│ │ └── src/
│ │ ├── core/ # LLM core (Ollama client)
│ │ ├── tools/ # 12 trading tools
│ │ │ ├── market_analysis.py
│ │ │ ├── technical_indicators.py
│ │ │ ├── sentiment_analysis.py
│ │ │ └── ...
│ │ ├── prompts/ # System prompts
│ │ └── api/ # FastAPI endpoints
│ │
│ ├── trading-agents/ # Python Trading Agents (Atlas, Orion, Nova)
│ │ └── src/
│ │ ├── agents/ # Agent implementations
│ │ │ ├── atlas/ # Conservador (3-5% mensual)
│ │ │ ├── orion/ # Moderado (5-10% mensual)
│ │ │ └── nova/ # Agresivo (10%+ mensual)
│ │ ├── strategies/ # Trading strategies
│ │ │ ├── mean_reversion.py
│ │ │ ├── trend_following.py
│ │ │ ├── breakout.py
│ │ │ └── ...
│ │ ├── exchange/ # Exchange integration (CCXT)
│ │ └── risk/ # Risk management
│ │
│ ├── data-service/ # Python Data Service (⚠️ 20% completo)
│ │ └── src/
│ │ ├── providers/ # Data providers
│ │ │ ├── binance.py
│ │ │ ├── yahoo_finance.py
│ │ │ └── ...
│ │ ├── aggregation/ # Data aggregation
│ │ └── api/ # FastAPI endpoints
│ │
│ └── database/ # PostgreSQL
│ └── ddl/
│ └── schemas/ # 8 schemas, 98 tables
│ ├── auth/
│ ├── trading/
│ ├── investment/
│ ├── financial/
│ ├── education/
│ ├── llm/
│ ├── ml/
│ └── audit/
│
├── packages/ # Shared code
│ ├── sdk-typescript/ # SDK for Node.js
│ ├── sdk-python/ # SDK for Python services
│ ├── config/ # Shared configuration
│ └── types/ # Shared types
│
├── docker/ # Docker configurations
├── docs/ # Documentation
└── orchestration/ # NEXUS agent system
Database Schemas (8 schemas, 98 tables)
| Schema | Purpose | Tables | Key Entities |
|---|---|---|---|
| auth | Authentication & Users | 10 | users, sessions, oauth_accounts, roles |
| trading | Trading Operations | 10 | orders, positions, symbols, trades |
| investment | PAMM Products | 7 | pamm_accounts, investors, performance |
| financial | Payments & Wallets | 10 | wallets, transactions, stripe_payments |
| education | Courses & Gamification | 14 | courses, lessons, quizzes, achievements |
| llm | LLM Conversations | 5 | conversations, messages, tools_usage |
| ml | ML Models & Predictions | 5 | models, predictions, backtests |
| audit | Logs & Auditing | 7 | api_logs, user_activity, system_events |
Data Flow Architecture
┌──────────────┐
│ Frontend │ (React SPA - Port 3080)
│ (Browser) │
└──────┬───────┘
│ HTTP/WebSocket
▼
┌─────────────────────────────────────────────┐
│ Backend API (Express.js) │
│ Port 3081 │
│ ┌─────────────────────────────────────┐ │
│ │ REST Controllers │ │
│ └──────┬─────────────────────┬────────┘ │
│ │ │ │
│ ▼ ▼ │
│ ┌─────────────┐ ┌─────────────┐ │
│ │ Services │ │ Services │ │
│ │ (Auth, │ │ (Trading, │ │
│ │ Users) │ │ Payments) │ │
│ └─────┬───────┘ └──────┬──────┘ │
│ │ │ │
└────────┼─────────────────────┼──────────────┘
│ │
│ ┌─────────────────┼──────────────┐
│ │ │ │
▼ ▼ ▼ ▼
┌─────────────────┐ ┌──────────────┐ ┌──────────────┐
│ PostgreSQL │ │ ML Engine │ │ LLM Agent │
│ (Database) │ │ (Python) │ │ (Python) │
│ │ │ Port 3083 │ │ Port 3085 │
└─────────────────┘ └──────┬───────┘ └──────┬───────┘
│ │
▼ ▼
┌──────────────┐ ┌──────────────┐
│ Data Service │ │ Ollama │
│ (Python) │ │ WebUI │
│ Port 3084 │ │ Port 3087 │
└──────────────┘ └──────────────┘
Service Communication
Frontend (3080)
↓ HTTP/WS
Backend API (3081)
↓ HTTP
├─→ ML Engine (3083) [Price predictions, AMD detection]
├─→ LLM Agent (3085) [Trading copilot, analysis]
├─→ Trading Agents (3086) [Automated trading]
└─→ Data Service (3084) [Market data]
Trading Agents (3086)
↓ CCXT
└─→ Exchanges (Binance, Bybit, OKX)
LLM Agent (3085)
↓ HTTP
└─→ Ollama (8000) [Local LLM inference]
Real-time Data Flow
Exchange WebSocket (Binance)
↓
Data Service (3084)
↓ Process & Normalize
Backend API (3081)
↓ WebSocket
Frontend (3080)
↓ Render
TradingView-like Charts
Key Design Decisions
1. Microservices Architecture (Heterogeneous)
Decision: Separar servicios por lenguaje según especialización.
Rationale:
- Node.js para API y web (mejor I/O async)
- Python para ML/AI (ecosistema superior: PyTorch, scikit-learn, CCXT)
- Escalabilidad independiente por servicio
- Equipos especializados por stack
Trade-offs:
- Mayor complejidad operacional
- Necesita orquestación (Docker Compose)
- Múltiples runtimes (Node.js + Python)
2. Multi-Agent Trading System (Atlas, Orion, Nova)
Decision: 3 agentes con perfiles de riesgo diferenciados.
Rationale:
- Diversificación de estrategias
- Atractivo para diferentes tipos de inversionistas
- Competencia interna mejora algoritmos
Profiles:
- Atlas (Conservador): Target 3-5% mensual, max drawdown 5%
- Orion (Moderado): Target 5-10% mensual, max drawdown 10%
- Nova (Agresivo): Target 10%+ mensual, max drawdown 20%
3. Ensemble ML Models (CNN + LSTM + XGBoost)
Decision: Combinar múltiples modelos para detección AMD (Smart Money).
Rationale:
- CNN detecta patrones visuales en charts
- LSTM captura series temporales
- XGBoost para features tabulares
- Ensemble reduce overfitting
Accuracy: ~75% en backtesting (2020-2024)
4. Local LLM with Ollama
Decision: Usar Ollama para deployment local de LLMs (Llama 3.1, Qwen 2.5).
Rationale:
- Privacidad (no enviar datos a APIs externas)
- Costos predecibles (no pagar por token)
- Latencia baja
- Control total sobre modelos
Trade-off: Requiere GPU para inference rápida
5. PAMM (Percentage Allocation Management Module)
Decision: Implementar sistema PAMM para inversión colectiva.
Rationale:
- Permite a usuarios sin conocimiento invertir con los agentes
- Comisiones por performance (incentiva buenos resultados)
- Escalabilidad del modelo de negocio
Status: 60% implementado
6. Gamified Education Platform
Decision: Gamificar cursos de trading con puntos, logros y rankings.
Rationale:
- Aumenta engagement
- Acelera aprendizaje
- Atrae usuarios jóvenes
- Diferenciador vs competencia
7. PostgreSQL with Schema-based Multi-tenancy
Decision: Usar schemas PostgreSQL para separación lógica.
Rationale:
- Aislamiento claro por dominio
- Facilita migraciones por schema
- Mejor organización que tablas planas
- RLS (Row-Level Security) para multi-tenancy futuro
Dependencies
Critical External Dependencies
| Dependency | Purpose | Criticality | Replacement |
|---|---|---|---|
| PostgreSQL 16 | Database | CRITICAL | MySQL, MongoDB |
| Redis 7 | Caching, sessions | HIGH | Memcached |
| Stripe | Payments | CRITICAL | PayPal, Razorpay |
| CCXT | Exchange APIs | CRITICAL | Custom integration |
| Ollama | Local LLM | HIGH | OpenAI API, Claude |
| Binance API | Market data | CRITICAL | Yahoo Finance, Alpha Vantage |
Internal Service Dependencies
Backend API depends on:
├─ PostgreSQL (database)
├─ Redis (cache)
├─ ML Engine (predictions)
├─ LLM Agent (copilot)
└─ Trading Agents (automated trading)
ML Engine depends on:
├─ PostgreSQL (model storage)
└─ Data Service (market data)
LLM Agent depends on:
├─ Ollama (LLM inference)
└─ Backend API (user context)
Trading Agents depend on:
├─ PostgreSQL (orders, positions)
├─ ML Engine (signals)
└─ Exchanges (CCXT)
Security Considerations
Ver documentación completa: SECURITY.md
Highlights:
- JWT authentication con refresh tokens
- OAuth2 (Google, Facebook, Apple, GitHub)
- 2FA con TOTP (Speakeasy)
- API rate limiting (express-rate-limit)
- Helmet.js para headers de seguridad
- Password hashing con bcrypt
- Input validation con Zod
- SQL injection protection (parameterized queries)
- CORS configurado por entorno
- Stripe webhooks con signature verification
- API keys para servicios internos
Performance Optimizations
Backend
- Redis caching para queries frecuentes
- Connection pooling (PostgreSQL)
- Compression middleware
- Response pagination
- WebSocket para real-time (evita polling)
ML Engine
- Model caching (evita reload)
- Batch predictions
- Feature pre-computation
- GPU acceleration (PyTorch CUDA)
Frontend
- Code splitting (React lazy)
- Image optimization
- Service Worker (PWA)
- Debouncing en inputs
- Virtual scrolling para listas largas
Database
- Indexes en columnas frecuentes
- Partitioning en tablas grandes
- EXPLAIN ANALYZE para optimización
- Connection pooling
Deployment Strategy
Current: Development environment con Docker Compose
Puertos:
- Frontend: 3080
- Backend: 3081
- WebSocket: 3082
- ML Engine: 3083
- Data Service: 3084
- LLM Agent: 3085
- Trading Agents: 3086
- Ollama WebUI: 3087
Future Production:
- Kubernetes para orquestación
- Load balancer (Nginx/Traefik)
- Auto-scaling por servicio
- Multi-region deployment
Monitoring & Observability
Implemented:
- Winston logging (Backend)
- Python logging (ML services)
- Health check endpoints
Planned:
- Prometheus + Grafana
- Sentry error tracking
- Datadog APM
- Custom dashboards por agente de trading
ML Models Overview
1. AMD Detector (Accumulation-Manipulation-Distribution)
Purpose: Detectar fases de Smart Money en el mercado
Architecture:
- CNN: Detecta patrones en candlestick charts (imágenes)
- LSTM: Series temporales de precio/volumen
- XGBoost: Features técnicos (RSI, MACD, etc.)
- Ensemble: Voting classifier
Input:
- Historical OHLCV (200 candles)
- Technical indicators (20+)
- Volume profile
Output:
- Phase: Accumulation | Manipulation | Distribution | Re-accumulation
- Confidence: 0.0 - 1.0
Training: Supervised learning con datos etiquetados manualmente (2020-2024)
2. Range Predictor
Purpose: Predecir rango de precio futuro (soporte/resistencia)
Algorithm: XGBoost Regressor
Features:
- Fibonacci levels
- Previous support/resistance
- Volume at price
- Market structure
Output:
- Support level (precio)
- Resistance level (precio)
- Probability distribution
3. Signal Generator
Purpose: Generar señales de compra/venta
Architecture: Neural Network + Technical Analysis
Inputs:
- AMD phase
- Predicted range
- Technical indicators
- Sentiment analysis
Output:
- Signal: BUY | SELL | HOLD
- Strength: 0-100
- Entry/Stop/Target prices
Trading Agents Strategies
Atlas (Conservador)
Strategies:
- Mean Reversion en rangos
- Grid Trading en lateralización
- High probability setups only
Risk Management:
- Max 2% por trade
- Stop loss estricto
- Daily drawdown limit: 1%
Orion (Moderado)
Strategies:
- Trend Following
- Breakout trading
- Swing trading
Risk Management:
- Max 3% por trade
- Trailing stops
- Weekly drawdown limit: 5%
Nova (Agresivo)
Strategies:
- Momentum scalping
- High frequency entries
- Leverage (2x-5x)
Risk Management:
- Max 5% por trade
- Wide stops
- Monthly drawdown limit: 15%
LLM Agent (Copilot) Tools
El copiloto tiene 12 herramientas especializadas:
- market_analysis - Análisis técnico completo
- technical_indicators - Cálculo de indicadores
- sentiment_analysis - Sentiment de noticias/social
- price_prediction - Predicciones ML
- risk_calculator - Cálculo de riesgo/recompensa
- portfolio_optimizer - Optimización de portafolio
- backtest_strategy - Backtesting de estrategias
- news_fetcher - Noticias relevantes
- correlation_matrix - Correlación entre activos
- volatility_analyzer - Análisis de volatilidad
- order_book_analyzer - Análisis de order book
- whale_tracker - Tracking de movimientos grandes
Future Improvements
Short-term (Q1 2025)
- Completar data-service (actualmente 20%)
- Implementar tests unitarios (Jest, Pytest)
- Agregar retry/circuit breaker entre servicios
- Documentar APIs con OpenAPI/Swagger
Medium-term (Q2-Q3 2025)
- Implementar KYC/AML compliance
- Agregar más exchanges (Kraken, Coinbase)
- Mobile app (React Native)
- Notificaciones push
- Sistema de referidos
Long-term (Q4 2025+)
- Copy trading entre usuarios
- Social trading features
- Marketplace de estrategias
- API pública para terceros
- White-label solution