Analisis de Dependencias
Trading Platform - Fase 4 del Proceso de Planeacion
Fecha: 2026-01-07
Objetivo: Mapear dependencias entre archivos a modificar
1. MAPA DE DEPENDENCIAS POR SPRINT
Sprint 1: ML Engine
src/models/range_predictor.py
|-- DEPENDE DE -->
| src/data/features.py (Feature engineering)
| src/data/targets.py (Target calculation)
| src/training/sample_weighting.py (Weights)
|
|-- IMPACTA A -->
src/pipelines/phase2_pipeline.py
src/services/prediction_service.py
src/api/main.py (endpoints)
src/api/main.py
|-- DEPENDE DE -->
| src/services/prediction_service.py
| src/models/*.py (todos los modelos)
|
|-- IMPACTA A -->
apps/backend/src/shared/clients/ml-engine.client.ts
apps/llm-agent/src/tools/ml_tools.py
Sprint 2: Backend
src/modules/ml/services/ml-integration.service.ts
|-- DEPENDE DE -->
| src/shared/clients/ml-engine.client.ts (HTTP client)
| src/config/index.ts (ML_ENGINE_URL)
|
|-- IMPACTA A -->
src/modules/ml/controllers/ml.controller.ts
src/modules/trading/services/indicators.service.ts
src/modules/trading/trading.routes.ts
|-- DEPENDE DE -->
| src/core/guards/auth.guard.ts
| src/core/middleware/auth.middleware.ts
|
|-- IMPACTA A -->
apps/frontend/src/services/trading.service.ts
src/modules/users/
|-- DEPENDE DE -->
| src/shared/database/ (PostgreSQL connection)
| src/modules/auth/services/ (User validation)
|
|-- IMPACTA A -->
apps/frontend/src/modules/settings/
Sprint 3: LLM Agent + Trading Agents
apps/llm-agent/src/services/mcp_orchestrator.py
|-- DEPENDE DE -->
| apps/mcp-mt4-connector/ (MCP Server)
| apps/mcp-binance-connector/ (MCP Server)
| src/config.py (URLs)
|
|-- IMPACTA A -->
src/tools/trading.py
src/tools/portfolio.py
src/api/routes.py
apps/llm-agent/src/tools/trading.py
|-- DEPENDE DE -->
| src/services/mcp_orchestrator.py
| src/services/risk_manager.py
|
|-- IMPACTA A -->
src/api/auto_trade_routes.py
apps/trading-agents/src/strategies/scalping.py (NUEVO)
|-- DEPENDE DE -->
| src/strategies/base.py
| src/agents/nova.py (consumidor)
|
|-- IMPACTA A -->
config/strategies.yaml
config/agents.yaml
apps/trading-agents/src/persistence/db_manager.py (NUEVO)
|-- DEPENDE DE -->
| PostgreSQL (schema: trading)
| src/agents/base.py (Trade dataclass)
|
|-- IMPACTA A -->
src/agents/atlas.py
src/agents/orion.py
src/agents/nova.py
src/api/main.py
Sprint 4: Frontend
src/services/websocket.service.ts
|-- DEPENDE DE -->
| apps/backend/src/core/websocket/websocket.server.ts
| src/stores/tradingStore.ts
|
|-- IMPACTA A -->
src/modules/trading/pages/Trading.tsx
src/modules/trading/components/CandlestickChartWithML.tsx
src/modules/assistant/pages/Assistant.tsx
|-- DEPENDE DE -->
| src/services/chat.service.ts
| apps/llm-agent/src/api/routes.py (SSE streaming)
|
|-- IMPACTA A -->
src/stores/chatStore.ts
src/modules/education/services/certificate.service.ts (NUEVO)
|-- DEPENDE DE -->
| apps/backend/src/modules/education/services/course.service.ts
| PDF generation library (pdfkit o similar)
|
|-- IMPACTA A -->
src/modules/education/pages/CourseDetail.tsx
Sprint 5: Security & Testing
apps/database/ddl/rls/*.sql (NUEVO)
|-- DEPENDE DE -->
| apps/database/ddl/schemas/*/tables/*.sql
| PostgreSQL current_setting('app.user_id')
|
|-- IMPACTA A -->
apps/backend/ (debe pasar user_id en conexiones)
apps/backend/src/middleware/rate-limiter.ts
|-- DEPENDE DE -->
| express-rate-limit package
| Redis (opcional, para distributed)
|
|-- IMPACTA A -->
src/index.ts (middleware chain)
e2e/cypress/integration/*.spec.ts (NUEVO)
|-- DEPENDE DE -->
| Todos los endpoints backend
| Todos los componentes frontend
|
|-- IMPACTA A -->
CI/CD pipeline
2. GRAFO DE DEPENDENCIAS CRITICAS
PostgreSQL
|
+------------+------------+
| | |
Backend ML Engine Trading Agents
| | |
+------+-----+------------+
|
LLM Agent
|
+---------+---------+
| |
MCP MT4 Connector MCP Binance
|
MT4 Gateway
|
EA Bridge (EXTERNO)
|
MT4 Terminal
3. ARCHIVOS DE ALTO IMPACTO
Archivos que impactan muchos otros (modificar con cuidado)
| Archivo |
Dependientes |
Riesgo |
apps/ml-engine/src/api/main.py |
Backend, LLM Agent, Frontend |
ALTO |
apps/backend/src/shared/clients/ml-engine.client.ts |
5+ servicios |
ALTO |
apps/llm-agent/src/services/mcp_orchestrator.py |
Tools, API |
ALTO |
apps/trading-agents/src/agents/base.py |
3 agentes |
ALTO |
apps/backend/src/config/index.ts |
Todo el backend |
ALTO |
apps/frontend/src/stores/tradingStore.ts |
Trading pages |
MEDIO |
Archivos aislados (bajo riesgo de impacto)
| Archivo |
Dependientes |
Riesgo |
apps/trading-agents/src/strategies/scalping.py |
Solo Nova |
BAJO |
apps/frontend/src/modules/education/services/certificate.service.ts |
Solo CourseDetail |
BAJO |
e2e/cypress/integration/*.spec.ts |
Ninguno (tests) |
BAJO |
4. ORDEN DE MODIFICACION RECOMENDADO
Sprint 1 - Orden sugerido
src/data/features.py - Primero (base de todo)
src/data/targets.py - Segundo
src/models/range_predictor.py - Tercero (usa 1 y 2)
src/training/*.py - Cuarto (reentrenar)
src/api/main.py - Quinto (exponer)
- Tests - Ultimo
Sprint 2 - Orden sugerido
src/shared/clients/ml-engine.client.ts - Primero (si hay cambios)
src/modules/ml/services/ml-integration.service.ts - Segundo
src/modules/trading/trading.routes.ts - Tercero (auth)
src/modules/investment/investment.routes.ts - Cuarto (auth)
src/modules/users/* - Quinto (nuevo modulo)
- Tests - Ultimo
Sprint 3 - Orden sugerido
src/services/mcp_orchestrator.py - Primero (fundacion)
src/tools/trading.py - Segundo (usa orchestrator)
src/strategies/scalping.py - Tercero (independiente)
src/persistence/db_manager.py - Cuarto (independiente)
- Agentes (atlas, orion, nova) - Quinto (integran persistencia)
- API updates - Ultimo
Sprint 4 - Orden sugerido
- Backend WebSocket fixes (si necesario) - Primero
src/services/websocket.service.ts - Segundo
- Components (Trading, Chat) - Tercero
src/services/certificate.service.ts - Cuarto
- Investment module - Quinto
Sprint 5 - Orden sugerido
- DDL RLS scripts - Primero (DB nivel)
- Backend rate limiter - Segundo
- MCP auth - Tercero
- E2E tests - Ultimo (requiere todo funcional)
5. CONFLICTOS POTENCIALES
5.1 Archivos con multiples modificadores
| Archivo |
Sprints |
Conflicto |
apps/backend/src/index.ts |
2, 5 |
Middleware chain |
apps/trading-agents/config/agents.yaml |
3 |
Scalping config |
Mitigacion: Coordinar commits, usar feature branches
5.2 Interfaces compartidas
| Interface |
Componentes |
Riesgo |
| ML Signal format |
ML Engine, Backend, LLM Agent |
Si cambia, rompe 3 componentes |
| Trade execution |
LLM Agent, Trading Agents, MCP |
Si cambia, rompe integracion |
Mitigacion: Versionar interfaces, backward compatibility
6. DEPENDENCIAS EXTERNAS
| Dependencia |
Componente |
Criticidad |
Alternativa |
| EA Bridge |
MCP MT4 |
CRITICA |
Mock service |
| Binance API |
MCP Binance |
ALTA |
Testnet |
| Ollama |
LLM Agent |
ALTA |
Claude API |
| PostgreSQL |
Todos |
CRITICA |
Ninguna |
| Redis |
Backend |
MEDIA |
In-memory |
7. VALIDACION DE INTEGRACION
Tests de integracion requeridos entre componentes
| Desde |
Hacia |
Test Requerido |
| Backend |
ML Engine |
/api/v1/ml/health responde |
| LLM Agent |
MCP MT4 |
Tool execution funciona |
| Frontend |
Backend WS |
Conexion WebSocket estable |
| Trading Agents |
PostgreSQL |
Trades persisten |
8. RECOMENDACIONES
- Crear interfaces versionadas antes de modificar componentes
- Feature flags para cambios grandes (ej: live trading)
- Contract tests entre servicios
- Rollback plan documentado por sprint
- Ambiente staging para integracion
Analisis completado: 2026-01-07
Siguiente paso: Fase 5 - Refinamiento del Plan