trading-platform/docs/01-arquitectura/ARQUITECTURA-UNIFICADA.md
rckrdmrd a7cca885f0 feat: Major platform documentation and architecture updates
Changes include:
- Updated architecture documentation
- Enhanced module definitions (OQI-001 to OQI-008)
- ML integration documentation updates
- Trading strategies documentation
- Orchestration and inventory updates
- Docker configuration updates

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 05:33:35 -06:00

38 KiB

id title type project version updated_date
ARQUITECTURA-UNIFICADA Arquitectura Unificada - OrbiQuant IA Trading Platform Documentation trading-platform 1.0.0 2026-01-04

Arquitectura Unificada - OrbiQuant IA Trading Platform

Versión: 2.0.0 Última actualización: 2025-12-05 Estado: Aprobado


Resumen Ejecutivo

Este documento define la arquitectura completa de OrbiQuant IA, integrando el sistema TradingAgent existente con la nueva plataforma de trading. Define cómo interactúan todos los componentes para ofrecer una experiencia completa de Money Manager con IA.


Visión de Arquitectura

┌─────────────────────────────────────────────────────────────────────────────────────────────────┐
│                                    ORBIQUANT IA PLATFORM                                         │
│                                                                                                  │
│  ┌─────────────────────────────────────────────────────────────────────────────────────────┐   │
│  │                                    FRONTEND LAYER                                        │   │
│  │                                   (React 18 + TypeScript)                                │   │
│  │  ┌──────────────┐  ┌──────────────┐  ┌──────────────┐  ┌──────────────┐  ┌───────────┐ │   │
│  │  │   Auth UI    │  │  Education   │  │  TradingView │  │   Money      │  │   LLM     │ │   │
│  │  │   OAuth      │  │   Platform   │  │    Clone     │  │  Manager     │  │   Chat    │ │   │
│  │  │   Login      │  │   Courses    │  │  Charts+ML   │  │  Dashboard   │  │  Agent    │ │   │
│  │  └──────────────┘  └──────────────┘  └──────────────┘  └──────────────┘  └───────────┘ │   │
│  └─────────────────────────────────────────────────────────────────────────────────────────┘   │
│                                              │                                                   │
│  ┌───────────────────────────────────────────▼───────────────────────────────────────────────┐ │
│  │                                    API GATEWAY                                             │ │
│  │                              (Express.js + TypeScript)                                     │ │
│  │  ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐           │ │
│  │  │  Auth    │ │ Education│ │ Trading  │ │Investment│ │ Payments │ │ ML Proxy │           │ │
│  │  │  Routes  │ │  Routes  │ │  Routes  │ │  Routes  │ │  Routes  │ │  Routes  │           │ │
│  │  └──────────┘ └──────────┘ └──────────┘ └──────────┘ └──────────┘ └──────────┘           │ │
│  │                                                                                           │ │
│  │  ┌────────────────────────────────────────────────────────────────────────────────────┐  │ │
│  │  │                              SHARED SERVICES                                        │  │ │
│  │  │  ┌──────────────┐  ┌──────────────┐  ┌──────────────┐  ┌──────────────────────────┐│  │ │
│  │  │  │  Auth        │  │  Rate        │  │  WebSocket   │  │      ML Integration      ││  │ │
│  │  │  │  Middleware  │  │  Limiter     │  │  Manager     │  │        Service           ││  │ │
│  │  │  └──────────────┘  └──────────────┘  └──────────────┘  └──────────────────────────┘│  │ │
│  │  └────────────────────────────────────────────────────────────────────────────────────┘  │ │
│  └───────────────────────────────────────────────────────────────────────────────────────────┘ │
│                                              │                                                   │
│  ┌───────────────────────────────────────────▼───────────────────────────────────────────────┐ │
│  │                              CORE SERVICES LAYER                                           │ │
│  │                                                                                            │ │
│  │  ┌────────────────────────────────────────────────────────────────────────────────────┐   │ │
│  │  │                            ML ENGINE (Python/FastAPI)                               │   │ │
│  │  │                    [REUTILIZA TradingAgent EXISTENTE]                               │   │ │
│  │  │  ┌──────────────────────────────────────────────────────────────────────────────┐  │   │ │
│  │  │  │                         PREDICTION LAYER                                      │  │   │ │
│  │  │  │  ┌────────────┐  ┌────────────┐  ┌────────────┐  ┌────────────────────────┐  │  │   │ │
│  │  │  │  │  XGBoost   │  │    GRU     │  │Transformer │  │     Meta-Model         │  │  │   │ │
│  │  │  │  │   GPU      │  │  Attention │  │   Flash    │  │   (Ensemble)           │  │  │   │ │
│  │  │  │  └────────────┘  └────────────┘  └────────────┘  └────────────────────────┘  │  │   │ │
│  │  │  └──────────────────────────────────────────────────────────────────────────────┘  │   │ │
│  │  │  ┌──────────────────────────────────────────────────────────────────────────────┐  │   │ │
│  │  │  │                         TRADING LAYER                                         │  │   │ │
│  │  │  │  ┌────────────┐  ┌────────────┐  ┌────────────┐  ┌────────────────────────┐  │  │   │ │
│  │  │  │  │   Range    │  │   TPSL     │  │   Signal   │  │       AMD              │  │  │   │ │
│  │  │  │  │ Predictor  │  │ Classifier │  │ Generator  │  │     Strategy           │  │  │   │ │
│  │  │  │  │ (85.9%)    │  │  (94% AUC) │  │            │  │    Detection           │  │  │   │ │
│  │  │  │  └────────────┘  └────────────┘  └────────────┘  └────────────────────────┘  │  │   │ │
│  │  │  └──────────────────────────────────────────────────────────────────────────────┘  │   │ │
│  │  └────────────────────────────────────────────────────────────────────────────────────┘   │ │
│  │                                                                                            │ │
│  │  ┌────────────────────────────────────────────────────────────────────────────────────┐   │ │
│  │  │                         LLM STRATEGY AGENT (Claude/GPT)                             │   │ │
│  │  │  ┌────────────────┐  ┌────────────────┐  ┌────────────────┐  ┌──────────────────┐  │   │ │
│  │  │  │  Conversation  │  │     Tool       │  │    Context     │  │   Fine-tuning    │  │   │ │
│  │  │  │    Manager     │  │    Executor    │  │    Builder     │  │    Pipeline      │  │   │ │
│  │  │  └────────────────┘  └────────────────┘  └────────────────┘  └──────────────────┘  │   │ │
│  │  └────────────────────────────────────────────────────────────────────────────────────┘   │ │
│  │                                                                                            │ │
│  │  ┌────────────────────────────────────────────────────────────────────────────────────┐   │ │
│  │  │                         TRADING AGENTS (Execution)                                  │   │ │
│  │  │  ┌────────────────┐  ┌────────────────┐  ┌────────────────────────────────────────┐│   │ │
│  │  │  │     ATLAS      │  │     ORION      │  │               NOVA                     ││   │ │
│  │  │  │  Conservative  │  │    Moderate    │  │            Aggressive                  ││   │ │
│  │  │  │   3-5%/month   │  │   5-10%/month  │  │            10%+/month                  ││   │ │
│  │  │  │   Max DD: 5%   │  │   Max DD: 10%  │  │           Max DD: 20%                  ││   │ │
│  │  │  └────────────────┘  └────────────────┘  └────────────────────────────────────────┘│   │ │
│  │  └────────────────────────────────────────────────────────────────────────────────────┘   │ │
│  │                                                                                            │ │
│  │  ┌────────────────────────────────────────────────────────────────────────────────────┐   │ │
│  │  │                         PORTFOLIO MANAGER                                           │   │ │
│  │  │  ┌────────────────┐  ┌────────────────┐  ┌────────────────┐  ┌──────────────────┐  │   │ │
│  │  │  │   Allocator    │  │   Rebalancer   │  │  Distributor   │  │   Projections    │  │   │ │
│  │  │  │                │  │                │  │                │  │   Monte Carlo    │  │   │ │
│  │  │  └────────────────┘  └────────────────┘  └────────────────┘  └──────────────────┘  │   │ │
│  │  └────────────────────────────────────────────────────────────────────────────────────┘   │ │
│  └───────────────────────────────────────────────────────────────────────────────────────────┘ │
│                                              │                                                   │
│  ┌───────────────────────────────────────────▼───────────────────────────────────────────────┐ │
│  │                                    DATA LAYER                                              │ │
│  │  ┌──────────────┐  ┌──────────────┐  ┌──────────────┐  ┌──────────────┐  ┌─────────────┐ │ │
│  │  │  PostgreSQL  │  │    Redis     │  │   Binance    │  │   Stripe     │  │   S3/CDN    │ │ │
│  │  │   Primary    │  │   Cache +    │  │   Exchange   │  │   Payments   │  │   Assets    │ │ │
│  │  │   Database   │  │   Pub/Sub    │  │     API      │  │     API      │  │             │ │ │
│  │  └──────────────┘  └──────────────┘  └──────────────┘  └──────────────┘  └─────────────┘ │ │
│  └───────────────────────────────────────────────────────────────────────────────────────────┘ │
│                                                                                                  │
└─────────────────────────────────────────────────────────────────────────────────────────────────┘

