219 lines
8.5 KiB
Markdown
219 lines
8.5 KiB
Markdown
# 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*
|
|
*OrbiQuant IA Trading Platform*
|