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>
389 lines
12 KiB
Markdown
389 lines
12 KiB
Markdown
---
|
|
id: "ANALISIS-GAPS-ML-FIRST-2026-01"
|
|
title: "Analisis de Gaps - Reordenamiento ML-First"
|
|
type: "Analysis"
|
|
project: "trading-platform"
|
|
version: "1.0.0"
|
|
created_date: "2026-01-04"
|
|
author: "Orquestador - Tech Leader"
|
|
---
|
|
|
|
# Analisis de Gaps - Reordenamiento ML-First
|
|
|
|
## 1. Resumen del Analisis
|
|
|
|
Este documento identifica los gaps entre el estado actual del proyecto y los nuevos objetivos priorizados:
|
|
|
|
| Objetivo | Estado Actual | Gap | Criticidad |
|
|
|----------|---------------|-----|------------|
|
|
| 80% win rate en operaciones | TPSL tiene 85.9% accuracy pero no validado en real | Validacion OOS | **CRITICA** |
|
|
| 30-100% rendimiento semanal | No hay backtesting con este objetivo | Backtesting intensivo | **CRITICA** |
|
|
| Prediccion max/min multi-TF | Solo 15m y 1h implementados | Extender a 4H, D, W | **ALTA** |
|
|
| LLM con fine-tuning | Solo prompts estaticos | Dataset + LoRA training | **CRITICA** |
|
|
| MCP Server para ejecucion | No existe | Desarrollo completo | **CRITICA** |
|
|
| Integracion Binance BTC | Parcial, no optimizado | Estrategias BTC | **ALTA** |
|
|
| Visualizacion TradingView | Componentes basicos existen | Overlays ML | **MEDIA** |
|
|
|
|
---
|
|
|
|
## 2. Matriz de Gaps Detallada
|
|
|
|
### Gap 1: Validacion Temporal de Modelos (Out-of-Sample)
|
|
|
|
**Descripcion**: Los modelos actuales no tienen una estrategia clara de validacion con datos no vistos durante entrenamiento.
|
|
|
|
**Estado Actual**:
|
|
- Walk-forward validation mencionado pero no implementado consistentemente
|
|
- No hay exclusion explicita del ultimo ano de datos
|
|
- Riesgo de overfitting en backtests
|
|
|
|
**Requerimiento**:
|
|
```python
|
|
# Estrategia de split temporal requerida
|
|
DATA_SPLIT = {
|
|
'training': '2014-01-01 a 2024-01-01', # 10 anos
|
|
'validation': '2024-01-01 a 2024-07-01', # 6 meses (walk-forward)
|
|
'test_oos': '2024-07-01 a 2025-01-01' # 6 meses (NUNCA visto)
|
|
}
|
|
```
|
|
|
|
**Accion Requerida**:
|
|
1. Implementar funcion `temporal_train_test_split()` con exclusion del ultimo ano
|
|
2. Modificar pipeline de entrenamiento para usar este split
|
|
3. Reportar metricas separadas para train, val, test_oos
|
|
|
|
**Archivos a Modificar**:
|
|
- `apps/ml-engine/src/training/data_splitter.py` (crear)
|
|
- `apps/ml-engine/src/pipelines/phase2_pipeline.py`
|
|
- `apps/ml-engine/config/validation_oos.yaml`
|
|
|
|
---
|
|
|
|
### Gap 2: Prediccion Multi-Temporalidad
|
|
|
|
**Descripcion**: RangePredictor actual solo predice para horizontes de 15m y 1h.
|
|
|
|
**Estado Actual**:
|
|
```python
|
|
# Actual
|
|
HORIZONS = {'15m': 3, '1h': 12} # Solo 2 horizontes
|
|
```
|
|
|
|
**Requerimiento**:
|
|
```python
|
|
# Requerido para objetivo de 30-100% semanal
|
|
HORIZONS = {
|
|
'scalping': {'5m': 6, '15m': 4}, # 30min - 1h
|
|
'intraday': {'1H': 4, '4H': 2}, # 4h - 8h
|
|
'swing': {'4H': 6, '1D': 2}, # 1-2 dias
|
|
'position': {'1D': 5, '1W': 1} # 1 semana
|
|
}
|
|
```
|
|
|
|
**Accion Requerida**:
|
|
1. Extender clase RangePredictor para soportar multiples horizontes
|
|
2. Crear modelos separados por temporalidad o modelo multi-output
|
|
3. Implementar feature engineering especifico por temporalidad
|
|
4. Entrenar y validar cada configuracion
|
|
|
|
**Archivos a Modificar**:
|
|
- `apps/ml-engine/src/models/range_predictor.py`
|
|
- `apps/ml-engine/config/models.yaml`
|
|
- `apps/ml-engine/src/data/features.py`
|
|
|
|
---
|
|
|
|
### Gap 3: Objetivo de 80% Win Rate
|
|
|
|
**Descripcion**: El objetivo especifico es lograr 80% de operaciones ganadoras.
|
|
|
|
**Estado Actual**:
|
|
- TPSL Classifier tiene 85.9% accuracy en clasificacion
|
|
- Pero accuracy != win rate en trading real
|
|
- No hay backtesting que valide este objetivo
|
|
|
|
**Analisis**:
|
|
```
|
|
Para lograr 80% win rate se necesita:
|
|
|
|
1. Risk:Reward conservador (1:1 o menor)
|
|
- Con RR 1:1 y 80% WR: Profit Factor = 4.0
|
|
- Con RR 0.5:1 y 80% WR: Profit Factor = 2.0
|
|
|
|
2. Filtros de alta confianza
|
|
- Solo tomar senales con confidence > 0.80
|
|
- Reducir numero de trades pero aumentar calidad
|
|
|
|
3. Gestion de posicion
|
|
- Partial take profits
|
|
- Trailing stops
|
|
- Break-even rules
|
|
```
|
|
|
|
**Accion Requerida**:
|
|
1. Ajustar configuracion de TPSL para RR conservador
|
|
2. Implementar filtros de confianza alta
|
|
3. Backtesting con objetivo explicito de 80% WR
|
|
4. Implementar gestion de posicion avanzada
|
|
|
|
**Archivos a Crear/Modificar**:
|
|
- `apps/ml-engine/src/backtesting/win_rate_optimizer.py` (crear)
|
|
- `apps/trading-agents/src/strategies/high_winrate_strategy.py` (crear)
|
|
- `apps/ml-engine/config/trading.yaml`
|
|
|
|
---
|
|
|
|
### Gap 4: Rendimiento 30-100% Semanal
|
|
|
|
**Descripcion**: Objetivo agresivo de rendimiento semanal.
|
|
|
|
**Analisis de Viabilidad**:
|
|
```
|
|
Para 30% semanal con 80% WR:
|
|
- Necesitas ~15-20 trades/semana
|
|
- RR promedio 0.5:1 (TP = 2%, SL = 4%)
|
|
- O: RR 1:1 con mas apalancamiento
|
|
|
|
Para 100% semanal:
|
|
- Requiere apalancamiento alto (10x-20x)
|
|
- O: Muchos trades con compounding
|
|
- ALTO RIESGO - no recomendado inicialmente
|
|
|
|
Estrategia Sugerida:
|
|
1. Empezar con objetivo 30-50% semanal
|
|
2. Usar apalancamiento moderado (5x-10x)
|
|
3. Compounding de ganancias
|
|
4. Escalar gradualmente
|
|
```
|
|
|
|
**Accion Requerida**:
|
|
1. Definir configuracion de riesgo por nivel de agresividad
|
|
2. Implementar calculator de position sizing para objetivos
|
|
3. Crear modo "aggressive" en trading agents
|
|
4. Backtesting con compounding
|
|
|
|
**Archivos a Crear**:
|
|
- `apps/trading-agents/config/aggressive_profile.yaml`
|
|
- `apps/trading-agents/src/risk/compounding_calculator.py`
|
|
|
|
---
|
|
|
|
### Gap 5: LLM Fine-Tuning
|
|
|
|
**Descripcion**: El LLM Agent actual usa prompts estaticos, no hay fine-tuning.
|
|
|
|
**Estado Actual**:
|
|
```python
|
|
# Actual - Solo prompts
|
|
llm_config = {
|
|
'provider': 'ollama',
|
|
'model': 'llama3:8b',
|
|
'system_prompt': 'You are a trading assistant...' # 1500 lineas
|
|
}
|
|
```
|
|
|
|
**Requerimiento**:
|
|
```python
|
|
# Requerido - Modelo fine-tuned
|
|
llm_config = {
|
|
'provider': 'ollama',
|
|
'model': 'orbiquant-trader:v1', # Modelo custom
|
|
'fine_tuned': True,
|
|
'training_data': 'datasets/trading_decisions_v1.jsonl'
|
|
}
|
|
```
|
|
|
|
**Dataset Requerido**:
|
|
```jsonl
|
|
{"instruction": "Analiza esta senal ML", "input": {"delta_high": 0.8, "delta_low": 0.3, "phase": "accumulation"}, "output": "LONG recomendado. Fase de acumulacion con sesgo alcista..."}
|
|
{"instruction": "Evalua entrada en XAUUSD", "input": {"price": 2650, "amd": "manipulation", "liquidity_swept": true}, "output": "WAIT. Fase de manipulacion activa, esperar confirmacion..."}
|
|
```
|
|
|
|
**Accion Requerida**:
|
|
1. Crear dataset de 1000+ ejemplos de decisiones de trading
|
|
2. Formatear en JSONL para fine-tuning
|
|
3. Setup entorno de fine-tuning (unsloth/axolotl)
|
|
4. Entrenar con LoRA
|
|
5. Convertir a formato GGUF para Ollama
|
|
6. Evaluar modelo fine-tuned
|
|
|
|
**Archivos a Crear**:
|
|
- `apps/llm-agent/datasets/trading_decisions_v1.jsonl`
|
|
- `apps/llm-agent/training/fine_tune_config.yaml`
|
|
- `apps/llm-agent/training/fine_tune.py`
|
|
- `apps/llm-agent/training/evaluate.py`
|
|
|
|
---
|
|
|
|
### Gap 6: MCP Server para Ejecucion
|
|
|
|
**Descripcion**: No existe un MCP server que exponga herramientas de trading al agente.
|
|
|
|
**Estado Actual**:
|
|
- LLM Agent tiene tools definidos internamente
|
|
- No hay protocolo MCP implementado
|
|
- No hay integracion estandar con Claude Desktop u otros clientes
|
|
|
|
**Requerimiento**:
|
|
```typescript
|
|
// MCP Server specification
|
|
{
|
|
"name": "orbiquant-trading-mcp",
|
|
"version": "1.0.0",
|
|
"tools": [
|
|
{
|
|
"name": "execute_trade",
|
|
"description": "Execute a trade on MT4 or Binance",
|
|
"inputSchema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"broker": {"type": "string", "enum": ["mt4", "binance"]},
|
|
"symbol": {"type": "string"},
|
|
"action": {"type": "string", "enum": ["buy", "sell"]},
|
|
"lots": {"type": "number"},
|
|
"sl": {"type": "number"},
|
|
"tp": {"type": "number"}
|
|
},
|
|
"required": ["broker", "symbol", "action", "lots"]
|
|
}
|
|
},
|
|
// + 10 tools mas
|
|
]
|
|
}
|
|
```
|
|
|
|
**Accion Requerida**:
|
|
1. Crear proyecto MCP Server en TypeScript/Python
|
|
2. Implementar tools de trading (10+)
|
|
3. Implementar conexion con MT4 (MetaAPI)
|
|
4. Implementar conexion con Binance
|
|
5. Crear cliente para integracion con LLM Agent
|
|
6. Testing completo
|
|
|
|
**Archivos a Crear**:
|
|
- `apps/mcp-server/` (nuevo directorio)
|
|
- `apps/mcp-server/src/server.ts`
|
|
- `apps/mcp-server/src/tools/trading.ts`
|
|
- `apps/mcp-server/src/tools/analysis.ts`
|
|
- `apps/mcp-server/src/connectors/mt4.ts`
|
|
- `apps/mcp-server/src/connectors/binance.ts`
|
|
|
|
---
|
|
|
|
### Gap 7: Integracion Binance para Bitcoin
|
|
|
|
**Descripcion**: La integracion con Binance existe pero no esta optimizada para BTC.
|
|
|
|
**Estado Actual**:
|
|
- Cliente Binance basico en trading-agents
|
|
- Soporta multiples pares pero sin optimizacion
|
|
- No hay estrategias especificas para BTC
|
|
|
|
**Requerimiento**:
|
|
```python
|
|
# Estrategias especificas para BTC
|
|
BTC_STRATEGIES = {
|
|
'halving_cycle': {
|
|
'description': 'Posicionamiento basado en ciclo de halving',
|
|
'timeframe': 'weekly',
|
|
'indicators': ['stock_to_flow', 'puell_multiple', 'mvrv']
|
|
},
|
|
'funding_rate': {
|
|
'description': 'Trading basado en funding rate de perpetuos',
|
|
'timeframe': 'hourly',
|
|
'indicators': ['funding_rate', 'open_interest', 'long_short_ratio']
|
|
},
|
|
'whale_tracking': {
|
|
'description': 'Seguimiento de movimientos de ballenas',
|
|
'timeframe': 'daily',
|
|
'indicators': ['exchange_flow', 'whale_alerts', 'accumulation_score']
|
|
}
|
|
}
|
|
```
|
|
|
|
**Accion Requerida**:
|
|
1. Entrenar modelos ML especificos para BTC
|
|
2. Implementar features especificos de crypto
|
|
3. Crear estrategias especializadas
|
|
4. Integrar con on-chain data (opcional)
|
|
|
|
**Archivos a Crear/Modificar**:
|
|
- `apps/trading-agents/src/strategies/btc_strategies.py`
|
|
- `apps/ml-engine/src/data/crypto_features.py`
|
|
- `apps/data-service/src/providers/onchain.py` (opcional)
|
|
|
|
---
|
|
|
|
## 3. Prioridad de Resolucion de Gaps
|
|
|
|
| # | Gap | Prioridad | Esfuerzo | Dependencias |
|
|
|---|-----|-----------|----------|--------------|
|
|
| 1 | Validacion OOS | P0 | 3 dias | Ninguna |
|
|
| 2 | Multi-temporalidad | P0 | 5 dias | Gap 1 |
|
|
| 3 | 80% Win Rate | P0 | 5 dias | Gap 1, 2 |
|
|
| 4 | 30-100% Semanal | P1 | 3 dias | Gap 3 |
|
|
| 5 | LLM Fine-tuning | P0 | 10 dias | Ninguna |
|
|
| 6 | MCP Server | P0 | 10 dias | Gap 5 |
|
|
| 7 | Binance BTC | P1 | 5 dias | Gap 1 |
|
|
|
|
---
|
|
|
|
## 4. Impacto en Arquitectura Actual
|
|
|
|
### Cambios Necesarios
|
|
|
|
```
|
|
ANTES (Arquitectura Actual):
|
|
|
|
Frontend ──> Backend ──> ML Engine ──> Trading Agents
|
|
│
|
|
└──> MetaAPI (MT4)
|
|
|
|
DESPUES (Arquitectura ML-First):
|
|
|
|
┌──────────────────────────────────────┐
|
|
│ MCP SERVER (nuevo) │
|
|
│ │
|
|
│ Tools: execute_trade, get_signal, │
|
|
│ modify_position, etc. │
|
|
└────────────────┬─────────────────────┘
|
|
│
|
|
┌────────────────────────────────┼────────────────────────────┐
|
|
│ │ │
|
|
▼ ▼ ▼
|
|
┌───────────┐ ┌───────────┐ ┌───────────┐
|
|
│ LLM Agent │◄────────────────>│ ML Engine │ │ Brokers │
|
|
│ (fine- │ Analisis + │ │ │ │
|
|
│ tuned) │ Decisiones │ Modelos │ │ MT4/Binance│
|
|
└───────────┘ │ Multi-TF │ └───────────┘
|
|
└───────────┘
|
|
```
|
|
|
|
### Nuevos Componentes
|
|
|
|
1. **MCP Server** (`apps/mcp-server/`)
|
|
2. **Fine-tuning Pipeline** (`apps/llm-agent/training/`)
|
|
3. **Datasets** (`apps/llm-agent/datasets/`)
|
|
4. **Crypto Features** (`apps/ml-engine/src/data/crypto_features.py`)
|
|
5. **BTC Strategies** (`apps/trading-agents/src/strategies/btc_strategies.py`)
|
|
|
|
---
|
|
|
|
## 5. Estimacion de Esfuerzo Total
|
|
|
|
| Fase | Dias | Recursos |
|
|
|------|------|----------|
|
|
| Preparacion Datos (F0) | 6 | ML-Specialist x1 |
|
|
| ML Training (F1) | 15 | ML-Specialist x2 |
|
|
| LLM Fine-tuning (F2) | 12 | ML-Specialist x1, Backend x1 |
|
|
| MCP + Integraciones (F3) | 15 | Backend x2, MCP-Dev x1 |
|
|
| Visualizacion (F4) | 10 | Frontend x2 |
|
|
| **Total** | **58 dias** | **~13 semanas** |
|
|
|
|
Con paralelizacion efectiva: **8-10 semanas**
|
|
|
|
---
|
|
|
|
**Documento Generado:** 2026-01-04
|
|
**Autor:** Orquestador / Tech Leader
|