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>
21 KiB
21 KiB
| id | title | type | project | version | updated_date |
|---|---|---|---|---|---|
| ARQUITECTURA-GENERAL | Arquitectura General - Trading Platform | Documentation | trading-platform | 1.0.0 | 2026-01-04 |
Arquitectura General - Trading Platform
Version: 1.0.0 Fecha: 2025-12-05 Estado: Aprobado ADR Relacionado: ADR-002
Vista de Alto Nivel
┌─────────────────────────────────────────────────────────────────────────┐
│ CLIENTES │
├─────────────────────────────────────────────────────────────────────────┤
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ Web App │ │ Mobile App │ │ Admin Panel│ │
│ │ (React) │ │(React Native│ │ (React) │ │
│ └──────┬──────┘ └──────┬──────┘ └──────┬──────┘ │
└──────────┼──────────────────┼──────────────────┼────────────────────────┘
│ │ │
└──────────────────┼──────────────────┘
│ HTTPS
▼
┌─────────────────────────────────────────────────────────────────────────┐
│ API GATEWAY │
│ (Express.js + Rate Limiting) │
│ ┌───────────────────────────────────────────────────────────────────┐ │
│ │ /api/v1/auth /api/v1/education /api/v1/trading ... │ │
│ └───────────────────────────────────────────────────────────────────┘ │
└─────────────────────────────┬───────────────────────────────────────────┘
│
┌──────────────────┼──────────────────┐
│ │ │
▼ ▼ ▼
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ BACKEND API │ │ ML ENGINE │ │ EXTERNAL APIs │
│ (Express.js) │ │ (FastAPI) │ │ │
│ │ │ │ │ - Stripe │
│ - Auth Module │ │ - Predictions │ │ - Twilio │
│ - Education │ │ - Signals │ │ - Market Data │
│ - Trading │ │ - Training │ │ - OAuth │
│ - Investment │ │ │ │ │
│ - Payments │ │ │ │ │
│ - Admin │ │ │ │ │
└────────┬────────┘ └────────┬────────┘ └─────────────────┘
│ │
│ │
▼ ▼
┌─────────────────────────────────────────────────────────────────────────┐
│ DATA LAYER │
│ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │
│ │ PostgreSQL │ │ Redis │ │ File Storage │ │
│ │ (7 schemas) │ │ (Cache) │ │ (S3/Minio) │ │
│ │ │ │ │ │ │ │
│ │ - public │ │ - Sessions │ │ - Documents │ │
│ │ - education │ │ - Rate limits │ │ - Avatars │ │
│ │ - trading │ │ - ML cache │ │ - Courses │ │
│ │ - investment │ │ - Real-time │ │ - Exports │ │
│ │ - financial │ │ │ │ │ │
│ │ - ml │ │ │ │ │ │
│ │ - audit │ │ │ │ │ │
│ └─────────────────┘ └─────────────────┘ └─────────────────┘ │
└─────────────────────────────────────────────────────────────────────────┘
Arquitectura por Capas
1. Capa de Presentacion (Frontend)
apps/frontend/
├── src/
│ ├── components/ # Componentes reutilizables
│ │ ├── common/ # Buttons, inputs, modals
│ │ ├── layout/ # MainLayout, AuthLayout
│ │ └── charts/ # Trading charts
│ │
│ ├── modules/ # Feature modules
│ │ ├── auth/ # Login, Register, OAuth
│ │ ├── dashboard/ # Dashboard principal
│ │ ├── education/ # Cursos, lecciones
│ │ ├── trading/ # Charts, signals
│ │ ├── investment/ # Cuentas, agentes
│ │ └── settings/ # Configuracion
│ │
│ ├── stores/ # Zustand stores
│ ├── hooks/ # Custom hooks
│ ├── services/ # API clients
│ └── utils/ # Helpers
Tecnologias:
- React 18 + TypeScript
- Vite (bundler)
- TanStack Query (data fetching)
- Zustand (state management)
- Tailwind CSS (styling)
- Lightweight Charts (trading charts)
2. Capa de Aplicacion (Backend API)
apps/backend/
├── src/
│ ├── modules/ # Domain modules
│ │ ├── auth/ # Autenticacion
│ │ │ ├── controllers/
│ │ │ ├── services/
│ │ │ ├── types/
│ │ │ └── validators/
│ │ ├── education/ # Cursos
│ │ ├── trading/ # Trading
│ │ ├── investment/ # Inversiones
│ │ ├── payments/ # Pagos
│ │ └── admin/ # Administracion
│ │
│ ├── core/ # Cross-cutting
│ │ ├── middleware/ # Auth, rate-limit, error
│ │ ├── guards/ # Role guards
│ │ └── decorators/ # Custom decorators
│ │
│ ├── shared/ # Shared utilities
│ │ ├── database/ # DB connection
│ │ └── utils/ # Logger, helpers
│ │
│ └── config/ # Configuration
Tecnologias:
- Express.js 4.18 + TypeScript
- PostgreSQL (pg driver)
- Redis (caching)
- JWT (auth)
- Zod (validation)
3. Capa de ML (ML Engine)
apps/ml-engine/
├── src/
│ ├── models/ # ML Models
│ │ ├── range_predictor.py
│ │ ├── tp_sl_classifier.py
│ │ └── signal_generator.py
│ │
│ ├── data/ # Data processing
│ │ ├── features.py
│ │ ├── targets.py
│ │ └── indicators.py
│ │
│ ├── api/ # FastAPI endpoints
│ │ └── main.py
│ │
│ └── training/ # Training pipelines
│ ├── walk_forward.py
│ └── hyperparameter.py
│
├── config/ # Model configs
└── notebooks/ # Jupyter notebooks
Tecnologias:
- Python 3.11+
- FastAPI
- XGBoost
- Pandas, NumPy
- Scikit-learn
4. Capa de Datos
apps/database/
├── schemas/
│ ├── 00_init_schemas.sql # Extensions, types
│ ├── 01_public_schema.sql # Users, profiles
│ ├── 01b_oauth_providers.sql # OAuth accounts
│ ├── 02_education_schema.sql # Courses, lessons
│ ├── 03_trading_schema.sql # Bots, signals
│ ├── 04_investment_schema.sql # Accounts, products
│ ├── 05_financial_schema.sql # Subscriptions, wallets
│ ├── 06_ml_schema.sql # Models, predictions
│ └── 07_audit_schema.sql # Audit logs
│
├── migrations/ # Migraciones
├── seeds/ # Datos iniciales
└── scripts/ # Utilidades
Patrones de Arquitectura
1. Modular Monolith
El backend sigue un patron de monolito modular, donde cada dominio es un modulo independiente pero desplegado como una sola unidad.
Ventajas:
✅ Simplicidad de despliegue
✅ Transacciones ACID nativas
✅ Facil debugging
✅ Bajo overhead de red
Desventajas:
❌ Escalado vertical limitado
❌ Single point of failure
2. Repository Pattern
Separacion entre logica de negocio y acceso a datos.
// Service (logica de negocio)
class UserService {
constructor(private userRepo: UserRepository) {}
async findByEmail(email: string) {
return this.userRepo.findByEmail(email);
}
}
// Repository (acceso a datos)
class UserRepository {
async findByEmail(email: string) {
return db.query('SELECT * FROM users WHERE email = $1', [email]);
}
}
3. Feature Modules (Frontend)
Cada feature es auto-contenido con sus propios componentes, stores y servicios.
modules/education/
├── pages/ # Paginas del modulo
├── components/ # Componentes especificos
├── hooks/ # Hooks del modulo
├── services/ # API calls
└── store/ # Estado local
Flujos de Datos
Autenticacion (OAuth)
┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐
│ Client │────▶│ Backend │────▶│ OAuth │────▶│ Provider │
│ │ │ API │ │ Service │ │ (Google) │
└──────────┘ └──────────┘ └──────────┘ └──────────┘
│ │ │ │
│ 1. Click │ │ │
│ "Login with │ │ │
│ Google" │ │ │
│───────────────▶│ 2. Get │ │
│ │ Auth URL │ │
│ │───────────────▶│ │
│ │ │ 3. Generate │
│ │◀───────────────│ URL │
│◀───────────────│ 4. Return URL │ │
│ │ │ │
│ 5. Redirect │ │ │
│ to Google │ │ │
│───────────────────────────────────────────────▶│
│ │ │ │
│◀──────────────────────────────────────────────│
│ 6. Callback │ │ 7. User │
│ with code │ │ approved │
│───────────────▶│ │ │
│ │ 8. Exchange │ │
│ │ code for │ │
│ │ tokens │ │
│ │───────────────▶│◀──────────────│
│ │ │ │
│ │ 9. Create/ │ │
│ │ Update user │ │
│ │ │ │
│◀───────────────│ 10. JWT tokens │ │
│ │ │ │
Trading Signal Flow
┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐
│ Market │────▶│ ML │────▶│ Backend │────▶│ Client │
│ Data │ │ Engine │ │ API │ │ │
└──────────┘ └──────────┘ └──────────┘ └──────────┘
│ │ │ │
│ 1. OHLCV │ │ │
│ Real-time │ │ │
│───────────────▶│ │ │
│ │ 2. Feature │ │
│ │ Engineering │ │
│ │ │ │
│ │ 3. Predict │ │
│ │ ΔHigh/ΔLow │ │
│ │ │ │
│ │ 4. Generate │ │
│ │ Signal │ │
│ │───────────────▶│ │
│ │ │ 5. Store │
│ │ │ Signal │
│ │ │ │
│ │ │ 6. Notify │
│ │ │ via WebSocket │
│ │ │───────────────▶│
│ │ │ │
Seguridad
Capas de Seguridad
┌─────────────────────────────────────────────────────────────┐
│ CAPA 1: PERIMETRO │
│ - Rate Limiting (100 req/min general, 5 req/15min auth) │
│ - WAF (Web Application Firewall) │
│ - DDoS Protection │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ CAPA 2: AUTENTICACION │
│ - JWT (access: 15min, refresh: 7d) │
│ - OAuth 2.0 (Google, Facebook, X, Apple, GitHub) │
│ - 2FA (TOTP + backup codes) │
│ - Phone verification (SMS/WhatsApp) │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ CAPA 3: AUTORIZACION │
│ - RBAC (Role-Based Access Control) │
│ - RLS (Row Level Security en PostgreSQL) │
│ - API scopes por plan de suscripcion │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ CAPA 4: DATOS │
│ - Encryption at rest (PostgreSQL) │
│ - Encryption in transit (TLS 1.3) │
│ - PII encryption (passwords bcrypt) │
│ - Audit logging │
└─────────────────────────────────────────────────────────────┘
Roles del Sistema
| Rol | Descripcion | Permisos |
|---|---|---|
investor |
Usuario basico | Ver cursos, trading, invertir |
trader |
Usuario avanzado | + Crear bots, signals |
student |
Solo educacion | Solo modulo educativo |
admin |
Administrador | Gestion de usuarios, contenido |
superadmin |
Super admin | Todo + configuracion sistema |
Escalabilidad
Estrategia de Escalado
Fase 1 (MVP): Single Server
├── 1x Backend API
├── 1x ML Engine
├── 1x PostgreSQL
└── 1x Redis
Fase 2 (Growth): Horizontal
├── 3x Backend API (load balanced)
├── 2x ML Engine
├── 1x PostgreSQL (read replicas)
└── 3x Redis (cluster)
Fase 3 (Enterprise): Multi-region
├── Backend API (auto-scaling)
├── ML Engine (GPU cluster)
├── PostgreSQL (multi-region)
└── Redis (geo-distributed)
Monitoreo
Metricas Clave
| Categoria | Metricas |
|---|---|
| Performance | Response time, throughput, error rate |
| Business | DAU, MAU, conversion, churn |
| ML | Prediction accuracy, latency, drift |
| Infrastructure | CPU, memory, disk, network |
Stack de Observabilidad
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Logging │ │ Metrics │ │ Tracing │
│ (Winston/Pino) │ │ (Prometheus) │ │ (OpenTelemetry│
└────────┬────────┘ └────────┬────────┘ └────────┬────────┘
│ │ │
└────────────────────┼────────────────────┘
│
▼
┌─────────────────┐
│ Grafana │
│ Dashboards │
└─────────────────┘