--- id: "MAP-OQI-008-portfolio-manager" title: "Mapa de OQI-008-portfolio-manager" type: "Index" project: "trading-platform" updated_date: "2026-01-28" --- # _MAP: OQI-008 - Portfolio Manager **Ultima actualizacion:** 2026-01-28 **Estado:** En Desarrollo (45% completado) **Version:** 1.1.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 # Documentacion tecnica principal ├── _MAP.md # Este archivo - indice ├── requerimientos/ # Documentos de requerimientos funcionales (7) │ ├── RF-PFM-001-dashboard-portfolio.md # Dashboard del portfolio │ ├── RF-PFM-002-analisis-riesgo.md # Analisis de riesgo (VaR, Sharpe) │ ├── RF-PFM-003-rebalanceo.md # Rebalanceo automatico │ ├── RF-PFM-004-historial-transacciones.md # Historial de transacciones │ ├── RF-PFM-005-comparacion-benchmark.md # Comparacion vs benchmark │ ├── RF-PFM-006-reportes-fiscales.md # Reportes fiscales │ └── RF-PFM-007-metas-inversion.md # Metas de inversion ├── especificaciones/ # Especificaciones tecnicas (11) │ ├── ET-PFM-001-arquitectura-dashboard.md # Arquitectura del dashboard │ ├── ET-PFM-002-calculo-metricas.md # Calculo de metricas │ ├── 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 (entity) │ ├── ET-PFM-008-frontend.md # Especificacion frontend │ ├── ET-PFM-009-custom-charts-svg-canvas.md # Charts SVG + Canvas │ ├── ET-PFM-010-architecture.md # **Arquitectura general sistema** │ └── ET-PFM-011-goals-system.md # **Sistema completo de Goals** ├── historias-usuario/ # User Stories (14) │ ├── 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 metricas de riesgo │ ├── US-PFM-004-ejecutar-stress-test.md # Ejecutar stress test │ ├── US-PFM-005-configurar-asignacion.md # Configurar asignacion │ ├── US-PFM-006-ver-desviacion.md # Ver desviacion 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 # Metricas de benchmark │ ├── US-PFM-012-reporte-fiscal.md # Generar reporte fiscal │ ├── US-PFM-013-alerta-rebalanceo.md # Alerta de rebalanceo │ └── US-PFM-014-generar-pdf.md # Generar reporte PDF └── 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 Tecnicas | ID | Nombre | Componente | Estado | |----|--------|------------|--------| | ET-PFM-001 | Arquitectura Dashboard | Frontend | Documentado | | ET-PFM-002 | Calculo de Metricas | 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 (Entity) | Goals Engine | Documentado | | ET-PFM-008 | Frontend Completo | Frontend | Documentado | | ET-PFM-009 | Custom Charts SVG/Canvas | Frontend | Documentado | | ET-PFM-010 | **Arquitectura General** | Sistema | **Documentado** | | ET-PFM-011 | **Sistema de Goals Completo** | Goals Engine | **Documentado** | **Total:** 11 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 metricas de riesgo | P0 | 5 | Documentado | | US-PFM-004 | Ejecutar stress test | P0 | 5 | Documentado | | US-PFM-005 | Configurar asignacion target | P0 | 8 | Documentado | | US-PFM-006 | Ver desviacion 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 | Metricas de benchmark | P1 | 5 | Documentado | | US-PFM-012 | Generar reporte fiscal | P2 | 8 | Documentado | | US-PFM-013 | Alerta de rebalanceo | P2 | 5 | Documentado | | US-PFM-014 | Generar reporte PDF | P0 | 5 | Documentado | **Total:** 75 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) - [ET-PFM-010: Arquitectura General](./especificaciones/ET-PFM-010-architecture.md) - [ET-PFM-011: Sistema de Goals](./especificaciones/ET-PFM-011-goals-system.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) --- ## Historial de Cambios | Fecha | Version | Descripcion | |-------|---------|-------------| | 2025-12-05 | 1.0.0 | Documentacion inicial | | 2026-01-25 | 1.0.1 | Agregados ET-PFM-008, ET-PFM-009, US-PFM-013, US-PFM-014 | | 2026-01-28 | 1.1.0 | Agregados ET-PFM-010 (Arquitectura), ET-PFM-011 (Goals System) |