Épicas del Sistema (8 Épicas - 400 SP Total)

Código Épica SP Estado Descripción
OQI-001 Fundamentos y Auth 50 Completado OAuth, JWT, 2FA
OQI-002 Módulo Educativo 45 Parcial Cursos, quizzes, gamificación
OQI-003 Trading y Charts 55 Pendiente TradingView clone con ML
OQI-004 Cuentas de Inversión 57 Pendiente Money Manager con agentes
OQI-005 Pagos y Stripe 40 Parcial Suscripciones, wallet
OQI-006 Señales ML 40 ML Engine listo Predicciones, señales
OQI-007 LLM Agent 55 Nuevo Copiloto de trading IA
OQI-008 Portfolio Manager 65 Nuevo Gestión de carteras

Total: 407 Story Points


Flujos de Datos Principales

1. Flujo de Predicción ML

┌──────────┐    ┌──────────┐    ┌──────────┐    ┌──────────┐    ┌──────────┐
│  Binance │───▶│  Redis   │───▶│ Feature  │───▶│  Models  │───▶│  Signal  │
│   API    │    │  Cache   │    │ Builder  │    │ Ensemble │    │Generator │
└──────────┘    └──────────┘    └──────────┘    └──────────┘    └────┬─────┘
                                                                      │
    ┌─────────────────────────────────────────────────────────────────┘
    │
    ▼
