# 03-PLANEACIÓN: Mejora Integral de Modelos ML para Trading

**Task ID:** TASK-2026-01-25-ML-TRAINING-ENHANCEMENT
**Fase:** P - Planeación
**Estado:** En Progreso
**Fecha:** 2026-01-25

---

## 1. ESTRUCTURA JERÁRQUICA DE SUBTAREAS

```
TASK-2026-01-25-ML-TRAINING-ENHANCEMENT (TAREA MAESTRA)
│
├── FASE 1: INFRAESTRUCTURA (Prerequisitos)
│   │
│   ├── 1.1 TASK-ML-DATA-PIPELINE
│   │   ├── 1.1.1 Migrar datos históricos MySQL → PostgreSQL
│   │   ├── 1.1.2 Implementar data loader para entrenamiento
│   │   ├── 1.1.3 Crear validadores de calidad de datos
│   │   └── 1.1.4 Documentar schema y pipelines
│   │
│   └── 1.2 TASK-ML-ATTENTION-ARCHITECTURE
│       ├── 1.2.1 Implementar Price-Focused Attention base
│       ├── 1.2.2 Implementar Positional Encoding agnóstico
│       ├── 1.2.3 Crear módulo de extracción de attention scores
│       └── 1.2.4 Tests unitarios de attention
│
├── FASE 2: ESTRATEGIAS DE MODELOS (Paralelo)
│   │
│   ├── 2.1 TASK-ML-STRATEGY-1-PVA (Price Variation Attention)
│   │   ├── 2.1.1 Implementar feature engineering de retornos
│   │   ├── 2.1.2 Crear Transformer Encoder
│   │   ├── 2.1.3 Implementar XGBoost prediction head
│   │   ├── 2.1.4 Entrenar por cada activo (6 modelos)
│   │   ├── 2.1.5 Validar con walk-forward
│   │   └── 2.1.6 Documentar métricas y configuración
│   │
│   ├── 2.2 TASK-ML-STRATEGY-2-MRD (Momentum Regime Detection)
│   │   ├── 2.2.1 Implementar Hidden Markov Model para regímenes
│   │   ├── 2.2.2 Crear features de momentum y tendencia
│   │   ├── 2.2.3 Implementar LSTM + XGBoost ensemble
│   │   ├── 2.2.4 Entrenar por cada activo (6 modelos)
│   │   ├── 2.2.5 Validar detección de regímenes
│   │   └── 2.2.6 Documentar métricas y configuración
│   │
│   ├── 2.3 TASK-ML-STRATEGY-3-VBP (Volatility Breakout Predictor)
│   │   ├── 2.3.1 Implementar features de volatilidad y compresión
│   │   ├── 2.3.2 Crear CNN 1D con attention
│   │   ├── 2.3.3 Implementar balanced sampling para breakouts
│   │   ├── 2.3.4 Entrenar por cada activo (6 modelos)
│   │   ├── 2.3.5 Validar predicción de breakouts
│   │   └── 2.3.6 Documentar métricas y configuración
│   │
│   ├── 2.4 TASK-ML-STRATEGY-4-MSA (Market Structure Analysis)
│   │   ├── 2.4.1 Implementar detector de swing points
│   │   ├── 2.4.2 Crear features ICT/SMC (BOS, CHoCH, FVG, OB)
│   │   ├── 2.4.3 Implementar modelo (GNN opcional o XGBoost)
│   │   ├── 2.4.4 Entrenar por cada activo (6 modelos)
│   │   ├── 2.4.5 Validar detección de estructura
│   │   └── 2.4.6 Documentar métricas y configuración
│   │
│   └── 2.5 TASK-ML-STRATEGY-5-MTS (Multi-Timeframe Synthesis)
│       ├── 2.5.1 Implementar agregación de features por timeframe
│       ├── 2.5.2 Crear Hierarchical Attention Network
│       ├── 2.5.3 Implementar síntesis de señales
│       ├── 2.5.4 Entrenar por cada activo (6 modelos)
│       ├── 2.5.5 Validar alineación multi-TF
│       └── 2.5.6 Documentar métricas y configuración
│
├── FASE 3: INTEGRACIÓN (Secuencial post-Fase 2)
│   │
│   ├── 3.1 TASK-ML-METAMODEL-ENSEMBLE
│   │   ├── 3.1.1 Implementar Neural Gating Network
│   │   ├── 3.1.2 Crear pipeline de ensemble
│   │   ├── 3.1.3 Entrenar gating con predicciones de estrategias
│   │   ├── 3.1.4 Implementar confidence calibration
│   │   └── 3.1.5 Documentar arquitectura final
│   │
│   └── 3.2 TASK-ML-LLM-STRATEGY-INTEGRATION
│       ├── 3.2.1 Diseñar prompt structure para decisiones
│       ├── 3.2.2 Implementar Signal Formatter
│       ├── 3.2.3 Integrar con LLM Agent existente
│       ├── 3.2.4 Crear Signal Logger para feedback
│       └── 3.2.5 Documentar flujo de decisión
│
└── FASE 4: VALIDACIÓN (Final)
    │
    └── 4.1 TASK-ML-BACKTESTING-VALIDATION
        ├── 4.1.1 Ejecutar backtesting por estrategia
        ├── 4.1.2 Ejecutar backtesting de ensemble
        ├── 4.1.3 Calcular métricas (Sharpe, Sortino, Max DD)
        ├── 4.1.4 Validar objetivo 80% efectividad
        ├── 4.1.5 Generar reportes comparativos
        └── 4.1.6 Documentar resultados finales
```

