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>
246 lines
8.2 KiB
Markdown
246 lines
8.2 KiB
Markdown
---
|
|
id: "MAP-OQI-008-portfolio-manager"
|
|
title: "Mapa de OQI-008-portfolio-manager"
|
|
type: "Index"
|
|
project: "trading-platform"
|
|
updated_date: "2026-01-04"
|
|
---
|
|
|
|
# _MAP: OQI-008 - Portfolio Manager
|
|
|
|
**Última actualización:** 2025-12-05
|
|
**Estado:** Planificado
|
|
**Versión:** 1.0.0
|
|
|
|
---
|
|
|
|
## Propósito
|
|
|
|
Esta épica implementa un sistema profesional de gestión de carteras a largo plazo con optimización de portfolios, rebalanceo automático, distribución de rendimientos y proyecciones de inversión.
|
|
|
|
---
|
|
|
|
## Contenido del Directorio
|
|
|
|
```
|
|
OQI-008-portfolio-manager/
|
|
├── README.md # Documentación técnica
|
|
├── _MAP.md # Este archivo - índice
|
|
├── requerimientos/ # Documentos de requerimientos funcionales ✅
|
|
│ ├── RF-PFM-001-dashboard-portfolio.md # ✅ Dashboard del portfolio
|
|
│ ├── RF-PFM-002-analisis-riesgo.md # ✅ Análisis de riesgo (VaR, Sharpe)
|
|
│ ├── RF-PFM-003-rebalanceo.md # ✅ Rebalanceo automático
|
|
│ ├── RF-PFM-004-historial-transacciones.md # ✅ Historial de transacciones
|
|
│ ├── RF-PFM-005-comparacion-benchmark.md # ✅ Comparación vs benchmark
|
|
│ ├── RF-PFM-006-reportes-fiscales.md # ✅ Reportes fiscales
|
|
│ └── RF-PFM-007-metas-inversión.md # ✅ Metas de inversión
|
|
├── especificaciones/ # Especificaciones técnicas ✅
|
|
│ ├── ET-PFM-001-arquitectura-dashboard.md # ✅ Arquitectura del dashboard
|
|
│ ├── ET-PFM-002-calculo-metricas.md # ✅ Cálculo de métricas
|
|
│ ├── ET-PFM-003-stress-testing.md # ✅ Stress testing
|
|
│ ├── ET-PFM-004-motor-rebalanceo.md # ✅ Motor de rebalanceo
|
|
│ ├── ET-PFM-005-historial-reportes.md # ✅ Historial y reportes
|
|
│ ├── ET-PFM-006-reportes-fiscales.md # ✅ Engine de reportes fiscales
|
|
│ └── ET-PFM-007-motor-metas.md # ✅ Motor de metas
|
|
├── historias-usuario/ # User Stories ✅
|
|
│ ├── US-PFM-001-ver-resumen-portfolio.md # ✅ Ver resumen del portfolio
|
|
│ ├── US-PFM-002-ver-posiciones.md # ✅ Ver posiciones detalladas
|
|
│ ├── US-PFM-003-ver-metricas-riesgo.md # ✅ Ver métricas de riesgo
|
|
│ ├── US-PFM-004-ejecutar-stress-test.md # ✅ Ejecutar stress test
|
|
│ ├── US-PFM-005-configurar-asignacion.md # ✅ Configurar asignación
|
|
│ ├── US-PFM-006-ver-desviacion.md # ✅ Ver desviación de targets
|
|
│ ├── US-PFM-007-ejecutar-rebalanceo.md # ✅ Ejecutar rebalanceo
|
|
│ ├── US-PFM-008-ver-historial.md # ✅ Ver historial transacciones
|
|
│ ├── US-PFM-009-exportar-historial.md # ✅ Exportar historial
|
|
│ ├── US-PFM-010-comparar-benchmark.md # ✅ Comparar con benchmark
|
|
│ ├── US-PFM-011-metricas-benchmark.md # ✅ Métricas de benchmark
|
|
│ └── US-PFM-012-reporte-fiscal.md # ✅ Generar reporte fiscal
|
|
└── implementacion/ # Trazabilidad
|
|
└── TRACEABILITY.yml
|
|
```
|
|
|
|
---
|
|
|
|
## Requerimientos Funcionales
|
|
|
|
| ID | Nombre | Prioridad | SP | Estado |
|
|
|----|--------|-----------|-----|--------|
|
|
| RF-PFM-001 | Dashboard del Portfolio | P0 | 8 | ✅ Documentado |
|
|
| RF-PFM-002 | Análisis de Riesgo | P0 | 10 | ✅ Documentado |
|
|
| RF-PFM-003 | Rebalanceo Automático | P0 | 13 | ✅ Documentado |
|
|
| RF-PFM-004 | Historial de Transacciones | P0 | 10 | ✅ Documentado |
|
|
| RF-PFM-005 | Comparación vs Benchmark | P1 | 10 | ✅ Documentado |
|
|
| RF-PFM-006 | Reportes Fiscales | P1 | 8 | ✅ Documentado |
|
|
| RF-PFM-007 | Metas de Inversión | P2 | 6 | ✅ Documentado |
|
|
|
|
**Total:** 65 SP (100% documentados)
|
|
|
|
---
|
|
|
|
## Especificaciones Técnicas
|
|
|
|
| ID | Nombre | Componente | Estado |
|
|
|----|--------|------------|--------|
|
|
| ET-PFM-001 | Arquitectura Dashboard | Frontend | ✅ Documentado |
|
|
| ET-PFM-002 | Cálculo de Métricas | Backend | ✅ Documentado |
|
|
| ET-PFM-003 | Stress Testing | Risk Engine | ✅ Documentado |
|
|
| ET-PFM-004 | Motor de Rebalanceo | Backend | ✅ Documentado |
|
|
| ET-PFM-005 | Historial y Reportes | Backend | ✅ Documentado |
|
|
| ET-PFM-006 | Reportes Fiscales | Tax Engine | ✅ Documentado |
|
|
| ET-PFM-007 | Motor de Metas | Goals Engine | ✅ Documentado |
|
|
|
|
**Total:** 7 ET (100% documentados)
|
|
|
|
---
|
|
|
|
## Historias de Usuario
|
|
|
|
| ID | Historia | Prioridad | SP | Estado |
|
|
|----|----------|-----------|-----|--------|
|
|
| US-PFM-001 | Ver resumen del portfolio | P0 | 5 | ✅ Documentado |
|
|
| US-PFM-002 | Ver posiciones detalladas | P0 | 8 | ✅ Documentado |
|
|
| US-PFM-003 | Ver métricas de riesgo | P0 | 5 | ✅ Documentado |
|
|
| US-PFM-004 | Ejecutar stress test | P0 | 5 | ✅ Documentado |
|
|
| US-PFM-005 | Configurar asignación target | P0 | 8 | ✅ Documentado |
|
|
| US-PFM-006 | Ver desviación de targets | P1 | 5 | ✅ Documentado |
|
|
| US-PFM-007 | Ejecutar rebalanceo | P1 | 5 | ✅ Documentado |
|
|
| US-PFM-008 | Ver historial de transacciones | P1 | 3 | ✅ Documentado |
|
|
| US-PFM-009 | Exportar historial | P2 | 5 | ✅ Documentado |
|
|
| US-PFM-010 | Comparar con benchmark | P2 | 3 | ✅ Documentado |
|
|
| US-PFM-011 | Métricas de benchmark | P1 | 5 | ✅ Documentado |
|
|
| US-PFM-012 | Generar reporte fiscal | P2 | 8 | ✅ Documentado |
|
|
|
|
**Total:** 65 SP (100% documentados)
|
|
|
|
---
|
|
|
|
## Perfiles de Riesgo
|
|
|
|
| Perfil | Atlas | Orion | Nova | Cash | Target Mensual |
|
|
|--------|-------|-------|------|------|----------------|
|
|
| Ultra Conservador | 70% | 20% | 0% | 10% | 2-3% |
|
|
| Conservador | 50% | 35% | 5% | 10% | 3-5% |
|
|
| Moderado | 30% | 50% | 15% | 5% | 5-8% |
|
|
| Agresivo | 15% | 45% | 35% | 5% | 8-15% |
|
|
| Ultra Agresivo | 5% | 30% | 60% | 5% | 15%+ |
|
|
|
|
---
|
|
|
|
## Triggers de Rebalanceo
|
|
|
|
| Tipo | Condición | Frecuencia |
|
|
|------|-----------|------------|
|
|
| Drift | Desviación > 5% | Continuo |
|
|
| Calendario | Día 1 del mes | Mensual |
|
|
| Rendimiento | Ganancia > 20% | Por evento |
|
|
| Drawdown | Pérdida > 15% | Por evento |
|
|
| Objetivo | Meta alcanzada | Por evento |
|
|
|
|
---
|
|
|
|
## Distribución de Rendimientos
|
|
|
|
**Esquema por Defecto:**
|
|
- 80% reinversión (compound growth)
|
|
- 20% distribución al usuario
|
|
|
|
**Frecuencias:**
|
|
- Mensual, Trimestral, Semestral, Anual, Manual
|
|
|
|
**Destinos:**
|
|
- Wallet interno
|
|
- Cuenta bancaria (Stripe payout)
|
|
- Crypto wallet (futuro)
|
|
|
|
---
|
|
|
|
## Dependencias
|
|
|
|
### Depende de:
|
|
|
|
- **OQI-001:** Autenticación
|
|
- **OQI-004:** Investment Accounts (cuentas de inversión)
|
|
- **OQI-005:** Payments (distribuciones, aportaciones)
|
|
- **OQI-006:** ML Signals (performance de agentes)
|
|
|
|
### Bloquea:
|
|
|
|
- Ninguna
|
|
|
|
---
|
|
|
|
## Stack Técnico
|
|
|
|
| Capa | Tecnología | Uso |
|
|
|------|------------|-----|
|
|
| Frontend | React + D3.js | Dashboard y charts |
|
|
| Backend | Express.js | API REST |
|
|
| Database | PostgreSQL | Persistencia |
|
|
| Cálculos | Python (NumPy, SciPy) | Monte Carlo, métricas |
|
|
| Jobs | Bull Queue + Redis | Rebalanceo, distribuciones |
|
|
| Cache | Redis | Performance |
|
|
|
|
---
|
|
|
|
## Métricas del Portfolio
|
|
|
|
### Performance
|
|
- TWR (Time-Weighted Return)
|
|
- MWR (Money-Weighted Return)
|
|
- Sharpe Ratio
|
|
- Sortino Ratio
|
|
- Maximum Drawdown
|
|
- Calmar Ratio
|
|
|
|
### Risk
|
|
- Beta vs benchmark
|
|
- Alpha generation
|
|
- Volatilidad
|
|
- Value at Risk (VaR)
|
|
|
|
---
|
|
|
|
## Criterios de Aceptación
|
|
|
|
### Funcionales
|
|
|
|
- [ ] Cuestionario de perfil de riesgo completo
|
|
- [ ] Dashboard de portfolio con métricas
|
|
- [ ] Rebalanceo automático funcionando
|
|
- [ ] Distribuciones mensuales ejecutándose
|
|
- [ ] Proyecciones Monte Carlo precisas
|
|
- [ ] Metas de inversión con tracking
|
|
|
|
### No Funcionales
|
|
|
|
- [ ] Dashboard carga < 2 segundos
|
|
- [ ] Simulaciones < 5 segundos (1000 escenarios)
|
|
- [ ] Distribuciones procesadas en < 24 horas
|
|
|
|
### Técnicos
|
|
|
|
- [ ] Cobertura tests > 80%
|
|
- [ ] Logs de auditoría completos
|
|
- [ ] Documentación API
|
|
|
|
---
|
|
|
|
## Hitos
|
|
|
|
| Hito | Entregables | Target |
|
|
|------|-------------|--------|
|
|
| M1 | Perfiles + asignación básica | Sprint 11 |
|
|
| M2 | Rebalanceo automático | Sprint 12 |
|
|
| M3 | Distribuciones + wallet | Sprint 12 |
|
|
| M4 | Proyecciones + metas | Sprint 13 |
|
|
| M5 | Reportes + exportación | Sprint 13 |
|
|
|
|
---
|
|
|
|
## Referencias
|
|
|
|
- [README Principal](./README.md)
|
|
- [OQI-004: Investment Accounts](../OQI-004-investment-accounts/)
|
|
- [OQI-005: Payments](../OQI-005-payments-stripe/)
|
|
- [Modern Portfolio Theory](https://en.wikipedia.org/wiki/Modern_portfolio_theory)
|