┌──────────┐    ┌──────────┐    ┌──────────┐    ┌──────────┐
│  Redis   │───▶│ Backend  │───▶│WebSocket │───▶│ Frontend │
│  Pub/Sub │    │ Express  │    │  Server  │    │  React   │
└──────────┘    └──────────┘    └──────────┘    └──────────┘

2. Flujo de Trading Automático (Agentes)

┌──────────┐    ┌──────────┐    ┌──────────┐    ┌──────────┐
│  Signal  │───▶│ Strategy │───▶│  Risk    │───▶│  Order   │
│Generator │    │  Router  │    │ Manager  │    │ Executor │
└──────────┘    └──────────┘    └──────────┘    └────┬─────┘
                     │                                │
         ┌───────────┼───────────┐                   │
         ▼           ▼           ▼                   ▼
    ┌─────────┐ ┌─────────┐ ┌─────────┐      ┌──────────┐
    │  ATLAS  │ │  ORION  │ │   NOVA  │      │ Exchange │
    │  Agent  │ │  Agent  │ │  Agent  │      │  Binance │
    └─────────┘ └─────────┘ └─────────┘      └──────────┘

3. Flujo de LLM Agent

┌──────────┐    ┌──────────┐    ┌──────────┐    ┌──────────┐
│   User   │───▶│  Chat    │───▶│ Context  │───▶│   LLM    │
│  Query   │    │   UI     │    │ Builder  │    │  Claude  │
└──────────┘    └──────────┘    └──────────┘    └────┬─────┘
                                                      │
                                    ┌─────────────────┼─────────────────┐
                                    ▼                 ▼                 ▼
                              ┌──────────┐     ┌──────────┐      ┌──────────┐
                              │get_signal│     │ analyze  │      │ execute  │
                              │   Tool   │     │  _chart  │      │  _trade  │
                              └────┬─────┘     └────┬─────┘      └────┬─────┘
                                   │                │                 │
                                   ▼                ▼                 ▼
                              ┌──────────┐     ┌──────────┐      ┌──────────┐
                              │ML Engine │     │  Market  │      │  Order   │
                              │          │     │   Data   │      │  System  │
                              └──────────┘     └──────────┘      └──────────┘