---

## 2. DETALLE DE SUBTAREAS NIVEL 1

### 2.1 FASE 1: INFRAESTRUCTURA

#### TASK-1.1: ML-DATA-PIPELINE

```yaml
id: "TASK-2026-01-25-ML-DATA-PIPELINE"
tipo: "feature"
prioridad: "P0"
bloqueante: true

descripcion: |
  Migrar datos históricos del proyecto antiguo (MySQL dumps de WorkspaceOld)
  a PostgreSQL y crear pipelines de datos para entrenamiento.

prerequisitos: []

subtareas:
  - id: "1.1.1"
    titulo: "Migrar datos históricos MySQL → PostgreSQL"
    descripcion: |
      Cargar los 3 dumps SQL (db.sql, db_financial.sql, db_res.sql = 5.6GB total)
      en PostgreSQL. Transformar schema si es necesario.
    archivos_afectados:
      - apps/data-service/scripts/migrate_mysql_data.py (CREAR)
      - apps/database/ddl/schemas/ml/migrations/ (CREAR)
    criterios_aceptacion:
      - Todos los datos migrados sin pérdida
      - Índices creados para queries eficientes
      - Validación de integridad (row counts match)

  - id: "1.1.2"
    titulo: "Implementar data loader para entrenamiento"
    descripcion: |
      Crear clase DataLoader que carga datos de PostgreSQL en batches
      eficientes para entrenamiento de modelos.
    archivos_afectados:
      - apps/ml-engine/src/data/training_loader.py (CREAR)
      - apps/ml-engine/src/data/dataset.py (CREAR)
    criterios_aceptacion:
      - Soporta batch loading
      - Memory efficient (streaming)
      - Soporta filtrado por símbolo, timeframe, fecha

  - id: "1.1.3"
    titulo: "Crear validadores de calidad de datos"
    descripcion: |
      Implementar validaciones de calidad de datos: gaps, outliers,
      consistency checks.
    archivos_afectados:
      - apps/ml-engine/src/data/validators.py (CREAR)
    criterios_aceptacion:
      - Detecta gaps en series temporales
      - Detecta outliers estadísticos
      - Reporte de calidad generado

  - id: "1.1.4"
    titulo: "Documentar schema y pipelines"
    descripcion: |
      Documentar el schema de datos migrado y los pipelines creados.
    archivos_afectados:
      - docs/02-definicion-modulos/OQI-006-ml-signals/DATA-PIPELINE.md (CREAR)
    criterios_aceptacion:
      - ERD actualizado
      - Descripción de cada tabla
      - Ejemplos de uso del data loader

entregables:
  - 5.6GB de datos migrados
  - Data loader funcional
  - Validadores de calidad
  - Documentación completa

metricas_exito:
  - Tiempo de carga de 1M registros < 30s
  - 0 errores de integridad
  - 100% datos migrados
```

#### TASK-1.2: ML-ATTENTION-ARCHITECTURE

