trading-platform/docs/02-definicion-modulos/OQI-008-portfolio-manager/_MAP.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

270 lines
9.3 KiB
Markdown

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