4. Flujo de Portfolio Management

┌──────────┐    ┌──────────┐    ┌──────────┐    ┌──────────┐
│  User    │───▶│  Risk    │───▶│Allocation│───▶│ Accounts │
│ Profile  │    │ Profile  │    │ Strategy │    │ Creation │
└──────────┘    └──────────┘    └──────────┘    └────┬─────┘
                                                      │
    ┌─────────────────────────────────────────────────┘
    │
    ▼
┌──────────┐    ┌──────────┐    ┌──────────┐    ┌──────────┐
│Rebalance │───▶│  Drift   │───▶│ Execute  │───▶│ Notify   │
│  Engine  │    │Detection │    │ Trades   │    │  User    │
└──────────┘    └──────────┘    └──────────┘    └──────────┘
                                                      │
                                                      ▼
                                              ┌──────────────┐
                                              │ Distribution │
                                              │   Monthly    │
                                              └──────────────┘

Componentes por Capa

Frontend (React 18 + TypeScript + Vite)

Módulo Componentes Principales
Auth Login, Register, OAuth, 2FA, Profile
Education CourseList, LessonPlayer, Quiz, Progress
Trading Chart (Lightweight), Watchlist, Orders, Positions
Investment ProductCard, AccountDashboard, Portfolio
Payments PlanSelector, Checkout, Wallet, Transactions
ML SignalCard, PredictionOverlay, IndicatorPanel
LLM ChatWindow, MessageList, ToolResults
Portfolio AllocationChart, RebalanceModal, GoalsTracker

Backend (Express.js + TypeScript)

Servicio Responsabilidad
AuthService OAuth, JWT, sessions, 2FA
EducationService Cursos, lecciones, progreso
TradingService Órdenes, posiciones, paper trading
InvestmentService Cuentas, depósitos, retiros
PaymentService Stripe, suscripciones, wallet
MLIntegrationService Proxy a ML Engine
WebSocketService Real-time updates

ML Engine (Python + FastAPI) - TradingAgent

Componente Archivo Original Función
XGBoost Model src/models/base/xgboost_model.py Predicción GPU
GRU Model src/models/base/gru_model.py Secuencias con attention
Transformer src/models/base/transformer_model.py Flash attention
RangePredictor src/models/range_predictor.py Delta High/Low
TPSLClassifier src/models/tp_sl_classifier.py Prob TP first
SignalGenerator src/models/signal_generator.py Señales JSON
AMDDetector src/strategies/amd_detector.py Fases de mercado
Dashboard src/visualization/dashboard.py Charts real-time

LLM Agent Layer

Componente Tecnología
LLM Provider Claude 3.5 Sonnet / GPT-4 Turbo
Orchestration LangChain / Claude SDK
Memory Redis (conversation history)
Vector Store Pinecone (RAG context)
Tools Function calling nativo

Data Layer

Store Tecnología Uso
Primary DB PostgreSQL 15 Datos transaccionales
Cache Redis 7 Sessions, rate limits, pub/sub
Market Data Binance API Precios real-time
Payments Stripe API Procesamiento de pagos
Files S3 / Cloudflare R2 Videos, assets

Modelo de Datos Unificado

Diagrama ER Simplificado

┌─────────────┐     ┌─────────────┐     ┌─────────────┐
│    users    │────<│subscriptions│     │   courses   │
└─────────────┘     └─────────────┘     └──────┬──────┘
      │                                        │
      │     ┌─────────────┐              ┌─────┴─────┐
      ├────<│   accounts  │              │  lessons  │
      │     │ (investment)│              └───────────┘
      │     └──────┬──────┘
      │            │
      │     ┌──────┴──────┐     ┌─────────────┐
      │     │   trades    │     │   signals   │
      │     └─────────────┘     └─────────────┘
      │
      │     ┌─────────────┐     ┌─────────────┐
      └────<│   wallets   │────<│transactions │
            └─────────────┘     └─────────────┘

