---
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)