```yaml
id: "TASK-2026-01-25-ML-ATTENTION-ARCHITECTURE"
tipo: "feature"
prioridad: "P0"
bloqueante: true

descripcion: |
  Implementar la arquitectura base de atención enfocada en variación de precio,
  agnóstica al tiempo y activo. Esta es la base para la Estrategia 1 (PVA).

prerequisitos:
  - TASK-ML-DATA-PIPELINE (parcial - solo data loader)

subtareas:
  - id: "1.2.1"
    titulo: "Implementar Price-Focused Attention base"
    descripcion: |
      Crear módulo de Self-Attention que opera sobre secuencias de retornos.
      Multi-head attention con 8 heads, d_model=256.
    archivos_afectados:
      - apps/ml-engine/src/models/attention/price_attention.py (CREAR)
      - apps/ml-engine/src/models/attention/multi_head_attention.py (CREAR)
    criterios_aceptacion:
      - Implementación correcta de scaled dot-product attention
      - Multi-head parallelizable
      - Forward pass produce shapes correctos

  - id: "1.2.2"
    titulo: "Implementar Positional Encoding agnóstico"
    descripcion: |
      Crear positional encoding que NO usa información temporal real.
      Solo posición relativa en la secuencia (learnable o sinusoidal).
    archivos_afectados:
      - apps/ml-engine/src/models/attention/positional_encoding.py (CREAR)
    criterios_aceptacion:
      - No depende de timestamps reales
      - Soporta secuencias de longitud variable
      - Encodings diferenciables para backprop

  - id: "1.2.3"
    titulo: "Crear módulo de extracción de attention scores"
    descripcion: |
      Implementar extracción y almacenamiento de attention scores
      para interpretabilidad y debugging.
    archivos_afectados:
      - apps/ml-engine/src/models/attention/attention_extractor.py (CREAR)
    criterios_aceptacion:
      - Extrae scores de cada head
      - Produce heatmaps de atención
      - Exportable a PostgreSQL para análisis

  - id: "1.2.4"
    titulo: "Tests unitarios de attention"
    descripcion: |
      Crear suite de tests para validar implementación de attention.
    archivos_afectados:
      - apps/ml-engine/tests/test_attention.py (CREAR)
    criterios_aceptacion:
      - 100% cobertura del módulo attention
      - Tests de shapes, gradients, outputs
      - Test de reproducibilidad

entregables:
  - Módulo de Price-Focused Attention
  - Positional Encoding agnóstico
  - Extractor de attention scores
  - Tests unitarios

metricas_exito:
  - Forward pass < 10ms para batch de 256
  - Gradients estables (no NaN/Inf)
  - Tests pasan al 100%
```

---

### 2.2 FASE 2: ESTRATEGIAS DE MODELOS

#### TASK-2.1: STRATEGY-1-PVA (Price Variation Attention)

```yaml
id: "TASK-2026-01-25-ML-STRATEGY-1-PVA"
tipo: "feature"
prioridad: "P1"

descripcion: |
  Estrategia enfocada en atención sobre variación de precio pura.
  Transformer Encoder + XGBoost Head. Agnóstica al tiempo y activo.

prerequisitos:
  - TASK-ML-DATA-PIPELINE
  - TASK-ML-ATTENTION-ARCHITECTURE

subtareas:
  - id: "2.1.1"
    titulo: "Implementar feature engineering de retornos"
    archivos_afectados:
      - apps/ml-engine/src/features/returns_features.py (CREAR)
    criterios_aceptacion:
      - Returns calculados correctamente (1, 5, 10, 20 períodos)
      - Derivados: acceleration, volatility, skewness, kurtosis
      - No NaN/Inf en outputs

  - id: "2.1.2"
    titulo: "Crear Transformer Encoder"
    archivos_afectados:
      - apps/ml-engine/src/models/strategies/pva/transformer_encoder.py (CREAR)
    criterios_aceptacion:
      - 4 capas de self-attention
      - Feed-forward networks
      - Dropout y layer normalization

  - id: "2.1.3"
    titulo: "Implementar XGBoost prediction head"
    archivos_afectados:
      - apps/ml-engine/src/models/strategies/pva/xgb_head.py (CREAR)
    criterios_aceptacion:
      - Toma embeddings de transformer
      - Produce direction, magnitude, confidence
      - Hiperparámetros configurables

  - id: "2.1.4"
    titulo: "Entrenar por cada activo (6 modelos)"
    archivos_afectados:
      - apps/ml-engine/src/training/pva_trainer.py (CREAR)
      - apps/ml-engine/models/strategies/pva/{symbol}/ (CREAR)
    criterios_aceptacion:
      - 6 modelos entrenados (XAUUSD, EURUSD, BTCUSD, GBPUSD, USDJPY, AUDUSD)
      - Walk-forward validation aplicada
      - Modelos serializados y versionados

  - id: "2.1.5"
    titulo: "Validar con walk-forward"
    archivos_afectados:
      - apps/ml-engine/src/validation/pva_validation.py (CREAR)
    criterios_aceptacion:
      - Métricas por fold de walk-forward
      - Reporte de overfitting (train vs val gap)
      - Stability analysis

  - id: "2.1.6"
    titulo: "Documentar métricas y configuración"
    archivos_afectados:
      - docs/02-definicion-modulos/OQI-006-ml-signals/estrategias/PVA-SPEC.md (CREAR)
    criterios_aceptacion:
      - Arquitectura documentada con diagramas
      - Hiperparámetros documentados
      - Métricas de rendimiento

entregables:
  - 6 modelos PVA entrenados
  - Feature engineering module
  - Transformer + XGBoost pipeline
  - Documentación completa

metricas_exito:
  - Direction accuracy > 60%
  - MAE magnitude < 1%
  - Sharpe ratio > 1.0
```

