trading-platform/orchestration/tareas/TASK-2026-01-25-ML-TRAINING-ENHANCEMENT/03-PLANEACION.md
Adrian Flores Cortes 7bfcbb978e docs: Add OQI-006 DATA-PIPELINE-SPEC.md and ML-TRAINING-ENHANCEMENT task docs
- Added DATA-PIPELINE-SPEC.md for ML signals module
- Added TASK-2026-01-25-ML-TRAINING-ENHANCEMENT documentation

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 14:32:37 -06:00

785 lines
26 KiB
Markdown

# 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