Schemas Principales

-- Usuario y autenticación
users (id, email, password_hash, plan, created_at)
sessions (id, user_id, token, expires_at)
oauth_connections (id, user_id, provider, provider_id)

-- Educación
courses (id, title, description, difficulty, price)
lessons (id, course_id, title, type, content_url)
enrollments (id, user_id, course_id, progress)
quiz_results (id, user_id, lesson_id, score)

-- Trading
watchlists (id, user_id, symbols[])
paper_accounts (id, user_id, balance, equity)
paper_trades (id, account_id, symbol, side, quantity, price)

-- Investment (Money Manager)
investment_products (id, name, risk_profile, target_return)
investment_accounts (id, user_id, product_id, balance, status)
investment_trades (id, account_id, symbol, side, pnl)
distributions (id, account_id, amount, paid_at)

-- Pagos
stripe_customers (id, user_id, stripe_customer_id)
subscriptions (id, user_id, plan, status, current_period_end)
wallets (id, user_id, balance)
transactions (id, wallet_id, type, amount, status)

-- ML/Signals
predictions (id, symbol, horizon, predicted_high, predicted_low)
signals (id, symbol, type, confidence, created_at)
signal_outcomes (id, signal_id, result, pnl)

-- LLM Agent
conversations (id, user_id, created_at)
messages (id, conversation_id, role, content, tools_used)

-- Portfolio Manager
risk_profiles (id, user_id, answers, profile_type)
portfolio_allocations (id, user_id, atlas_pct, orion_pct, nova_pct)
rebalance_events (id, user_id, from_allocation, to_allocation)
investment_goals (id, user_id, name, target_amount, deadline)

APIs y Endpoints

Backend Express (Puerto 3001)

# Auth
POST   /api/auth/register
POST   /api/auth/login
POST   /api/auth/oauth/:provider
POST   /api/auth/logout
POST   /api/auth/2fa/setup
POST   /api/auth/2fa/verify

# Education
GET    /api/courses
GET    /api/courses/:id
POST   /api/courses/:id/enroll
GET    /api/lessons/:id
POST   /api/lessons/:id/complete
POST   /api/quizzes/:id/submit

# Trading
GET    /api/trading/symbols
GET    /api/trading/chart/:symbol
WS     /api/trading/stream/:symbol
POST   /api/trading/paper/order
GET    /api/trading/paper/positions

# Investment
GET    /api/investment/products
POST   /api/investment/accounts
GET    /api/investment/accounts/:id
POST   /api/investment/deposits
POST   /api/investment/withdrawals
GET    /api/investment/portfolio

# Payments
GET    /api/payments/plans
POST   /api/payments/subscribe
POST   /api/payments/wallet/deposit
POST   /api/payments/wallet/withdraw
GET    /api/payments/transactions

# ML Proxy
GET    /api/ml/signals/:symbol
GET    /api/ml/predictions/:symbol
GET    /api/ml/indicators/:symbol

# LLM Agent
POST   /api/agent/chat
GET    /api/agent/conversations
GET    /api/agent/conversations/:id

# Portfolio Manager
POST   /api/portfolio/profile
GET    /api/portfolio/allocation
POST   /api/portfolio/rebalance
GET    /api/portfolio/projections
POST   /api/portfolio/goals

ML Engine FastAPI (Puerto 8000)

# Predictions (TradingAgent)
POST   /predictions
GET    /predictions/history/:symbol

# Signals
POST   /signals
GET    /signals/history

# Indicators
GET    /indicators/:symbol

# Models
GET    /models/status
GET    /models/:name/metrics

# Health
GET    /health
GET    /health/detailed

# WebSocket
WS     /ws/:symbol

Seguridad

Autenticación

Método Uso
JWT Access tokens (15 min)
Refresh Token Renovación (7 días)
OAuth 2.0 Google, Facebook, Apple, GitHub
2FA TOTP con Google Authenticator
API Keys ML Engine authentication

Autorización

// Roles y permisos
enum Plan {
  FREE = 'free',
  BASIC = 'basic',
  PRO = 'pro',
  PREMIUM = 'premium'
}

