trading-platform/docs/02-definicion-modulos/OQI-007-llm-agent/README.md
Adrian Flores Cortes 618e3220bd [F1-F3] feat: Complete entity types, stores, and documentation
FASE 1 - DDL-Backend Coherence (continued):
- market-data.types.ts: Updated TickerRow, added Ohlcv5mRow, Ohlcv15mRow, OhlcvStagingRow
- llm.types.ts: Updated UserPreferences, UserMemory, Embedding + 3 Row types
- financial.types.ts: +6 types (Invoice, WalletAuditLog, etc.)
- entity.types.ts (trading): +5 types (Symbol, TradingBot, etc.)

FASE 2 - Backend-Frontend Coherence (continued):
- llmStore.ts: New Zustand store with session lifecycle management
- riskStore.ts: New Zustand store for risk assessment
- risk.service.ts: New service with 8 functions
- currency.service.ts: New service with 5 functions

FASE 3 - Documentation:
- OQI-007: Updated to 100% (7 ET, 11 US, 6 RF)
- OQI-008: Added ET-PFM-010-architecture.md, ET-PFM-011-goals-system.md
- Updated all _MAP.md and README.md indexes

Build validation: Backend tsc PASSED, Frontend Vite PASSED

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 22:39:10 -06:00

380 lines
16 KiB
Markdown