#### TASK-2.2 a 2.5: ESTRATEGIAS 2-5

*(Estructura similar a TASK-2.1, adaptada para cada estrategia)*

**Resumen de Estrategias:**

| ID | Estrategia | Arquitectura | Features Clave | Target Principal |
|----|------------|--------------|----------------|------------------|
| 2.1 | PVA | Transformer + XGBoost | Returns, derivados | Direction + Magnitude |
| 2.2 | MRD | HMM + LSTM + XGBoost | Momentum, RSI, ADX | Regime + Continuation |
| 2.3 | VBP | CNN 1D + Attention | ATR, BB squeeze | Breakout + Direction |
| 2.4 | MSA | XGBoost (o GNN) | Swing, BOS, FVG | Structure reaction |
| 2.5 | MTS | Hierarchical Attention | Multi-TF features | Unified direction |

---

### 2.3 FASE 3: INTEGRACIÓN

#### TASK-3.1: METAMODEL-ENSEMBLE

```yaml
id: "TASK-2026-01-25-ML-METAMODEL-ENSEMBLE"
tipo: "feature"
prioridad: "P1"

descripcion: |
  Implementar el Neural Gating Metamodel que combina las predicciones
  de las 5 estrategias en una señal final ponderada dinámicamente.

prerequisitos:
  - TASK-ML-STRATEGY-1-PVA (completada)
  - TASK-ML-STRATEGY-2-MRD (completada)
  - TASK-ML-STRATEGY-3-VBP (completada)
  - TASK-ML-STRATEGY-4-MSA (completada)
  - TASK-ML-STRATEGY-5-MTS (completada)

subtareas:
  - id: "3.1.1"
    titulo: "Implementar Neural Gating Network"
    archivos_afectados:
      - apps/ml-engine/src/models/metamodel/gating_network.py (CREAR)
    criterios_aceptacion:
      - MLP de 3 capas (256, 128, 5)
      - Softmax output para pesos
      - Batch normalization

  - id: "3.1.2"
    titulo: "Crear pipeline de ensemble"
    archivos_afectados:
      - apps/ml-engine/src/models/metamodel/ensemble_pipeline.py (CREAR)
    criterios_aceptacion:
      - Orquesta llamadas a 5 estrategias
      - Aplica gating network
      - Produce output unificado

  - id: "3.1.3"
    titulo: "Entrenar gating con predicciones de estrategias"
    archivos_afectados:
      - apps/ml-engine/src/training/metamodel_trainer.py (MODIFICAR)
    criterios_aceptacion:
      - Entrenado con predicciones reales de estrategias
      - Optimiza weighted ensemble loss
      - Regularización para evitar colapso a una estrategia

  - id: "3.1.4"
    titulo: "Implementar confidence calibration"
    archivos_afectados:
      - apps/ml-engine/src/models/metamodel/calibration.py (CREAR)
    criterios_aceptacion:
      - Isotonic regression o Platt scaling
      - Calibrated probabilities (reliability diagram)

  - id: "3.1.5"
    titulo: "Documentar arquitectura final"
    archivos_afectados:
      - docs/02-definicion-modulos/OQI-006-ml-signals/METAMODEL-SPEC.md (CREAR)
    criterios_aceptacion:
      - Diagrama de arquitectura
      - Flujo de datos documentado
      - Ejemplo de uso

entregables:
  - Neural Gating Metamodel entrenado
  - Ensemble pipeline funcional
  - Confidence calibration
  - Documentación

metricas_exito:
  - Ensemble accuracy > individual strategies
  - Calibration error < 5%
  - Latencia total < 100ms
```

