--- id: "US-PFM-013" title: "Alerta de Rebalanceo" type: "User Story" status: "Pending" priority: "Media" epic: "OQI-008" project: "trading-platform" story_points: 5 created_date: "2026-01-25" updated_date: "2026-01-25" --- # US-PFM-013: Alerta de Rebalanceo **Épica:** OQI-008 - Portfolio Manager **Story Points:** 5 | **Prioridad:** P2 --- ## Historia de Usuario **Como** inversor **Quiero** recibir alertas cuando mi portafolio se desvíe de la asignación objetivo **Para** mantener mi estrategia de inversión y rebalancear cuando sea necesario --- ## Criterios de Aceptación ```gherkin Scenario: Configurar umbral de desviación Given soy usuario Pro/Premium And estoy en la sección de Alertas When configuro un umbral de desviación (ej: 5%) Then el sistema guarda la configuración And veo el umbral configurado en mi dashboard Scenario: Recibir alerta cuando se excede el umbral Given tengo un umbral configurado de 5% And mi asignación objetivo es 60% acciones / 40% bonos When mi portafolio alcanza 65% acciones / 35% bonos Then recibo notificación push And recibo notificación email And veo badge de alerta en el dashboard Scenario: Ver desviación actual del portafolio Given estoy en la sección de Alertas When consulto mi portafolio Then veo tabla con cada clase de activo And cada fila muestra: asignación objetivo, asignación actual, desviación % And las desviaciones > umbral se resaltan en rojo Scenario: Recibir sugerencias de rebalanceo Given mi portafolio está fuera de balance When visualizo la desviación Then veo sugerencias automáticas de rebalanceo And cada sugerencia muestra: qué vender, qué comprar, montos And puedo ejecutar rebalanceo desde la sugerencia (1-click) Scenario: Configurar canales de notificación Given estoy en configuración de alertas When selecciono canales (push, email, SMS) Then el sistema respeta mis preferencias And solo recibo en canales habilitados ``` --- ## Dependencias - RF-PFM-007.1, RF-PFM-007.2, RF-PFM-007.3 - ET-PFM-007 - US-PFM-009 (Asignación objetivo) --- ## API Endpoints ### POST /api/portfolio/alerts **Configurar umbral de alerta** ```json { "userId": "uuid", "threshold": 5.0, "channels": ["push", "email"], "enabled": true } ``` **Response:** 201 Created ### GET /api/portfolio/deviation **Obtener desviación actual del portafolio** ```json { "userId": "uuid", "timestamp": "2026-01-25T10:30:00Z", "assets": [ { "assetClass": "stocks", "targetAllocation": 60.0, "currentAllocation": 65.2, "deviation": 5.2, "status": "alert" }, { "assetClass": "bonds", "targetAllocation": 40.0, "currentAllocation": 34.8, "deviation": -5.2, "status": "alert" } ], "isBalanced": false, "suggestions": [ { "action": "sell", "assetClass": "stocks", "amount": 500.00 }, { "action": "buy", "assetClass": "bonds", "amount": 500.00 } ] } ``` --- ## Elementos de UI/UX 1. **Card de Alertas en Dashboard** - Mostrar estado: ✓ Balanceado / ⚠ Fuera de balance - Badge rojo si hay desviación > umbral - Botón "Configurar" 2. **Modal de Configuración** - Input slider: umbral 1-10% - Checkboxes: canales de notificación - Botón Guardar 3. **Página de Desviación** - Tabla con desgloses por activo - Gráfico de dona: objetivo vs actual - Sugerencias de rebalanceo con botón "Ejecutar" 4. **Notificaciones** - Push: "Tu portafolio se desvió 5.2% de tu objetivo. Rebalancear" - Email: Detalles completos + link a dashboard --- *Historia de usuario - Sistema NEXUS*