trading-platform/docs/02-definicion-modulos/OQI-008-portfolio-manager/requerimientos/RF-PFM-003-rebalanceo.md
rckrdmrd c1b5081208 feat(ml): Complete FASE 11 - BTCUSD update and comprehensive documentation alignment
ML Engine Updates:
- Updated BTCUSD with Polygon API data (2024-2025): 215,699 new records
- Re-trained all ML models: Attention (R²: 0.223), Base, Metamodel (87.3% confidence)
- Backtest results: +176.71R profit with aggressive_filter strategy

Documentation Consolidation:
- Created docs/99-analisis/_MAP.md index with 13 new analysis documents
- Consolidated inventories: removed duplicates from orchestration/inventarios/
- Updated ML_INVENTORY.yml with BTCUSD metrics and training results
- Added execution reports: FASE11-BTCUSD, correction issues, alignment validation

Architecture & Integration:
- Updated all module documentation with NEXUS v3.4 frontmatter
- Fixed _MAP.md indexes across all folders
- Updated orchestration plans and traces

Files: 229 changed, 5064 insertions(+), 1872 deletions(-)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 09:31:29 -06:00

232 lines
8.5 KiB
Markdown

---
id: "RF-PFM-003"
title: "Rebalanceo de Portfolio"
type: "Requirement"
status: "Done"
priority: "Alta"
epic: "OQI-008"
project: "trading-platform"
version: "1.0.0"
created_date: "2025-12-05"
updated_date: "2026-01-04"
---
# RF-PFM-003: Rebalanceo de Portfolio
**Épica:** OQI-008 - Portfolio Manager
**Versión:** 1.0
**Fecha:** 2025-12-05
**Estado:** Planificado
**Prioridad:** P1 - Alto
---
## Descripción
El sistema debe proporcionar herramientas para rebalancear el portfolio, incluyendo detección de desviación de la asignación objetivo, sugerencias de rebalanceo y ejecución de órdenes de rebalanceo.
---
## Requisitos Funcionales
### RF-PFM-003.1: Asignación Objetivo
- El usuario debe poder definir asignación objetivo por activo
- El usuario debe poder definir asignación por tipo de activo
- El sistema debe validar que la asignación sume 100%
- El usuario debe poder guardar múltiples perfiles de asignación
- El sistema debe proveer templates de asignación predefinidos
### RF-PFM-003.2: Detección de Desviación
- El sistema debe calcular desviación actual vs objetivo
- El sistema debe alertar cuando desviación supera umbral
- Umbrales configurables: 5%, 10%, 15%
- El sistema debe mostrar cuándo fue el último rebalanceo
- El sistema debe recomendar frecuencia de rebalanceo según perfil
### RF-PFM-003.3: Plan de Rebalanceo
- El sistema debe generar plan de rebalanceo automático
- El plan debe mostrar órdenes necesarias (compras/ventas)
- El plan debe considerar costos de transacción
- El plan debe considerar implicaciones fiscales (Premium)
- El usuario debe poder ajustar el plan manualmente
### RF-PFM-003.4: Ejecución de Rebalanceo
- El usuario debe poder revisar y aprobar el plan
- El sistema debe ejecutar órdenes en secuencia óptima
- El sistema debe primero vender, luego comprar
- El usuario debe ver progreso de ejecución
- El sistema debe notificar cuando complete
### RF-PFM-003.5: Historial de Rebalanceos
- El sistema debe guardar historial de rebalanceos
- El usuario debe poder ver fecha, acciones y resultado
- El usuario debe poder ver impacto de cada rebalanceo
- El usuario debe poder exportar historial
---
## Criterios de Aceptación
```gherkin
Feature: Rebalanceo de Portfolio
Scenario: Configurar asignación objetivo
Given soy usuario Pro/Premium
When accedo a "Configurar Asignación"
Then puedo definir % para cada tipo de activo
And puedo definir % para activos específicos
And el sistema valida que sume 100%
When guardo la configuración
Then se establece como mi asignación objetivo
Scenario: Ver desviación de asignación
Given tengo asignación objetivo configurada
And mi portfolio ha cambiado de valor
When veo el dashboard de rebalanceo
Then veo asignación actual vs objetivo
And veo desviación por activo
And veo si necesito rebalancear
Scenario: Generar plan de rebalanceo
Given mi desviación supera el umbral configurado
When solicito "Generar Plan de Rebalanceo"
Then el sistema genera lista de operaciones
And muestra qué vender y qué comprar
And muestra costos estimados de transacción
And puedo ajustar el plan antes de ejecutar
Scenario: Ejecutar rebalanceo
Given tengo plan de rebalanceo aprobado
When confirmo "Ejecutar Rebalanceo"
Then el sistema ejecuta las órdenes
And veo progreso de ejecución
And recibo notificación al completar
And mi portfolio queda balanceado
```
---
## Reglas de Negocio
| Regla | Descripción |
|-------|-------------|
| RN-001 | Rebalanceo requiere plan Pro o Premium |
| RN-002 | Umbral mínimo de desviación: 5% |
| RN-003 | No rebalancear posiciones menores a $100 |
| RN-004 | Ejecutar ventas antes que compras |
| RN-005 | Considerar spread bid-ask en estimaciones |
| RN-006 | Máximo 10 operaciones por rebalanceo |
---
## Templates de Asignación
### Conservador
```yaml
template: conservative
allocation:
bonds: 60%
large_cap_stocks: 30%
cash: 10%
```
### Moderado
```yaml
template: moderate
allocation:
large_cap_stocks: 40%
small_cap_stocks: 20%
bonds: 30%
cash: 10%
```
### Agresivo
```yaml
template: aggressive
allocation:
large_cap_stocks: 40%
small_cap_stocks: 30%
emerging_markets: 15%
crypto: 10%
cash: 5%
```
### Crypto Focused
```yaml
template: crypto_focused
allocation:
btc: 50%
eth: 25%
altcoins: 15%
stablecoins: 10%
```
---
## Wireframe
```
┌─────────────────────────────────────────────────────────────────────────┐
│ Rebalanceo de Portfolio [Premium] │
├─────────────────────────────────────────────────────────────────────────┤
│ │
│ Asignación Actual vs Objetivo │
│ ┌───────────────────────────────────────────────────────────────────┐ │
│ │ │ │
│ │ Tipo Objetivo Actual Desviación │ │
│ │ ───────────────────────────────────────────── │ │
│ │ Acciones 50% ██████████ 55% +5% ⚠️ │ │
│ │ Crypto 30% ████████ 28% -2% │ │
│ │ Bonos 15% ███ 12% -3% ⚠️ │ │
│ │ Cash 5% ██ 5% 0% │ │
│ │ │ │
│ └───────────────────────────────────────────────────────────────────┘ │
│ │
│ ⚠️ Tu portfolio tiene desviación de +5% en acciones │
│ │
│ ┌─────────────────────────────────────────────────────────────────────┐│
│ │ Plan de Rebalanceo Sugerido ││
│ │ ││
│ │ 1. VENDER $1,200 de AAPL ││
│ │ 2. COMPRAR $800 de BND (bonos) ││
│ │ 3. COMPRAR $400 de BTC ││
│ │ ││
│ │ Costos estimados: $4.50 en comisiones ││
│ │ ││
│ │ [Ajustar Plan] [✓ Ejecutar Rebalanceo] ││
│ └─────────────────────────────────────────────────────────────────────┘│
│ │
└─────────────────────────────────────────────────────────────────────────┘
```
---
## Dependencias
### Épicas Requeridas
- **OQI-004:** Cuentas de inversión (posiciones)
- **OQI-003:** Ejecución de órdenes
### APIs Externas
- Market data para precios
- Order execution API
---
## Especificaciones Técnicas Relacionadas
- [ET-PFM-004: Motor de Rebalanceo](../especificaciones/ET-PFM-004-motor-rebalanceo.md)
---
## Historias de Usuario Relacionadas
- US-PFM-005: Configurar asignación objetivo
- US-PFM-006: Ver necesidad de rebalanceo
- US-PFM-007: Ejecutar rebalanceo
---
*Documento de requerimientos - Sistema NEXUS*
*Trading Platform*