#### TASK-3.2: LLM-STRATEGY-INTEGRATION

```yaml
id: "TASK-2026-01-25-ML-LLM-STRATEGY-INTEGRATION"
tipo: "feature"
prioridad: "P1"

descripcion: |
  Integrar el metamodel con el LLM Agent para que tome decisiones
  de trading basadas en las predicciones ensemble.

prerequisitos:
  - TASK-ML-METAMODEL-ENSEMBLE (completada)

subtareas:
  - id: "3.2.1"
    titulo: "Diseñar prompt structure para decisiones"
    archivos_afectados:
      - apps/ml-engine/src/llm/prompts/trading_decision.py (CREAR)
    criterios_aceptacion:
      - Template estructurado con todas las señales
      - Formato parseable de respuesta
      - Incluye contexto de mercado

  - id: "3.2.2"
    titulo: "Implementar Signal Formatter"
    archivos_afectados:
      - apps/ml-engine/src/llm/signal_formatter.py (CREAR)
    criterios_aceptacion:
      - Convierte predicciones a formato de prompt
      - Incluye metadata de estrategias
      - Agrega contexto de riesgo

  - id: "3.2.3"
    titulo: "Integrar con LLM Agent existente"
    archivos_afectados:
      - apps/backend/src/modules/llm/llm-trading.service.ts (MODIFICAR)
      - apps/ml-engine/src/api/llm_endpoints.py (CREAR)
    criterios_aceptacion:
      - Endpoint que LLM Agent consume
      - Formato compatible con tools existentes
      - Manejo de errores robusto

  - id: "3.2.4"
    titulo: "Crear Signal Logger para feedback"
    archivos_afectados:
      - apps/ml-engine/src/llm/signal_logger.py (CREAR)
      - apps/database/ddl/schemas/ml/llm_signals.sql (CREAR)
    criterios_aceptacion:
      - Registra cada señal enviada al LLM
      - Registra decisión del LLM
      - Registra resultado del trade (para fine-tuning)

  - id: "3.2.5"
    titulo: "Documentar flujo de decisión"
    archivos_afectados:
      - docs/02-definicion-modulos/OQI-006-ml-signals/LLM-INTEGRATION.md (CREAR)
    criterios_aceptacion:
      - Diagrama de flujo end-to-end
      - Ejemplos de prompts y respuestas
      - Guía de troubleshooting

entregables:
  - Integración ML-LLM funcional
  - Signal Logger con feedback loop
  - Documentación de integración

metricas_exito:
  - LLM recibe señales en < 200ms
  - 100% de trades loggeados
  - Formato de respuesta válido > 99%
```

---

### 2.4 FASE 4: VALIDACIÓN

#### TASK-4.1: BACKTESTING-VALIDATION

