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>
232 lines
8.5 KiB
Markdown
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*
|