---
id: "README"
title: "LLM Strategy Agent"
type: "Documentation"
project: "trading-platform"
version: "1.1.0"
updated_date: "2026-01-28"
status: "En Progreso"
progress: 45
---
# OQI-007: LLM Strategy Agent
## Estado del Módulo
| Aspecto | Estado | Progreso |
|---------|--------|----------|
| Documentación | ✅ Completa | 100% |
| Especificaciones | ✅ 7 de 7 | 100% |
| User Stories | ✅ 11 de 11 | 100% |
| Implementación Backend | En Progreso | 40% |
| Implementación Frontend | En Progreso | 35% |
| Tests | Pendiente | 15% |
| **Global** | **En Progreso** | **45%** |
---
## Resumen Ejecutivo
Esta épica implementa un agente de inteligencia artificial basado en Large Language Models (LLM) que actúa como asistente de trading inteligente, interpretando señales ML, sugiriendo estrategias y explicando decisiones en lenguaje natural.
---
## Visión
> "Un copiloto de trading inteligente que combina el poder predictivo del ML con la capacidad explicativa de los LLMs para democratizar el trading profesional"
---
## Objetivos
1. **Interpretar señales ML** en lenguaje natural comprensible
2. **Sugerir estrategias** de entrada/salida basadas en contexto de mercado
3. **Explicar razonamiento** detrás de cada recomendación
4. **Gestionar conversaciones** sobre trading y educación
5. **Fine-tuning especializado** con datos de trading reales
---
## Arquitectura
```
┌─────────────────────────────────────────────────────────────────────────────┐
│ LLM STRATEGY AGENT │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────────────────────┐ │
│ │ CONVERSATION LAYER │ │
│ │ ┌──────────────┐ ┌──────────────┐ ┌──────────────────────────┐ │ │
│ │ │ Chat UI │ │ Context │ │ Memory Manager │ │ │
│ │ │ Interface │ │ Builder │ │ (conversation history) │ │ │
│ │ └──────────────┘ └──────────────┘ └──────────────────────────┘ │ │
│ └─────────────────────────────────────────────────────────────────────┘ │
│ │ │
│ ┌─────────────────────────────────▼───────────────────────────────────┐ │
│ │ LLM CORE ENGINE │ │
│ │ ┌──────────────────────────────────────────────────────────────┐ │ │
│ │ │ Fine-tuned Model │ │ │
│ │ │ ┌────────────┐ ┌────────────┐ ┌────────────────────────┐ │ │ │
│ │ │ │ Claude/ │ │ Trading │ │ Prompt Templates │ │ │ │
│ │ │ │ GPT-4 │ │ Adapter │ │ (strategy, explain) │ │ │ │
│ │ │ └────────────┘ └────────────┘ └────────────────────────┘ │ │ │
│ │ └──────────────────────────────────────────────────────────────┘ │ │
│ └─────────────────────────────────────────────────────────────────────┘ │
│ │ │
│ ┌─────────────────────────────────▼───────────────────────────────────┐ │
│ │ INTEGRATION LAYER │ │
│ │ ┌──────────────┐ ┌──────────────┐ ┌──────────────────────────┐ │ │
│ │ │ ML Engine │ │ Market │ │ User Portfolio │ │ │
│ │ │ Connector │ │ Data API │ │ Context │ │ │
│ │ └──────────────┘ └──────────────┘ └──────────────────────────┘ │ │
│ └─────────────────────────────────────────────────────────────────────┘ │
│ │ │
│ ┌─────────────────────────────────▼───────────────────────────────────┐ │
│ │ TOOLS & FUNCTIONS │ │
│ │ ┌──────────────┐ ┌──────────────┐ ┌──────────────────────────┐ │ │
│ │ │ Get Signal │ │ Analyze │ │ Execute Trade │ │ │
│ │ │ (from ML) │ │ Chart │ │ (with confirmation) │ │ │
│ │ └──────────────┘ └──────────────┘ └──────────────────────────┘ │ │
│ │ ┌──────────────┐ ┌──────────────┐ ┌──────────────────────────┐ │ │
│ │ │ Get Price │ │ Check │ │ Set Alert │ │ │
│ │ │ History │ │ Portfolio │ │ │ │ │
│ │ └──────────────┘ └──────────────┘ └──────────────────────────┘ │ │
│ └─────────────────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────────┘
```
---
## Capacidades del Agente
### 1. Interpretación de Señales ML
```
Usuario: "¿Qué dice el modelo sobre Bitcoin ahora?"
Agente: "Basándome en el análisis del modelo ML:
📊 **Señal actual: COMPRA (Confianza: 78%)**
**Contexto del mercado:**
- Fase AMD detectada: Acumulación
- Volatilidad: Baja (ATR en percentil 25)
- RSI: 42 (neutral, saliendo de sobreventa)
**Predicción de rango (próximos 90 min):**
- Precio actual: $43,250
- Máximo esperado: $43,520 (+0.62%)
- Mínimo esperado: $43,100 (-0.35%)
**Mi recomendación:**
Entrada en $43,200-43,300 con:
- Stop Loss: $42,950 (-0.7%)
- Take Profit: $43,500 (+0.6%)
- Risk/Reward: 1:0.85
⚠️ Nota: Esta es una señal de corto plazo (scalping).
El modelo tiene 68% de precisión en este horizonte."
```
### 2. Sugerencia de Estrategias
```
Usuario: "Tengo $5,000 para invertir, perfil moderado"
Agente: "Para tu perfil moderado con $5,000, sugiero:
**Estrategia: Orion (Trend Following)**
📈 **Distribución recomendada:**
- 60% en Orion Agent ($3,000)
- Target: 5-10% mensual
- Max drawdown: 10%
- Activos: Top 10 cryptos
- 30% en Atlas Agent ($1,500)
- Target: 3-5% mensual
- Max drawdown: 5%
- Activos: BTC, ETH only
- 10% en cash ($500)
- Para oportunidades puntuales
**Proyección a 6 meses:**
- Escenario conservador: +18% ($5,900)
- Escenario esperado: +35% ($6,750)
- Escenario optimista: +55% ($7,750)
¿Quieres que proceda a abrir estas cuentas?"
```
### 3. Explicación de Decisiones
```
Usuario: "¿Por qué el bot vendió mi posición de ETH?"
Agente: "Tu posición de ETH fue cerrada por el agente Atlas:
**Detalles del trade:**
- Entrada: $2,340 (hace 3 horas)
- Salida: $2,295 (-1.9%)
- Razón: Stop Loss activado
**¿Por qué se activó el Stop Loss?**
1. **Detección de Manipulación (AMD)**
- El modelo detectó fase de "Manipulation"
- Volumen anormal (+180% vs promedio)
- Wick patterns indicando barrido de stops
2. **Protección del capital**
- Atlas tiene max drawdown de 5%
- Esta pérdida representa 1.9% del capital asignado
- Quedó margen para 3 trades más antes de pausar
3. **Señales técnicas**
- RSI cayó de 55 a 38 en 30 minutos
- Ruptura de soporte en $2,310
- MACD cruzó a negativo
**Aprendizaje:**
El modelo priorizó preservar capital. En 7 de cada 10
casos similares, el precio continuó cayendo otro 2-3%.
¿Quieres ajustar la configuración de riesgo de Atlas?"
```
### 4. Asistente Educativo
```
Usuario: "No entiendo qué es la fase de Acumulación"
Agente: "¡Excelente pregunta! Déjame explicarte:
**🏦 Fase de Acumulación (Smart Money Concepts)**
Es cuando los grandes jugadores (instituciones, ballenas)
están comprando silenciosamente sin mover mucho el precio.
**Características:**
- Volumen bajo pero constante
- Precio en rango estrecho (consolidación)
- RSI en zona neutral o baja (30-50)
- Poca actividad de retail
**¿Por qué importa?**
Después de acumulación suele venir un movimiento alcista
fuerte. Es como la calma antes de la tormenta.
**Ejemplo en tu chart:**
[Se mostraría imagen del chart con zonas marcadas]
En el último mes, detectamos 3 fases de acumulación en BTC:
- 15 Nov: Acumulación → +8% en 48h
- 28 Nov: Acumulación → +5% en 24h
- 3 Dic: Acumulación → (en desarrollo)
¿Quieres que te avise cuando detecte la próxima?"
```
---
## Modos de Operación
### Modo Chat (Conversacional)
- Respuestas en lenguaje natural
- Contexto de conversación
- Preguntas de seguimiento
### Modo Comando (Acciones directas)
```
/signal BTCUSDT → Obtener señal actual
/analyze ETHUSDT 4h → Análisis técnico
/portfolio → Ver mi portfolio
/alert BTCUSDT 45000 → Crear alerta
/trade buy BTC 100 → Ejecutar orden (requiere confirmación)
```
### Modo Proactivo (Notificaciones)
- Alertas de señales fuertes
- Cambios en posiciones
- Oportunidades detectadas
- Resumen diario
---
## Fine-Tuning Strategy
### Datos de Entrenamiento (del TradingAgent existente)
```python
# SignalLogger ya genera datos en formato LLM
{
"messages": [
{
"role": "system",
"content": "Eres un analista de trading experto..."
},
{
"role": "user",
"content": "Analiza la situación actual de XAUUSD"
},
{
"role": "assistant",
"content": "Basándome en los indicadores técnicos..."
}
],
"metadata": {
"signal": {...},
"outcome": "profit",
"pnl_percent": 1.2
}
}
```
### Fuentes de Fine-Tuning
1. **Histórico de señales** (10 años de datos)
2. **Outcomes reales** (trades ejecutados)
3. **Análisis técnico manual** (validación experta)
4. **Feedback de usuarios** (RLHF)
---
## Límites por Plan
| Plan | Mensajes/día | Funciones | Proactivo |
|------|--------------|-----------|-----------|
| Free | 10 | Básicas | ❌ |
| Basic | 50 | Análisis | ❌ |
| Pro | 200 | Todas | ✅ |
| Premium | Ilimitado | Todas + API | ✅ + Personalizado |
---
## Stack Técnico
| Componente | Tecnología |
|------------|------------|
| LLM Base | Claude 3.5 / GPT-4 Turbo |
| Fine-tuning | OpenAI API / Anthropic API |
| Orquestación | LangChain / Claude Tools |
| Vector Store | Pinecone / Weaviate |
| Cache | Redis |
| API | FastAPI (extensión ML Engine) |
---
## Métricas de Éxito
| Métrica | Target |
|---------|--------|
| Precisión de respuestas | > 90% |
| Tiempo de respuesta | < 3 segundos |
| Satisfacción usuario (NPS) | > 50 |
| Señales correctamente explicadas | > 95% |
| Trades ejecutados via agente | > 30% del total |
---
## Story Points Totales: 60 SP
---
## Documentación Completa
### Especificaciones Técnicas (7)
| ID | Nombre | Descripción |
|----|--------|-------------|
| ET-LLM-001 | Arquitectura Chat | Sistema WebSocket/Chat completo |
| ET-LLM-002 | Agente de Análisis | Agente especializado en análisis de mercado |
| ET-LLM-003 | Motor de Estrategias | Motor de sugerencias de estrategias |
| ET-LLM-004 | Integración Educativa | Conexión con módulo educativo |
| ET-LLM-005 | Arquitectura Tools | Sistema de tools y function calling |
| ET-LLM-006 | Gestión de Memoria | Contexto y memoria conversacional |
| ET-LLM-007 | Frontend | Componentes React, hooks, stores |
### Historias de Usuario (11)
| ID | Historia | SP |
|----|----------|-----|
| US-LLM-001 | Enviar mensaje al agente | 5 |
| US-LLM-002 | Gestionar conversaciones | 5 |
| US-LLM-003 | Solicitar análisis de símbolo | 8 |
| US-LLM-004 | Ver señales ML vía chat | 8 |
| US-LLM-005 | Estrategia personalizada | 5 |
| US-LLM-006 | Ver historial de estrategias | 5 |
| US-LLM-007 | Asistencia educativa | 5 |
| US-LLM-008 | Recomendaciones de aprendizaje | 3 |
| US-LLM-009 | Consultar datos vía chat | 3 |
| US-LLM-010 | Paper trading vía chat | 8 |
| US-LLM-011 | Ejecutar trade desde chat | 5 |
### Requerimientos Funcionales (6)
- RF-LLM-001: Interfaz de Chat WebSocket
- RF-LLM-002: Análisis de Mercado vía LLM
- RF-LLM-003: Sugerencias de Estrategias
- RF-LLM-004: Asistencia Educativa
- RF-LLM-005: Integración de Tools (16 tools definidos)
- RF-LLM-006: Gestión de Contexto y Memoria
---
## Referencias
- [ET-LLM-001: Arquitectura Chat](./especificaciones/ET-LLM-001-arquitectura-chat.md)
- [ET-LLM-007: Frontend](./especificaciones/ET-LLM-007-frontend.md)
- [TRACEABILITY.yml](./implementacion/TRACEABILITY.yml)
- [TradingAgent SignalLogger](../../../apps/ml-engine/src/utils/signal_logger.py)
- [OQI-006: ML Signals](../OQI-006-ml-signals/)