```yaml
id: "TASK-2026-01-25-ML-BACKTESTING-VALIDATION"
tipo: "validation"
prioridad: "P0"
bloqueante: true

descripcion: |
  Validar el sistema completo mediante backtesting exhaustivo.
  Verificar que se alcanza el objetivo de 80% de efectividad.

prerequisitos:
  - TASK-ML-METAMODEL-ENSEMBLE (completada)
  - TASK-ML-LLM-STRATEGY-INTEGRATION (completada)

subtareas:
  - id: "4.1.1"
    titulo: "Ejecutar backtesting por estrategia"
    archivos_afectados:
      - apps/ml-engine/src/backtesting/strategy_backtest.py (CREAR)
    criterios_aceptacion:
      - Backtest de cada estrategia individualmente
      - Período: últimos 2 años
      - Métricas por símbolo

  - id: "4.1.2"
    titulo: "Ejecutar backtesting de ensemble"
    archivos_afectados:
      - apps/ml-engine/src/backtesting/ensemble_backtest.py (CREAR)
    criterios_aceptacion:
      - Backtest del metamodel completo
      - Simula decisiones de LLM
      - Incluye slippage y comisiones

  - id: "4.1.3"
    titulo: "Calcular métricas (Sharpe, Sortino, Max DD)"
    archivos_afectados:
      - apps/ml-engine/src/backtesting/metrics_calculator.py (MODIFICAR)
    criterios_aceptacion:
      - Sharpe Ratio
      - Sortino Ratio
      - Maximum Drawdown
      - Win Rate
      - Profit Factor
      - Calmar Ratio

  - id: "4.1.4"
    titulo: "Validar objetivo 80% efectividad"
    archivos_afectados:
      - apps/ml-engine/src/backtesting/effectiveness_validator.py (CREAR)
    criterios_aceptacion:
      - Win rate de operaciones ≥ 80%
      - O profit factor ≥ 2.0 con win rate ≥ 60%
      - Consistency across symbols

  - id: "4.1.5"
    titulo: "Generar reportes comparativos"
    archivos_afectados:
      - apps/ml-engine/src/backtesting/report_generator.py (CREAR)
    criterios_aceptacion:
      - Reporte HTML/PDF con gráficos
      - Comparación estrategia vs ensemble
      - Análisis de drawdown

  - id: "4.1.6"
    titulo: "Documentar resultados finales"
    archivos_afectados:
      - docs/02-definicion-modulos/OQI-006-ml-signals/BACKTEST-RESULTS.md (CREAR)
    criterios_aceptacion:
      - Todas las métricas documentadas
      - Conclusiones y recomendaciones
      - Limitaciones identificadas

entregables:
  - Resultados de backtesting por estrategia
  - Resultados de backtesting ensemble
  - Reporte comparativo completo
  - Documentación de resultados

metricas_exito:
  - Efectividad ≥ 80% en operaciones
  - Sharpe Ratio ≥ 1.5
  - Max Drawdown ≤ 15%
  - Consistent across 6 symbols
```

---

## 3. CRONOGRAMA Y DEPENDENCIAS

### 3.1 Diagrama de Gantt (Simplificado)

```
Semana    1         2         3         4         5         6         7         8
          |---------|---------|---------|---------|---------|---------|---------|

FASE 1 - INFRAESTRUCTURA
├─ 1.1 Data Pipeline    [███████]
└─ 1.2 Attention Arch         [███████]

FASE 2 - ESTRATEGIAS (Paralelo)
├─ 2.1 PVA                          [███████████]
├─ 2.2 MRD                          [███████████]
├─ 2.3 VBP                          [███████████]
├─ 2.4 MSA                          [███████████]
└─ 2.5 MTS                          [███████████]

FASE 3 - INTEGRACIÓN
├─ 3.1 Metamodel                                      [███████]
└─ 3.2 LLM Integration                                      [███████]

FASE 4 - VALIDACIÓN
└─ 4.1 Backtesting                                                [███████]
```

### 3.2 Grafo de Dependencias

```
                    ┌─────────────────┐
                    │  1.1 Data       │
                    │  Pipeline       │
                    └────────┬────────┘
                             │
                    ┌────────▼────────┐
                    │  1.2 Attention  │
                    │  Architecture   │
                    └────────┬────────┘
                             │
        ┌────────────────────┼────────────────────┐
        │                    │                    │
┌───────▼───────┐   ┌───────▼───────┐   ┌───────▼───────┐
│   2.1 PVA     │   │   2.2 MRD     │   │   2.3 VBP     │
└───────┬───────┘   └───────┬───────┘   └───────┬───────┘
        │                    │                    │
        │           ┌───────▼───────┐   ┌───────▼───────┐
        │           │   2.4 MSA     │   │   2.5 MTS     │
        │           └───────┬───────┘   └───────┬───────┘
        │                    │                    │
        └────────────────────┼────────────────────┘
                             │
                    ┌────────▼────────┐
                    │ 3.1 Metamodel   │
                    │ Ensemble        │
                    └────────┬────────┘
                             │
                    ┌────────▼────────┐
                    │ 3.2 LLM         │
                    │ Integration     │
                    └────────┬────────┘
                             │
                    ┌────────▼────────┐
                    │ 4.1 Backtesting │
                    │ Validation      │
                    └─────────────────┘
```