// Middleware de autorización
const requirePlan = (minPlan: Plan) => {
  return (req, res, next) => {
    if (planLevel(req.user.plan) < planLevel(minPlan)) {
      return res.status(403).json({ error: 'Upgrade required' });
    }
    next();
  };
};

Rate Limiting

Endpoint Free Basic Pro Premium
/api/ml/* 3/día 10/día 100/día Ilimitado
/api/agent/* 10/día 50/día 200/día Ilimitado
/api/trading/* 10/min 30/min 100/min 300/min

Deployment

Infraestructura

┌─────────────────────────────────────────────────────────────────┐
│                        PRODUCTION                                │
├─────────────────────────────────────────────────────────────────┤
│                                                                  │
│  ┌──────────────────────────────────────────────────────────┐  │
│  │                    Cloudflare                             │  │
│  │              (CDN + DDoS + SSL)                          │  │
│  └────────────────────────┬─────────────────────────────────┘  │
│                           │                                     │
│  ┌────────────────────────▼─────────────────────────────────┐  │
│  │                   Load Balancer                           │  │
│  │                    (Nginx/HAProxy)                        │  │
│  └────────────┬───────────────────────────┬─────────────────┘  │
│               │                           │                     │
│  ┌────────────▼────────────┐  ┌───────────▼────────────────┐  │
│  │    Backend Cluster      │  │     ML Engine Cluster       │  │
│  │    (Express x 3)        │  │     (FastAPI x 2)           │  │
│  │    Port: 3001           │  │     Port: 8000              │  │
│  │    Node.js 20           │  │     Python 3.11             │  │
│  └────────────┬────────────┘  └───────────┬────────────────┘  │
│               │                           │                     │
│  ┌────────────▼───────────────────────────▼────────────────┐  │
│  │                    Data Layer                            │  │
│  │  ┌──────────────┐  ┌──────────────┐  ┌──────────────┐  │  │
│  │  │  PostgreSQL  │  │    Redis     │  │   S3/R2      │  │  │
│  │  │   Primary    │  │   Cluster    │  │   Storage    │  │  │
│  │  └──────────────┘  └──────────────┘  └──────────────┘  │  │
│  └──────────────────────────────────────────────────────────┘  │
│                                                                  │
└─────────────────────────────────────────────────────────────────┘

Docker Compose (Desarrollo)

version: '3.8'

services:
  frontend:
    build: ./apps/frontend
    ports:
      - "3000:3000"
    environment:
      - VITE_API_URL=http://localhost:3001

  backend:
    build: ./apps/backend
    ports:
      - "3001:3001"
    environment:
      - DATABASE_URL=postgresql://...
      - REDIS_URL=redis://redis:6379
      - ML_ENGINE_URL=http://ml-engine:8000
    depends_on:
      - postgres
      - redis
      - ml-engine

  ml-engine:
    build: ./apps/ml-engine
    ports:
      - "8000:8000"
    environment:
      - REDIS_URL=redis://redis:6379
    volumes:
      - ./models:/app/models
    deploy:
      resources:
        reservations:
          devices:
            - capabilities: [gpu]

  postgres:
    image: postgres:15
    ports:
      - "5432:5432"
    volumes:
      - postgres_data:/var/lib/postgresql/data

  redis:
    image: redis:7-alpine
    ports:
      - "6379:6379"

volumes:
  postgres_data:

Roadmap de Implementación

Fase 1: Fundamentos (Sprints 1-4)

  • OQI-001: Autenticación completa
  • OQI-002: Educación básica
  • OQI-005: Pagos y suscripciones

Fase 2: Trading Core (Sprints 5-8)

  • OQI-003: Trading y Charts
  • OQI-004: Cuentas de Inversión
  • OQI-006: Integración ML Engine

Fase 3: IA Avanzada (Sprints 9-11)

  • OQI-007: LLM Strategy Agent
  • Agentes de trading automático

Fase 4: Portfolio Pro (Sprints 12-14)

  • OQI-008: Portfolio Manager
  • Rebalanceo y distribuciones
  • Proyecciones Monte Carlo

Fase 5: Producción (Sprints 15-16)

  • Testing E2E completo
  • Security audit
  • Performance optimization
  • Launch

Referencias