---

## 4. ASIGNACIÓN DE AGENTES

| Subtarea | Agente Sugerido | Herramientas |
|----------|-----------------|--------------|
| 1.1 Data Pipeline | PERFIL-DATA-ENGINEER | Bash, Python, PostgreSQL |
| 1.2 Attention Arch | PERFIL-ML-ENGINEER | Python, PyTorch |
| 2.1-2.5 Estrategias | PERFIL-ML-ENGINEER (paralelo) | Python, XGBoost, PyTorch |
| 3.1 Metamodel | PERFIL-ML-ARCHITECT | Python, PyTorch |
| 3.2 LLM Integration | PERFIL-BACKEND + PERFIL-ML | TypeScript, Python |
| 4.1 Backtesting | PERFIL-QUANT | Python, Pandas |

---

## 5. CRITERIOS DE ACEPTACIÓN GLOBALES

### 5.1 Criterios Técnicos

| Criterio | Umbral | Verificación |
|----------|--------|--------------|
| Build pasa | 100% | `npm run build` / `python -m pytest` |
| Tests pasan | ≥95% | CI/CD pipeline |
| Cobertura tests | ≥80% | Coverage report |
| No memory leaks | 0 | Profiling |
| Latencia inference | <200ms | Benchmark |

### 5.2 Criterios de ML

| Criterio | Umbral | Verificación |
|----------|--------|--------------|
| Efectividad operaciones | ≥80% | Backtesting |
| Direction accuracy | ≥70% | Validation set |
| Sharpe Ratio | ≥1.5 | Backtesting |
| Max Drawdown | ≤15% | Backtesting |
| Calibration error | ≤5% | Reliability diagram |

### 5.3 Criterios de Documentación

| Criterio | Umbral | Verificación |
|----------|--------|--------------|
| Especificaciones completas | 100% | Review |
| Diagramas actualizados | 100% | Review |
| Código documentado | 100% | Docstrings |
| Inventarios actualizados | 100% | Checklist |

---

## 6. PLAN DE PRUEBAS

### 6.1 Tests Unitarios

- Cada módulo nuevo debe tener ≥80% cobertura
- Mock de datos para tests reproducibles
- Fixtures compartidos para estrategias

### 6.2 Tests de Integración

- Pipeline completo con datos sintéticos
- Integración ML-LLM con mock responses
- Database round-trip tests

### 6.3 Tests de Rendimiento

- Benchmark de inference time
- Memory profiling
- Load testing de API endpoints

### 6.4 Backtesting como Test

- Walk-forward validation obligatoria
- Out-of-sample period de 6 meses mínimo
- Robustness checks (different seeds, params)

---

## 7. DOCUMENTACIÓN A CREAR/ACTUALIZAR

### 7.1 Crear (Nuevos)

| Archivo | Propósito |
|---------|-----------|
| `DATA-PIPELINE.md` | Schema y pipeline de datos |
| `PVA-SPEC.md` | Especificación estrategia 1 |
| `MRD-SPEC.md` | Especificación estrategia 2 |
| `VBP-SPEC.md` | Especificación estrategia 3 |
| `MSA-SPEC.md` | Especificación estrategia 4 |
| `MTS-SPEC.md` | Especificación estrategia 5 |
| `METAMODEL-SPEC.md` | Especificación del ensemble |
| `LLM-INTEGRATION.md` | Integración con LLM |
| `BACKTEST-RESULTS.md` | Resultados de backtesting |
| `ML_INVENTORY.yml` | Inventario de modelos |

### 7.2 Actualizar (Existentes)

| Archivo | Cambio |
|---------|--------|
| `OQI-006/_MAP.md` | Agregar nuevas estrategias |
| `OQI-006/README.md` | Actualizar arquitectura |
| `MASTER_INVENTORY.yml` | Agregar nuevos modelos |
| `PROXIMA-ACCION.md` | Reflejar plan actual |

---

## 8. PRÓXIMOS PASOS INMEDIATOS

1. **Validar este plan** → Fase V de CAPVED
2. **Aprobar recursos** → GPU time, storage
3. **Crear subtareas** en sistema de tracking
4. **Iniciar FASE 1** → Data Pipeline + Attention Architecture
5. **Asignar agentes** para ejecución paralela en FASE 2

---

**Siguiente Fase:** 04-VALIDACION.md
