---
id: "RF-PFM-005"
title: "Comparación con Benchmarks"
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-005: Comparación con Benchmarks

**Épica:** OQI-008 - Portfolio Manager
**Versión:** 1.0
**Fecha:** 2025-12-05
**Estado:** Planificado
**Prioridad:** P1 - Alto

---

## Descripción

El sistema debe permitir al usuario comparar el rendimiento de su portfolio contra benchmarks de mercado y otros índices de referencia para evaluar su desempeño relativo.

---

## Requisitos Funcionales

### RF-PFM-005.1: Benchmarks Disponibles
- El sistema debe soportar múltiples benchmarks:
  - S&P 500 (SPY)
  - NASDAQ 100 (QQQ)
  - Dow Jones (DIA)
  - Russell 2000 (IWM)
  - Total Market (VTI)
  - Bitcoin (BTC)
  - Ethereum (ETH)
- El usuario debe poder seleccionar benchmark de comparación
- El usuario debe poder guardar benchmark favorito

### RF-PFM-005.2: Gráfico Comparativo
- El sistema debe mostrar gráfico con portfolio vs benchmark
- Ambas líneas deben normalizarse al mismo punto de inicio
- El usuario debe poder cambiar timeframe (1m, 3m, 6m, 1y, All)
- El gráfico debe mostrar diferencia (alpha) en hover
- El gráfico debe destacar períodos de over/underperformance

### RF-PFM-005.3: Métricas de Comparación
- El sistema debe calcular Alpha (rendimiento exceso vs benchmark)
- El sistema debe calcular Beta (correlación con mercado)
- El sistema debe calcular R-squared (correlación)
- El sistema debe calcular Tracking Error
- El sistema debe calcular Information Ratio

### RF-PFM-005.4: Análisis de Períodos
- El sistema debe mostrar rendimiento por período vs benchmark
- Tabla comparativa: 1d, 1w, 1m, 3m, 6m, 1y, YTD
- Destacar períodos donde superó al benchmark
- Mostrar cuántos períodos ganó vs benchmark

### RF-PFM-005.5: Benchmark Personalizado
- El usuario debe poder crear benchmark personalizado (Premium)
- Combinar múltiples índices con pesos
- Guardar y reusar benchmarks personalizados

---

## Criterios de Aceptación

```gherkin
Feature: Comparación con Benchmarks

Scenario: Comparar con S&P 500
  Given tengo portfolio con historial de rendimiento
  When selecciono benchmark "S&P 500"
  Then veo gráfico comparativo portfolio vs S&P 500
  And veo métrica Alpha
  And veo si estoy superando al benchmark

Scenario: Ver métricas comparativas
  Given estoy comparando con benchmark
  When veo la sección de métricas
  Then veo:
    | Métrica | Descripción |
    | Alpha | Rendimiento exceso anualizado |
    | Beta | Sensibilidad al mercado |
    | Sharpe vs Benchmark | Comparación de eficiencia |
    | Tracking Error | Desviación del benchmark |

Scenario: Análisis por período
  Given comparo mi portfolio con NASDAQ
  When veo el análisis por período
  Then veo tabla con rendimientos:
    | Período | Mi Portfolio | NASDAQ | Diferencia |
    | 1 mes | +5% | +3% | +2% ✓ |
    | 3 meses | +8% | +10% | -2% |
    | 1 año | +25% | +20% | +5% ✓ |
```

---

## Reglas de Negocio

| Regla | Descripción |
|-------|-------------|
| RN-001 | Benchmark default: S&P 500 |
| RN-002 | Alpha calculado anualizado |
| RN-003 | Beta calculado con regresión lineal (52 semanas) |
| RN-004 | Benchmark personalizado solo Premium |
| RN-005 | Máximo 3 benchmarks en comparación simultánea |

---

## Fórmulas

### Alpha
```
Alpha = Rp - [Rf + β × (Rm - Rf)]

Donde:
- Rp = Retorno del portfolio
- Rf = Tasa libre de riesgo
- β = Beta del portfolio
- Rm = Retorno del mercado (benchmark)
```

### Beta
```
β = Cov(Rp, Rm) / Var(Rm)

Donde:
- Cov = Covarianza entre portfolio y benchmark
- Var = Varianza del benchmark
```

### Information Ratio
```
IR = (Rp - Rb) / Tracking Error

Donde:
- Rp = Retorno del portfolio
- Rb = Retorno del benchmark
- Tracking Error = σ(Rp - Rb)
```

---

## Wireframe

```
┌─────────────────────────────────────────────────────────────────────────┐
│ Comparación vs Benchmark                                                │
├─────────────────────────────────────────────────────────────────────────┤
│                                                                          │
│ Benchmark: [S&P 500 ▾]    [+ Agregar benchmark]                         │
│                                                                          │
│ ┌────────────────────────────────────────────────────────────────────┐  │
│ │                    Portfolio vs S&P 500                             │  │
│ │                                                                     │  │
│ │  +30% ─                                    ╱─── Tu Portfolio (+28%) │  │
│ │  +20% ─                            ╱──────╱                         │  │
│ │  +10% ─                    ╱──────╱                                 │  │
│ │    0% ─────────────────╱──────────────── S&P 500 (+22%)            │  │
│ │  -10% ─────────────────────────────────────────────                │  │
│ │        Ene   Feb   Mar   Abr   May   Jun   Jul   Ago   Sep         │  │
│ │                                                                     │  │
│ │    [1M] [3M] [6M] [YTD] [1Y] [3Y] [All]                            │  │
│ └────────────────────────────────────────────────────────────────────┘  │
│                                                                          │
│ ┌────────────────────┐ ┌────────────────────┐ ┌────────────────────┐   │
│ │   ALPHA            │ │    BETA            │ │ INFORMATION RATIO  │   │
│ │   +6.0%            │ │    0.85            │ │   0.72             │   │
│ │   Anualizado       │ │   Menor volatilidad│ │   Bueno            │   │
│ └────────────────────┘ └────────────────────┘ └────────────────────┘   │
│                                                                          │
│ ┌────────────────────────────────────────────────────────────────────┐  │
│ │ Comparación por Período                                             │  │
│ │                                                                     │  │
│ │ Período   Mi Portfolio    S&P 500    Diferencia                    │  │
│ │ ─────────────────────────────────────────────────                  │  │
│ │ 1 día     +0.8%          +0.5%      +0.3% ✓                        │  │
│ │ 1 sem     +2.1%          +1.8%      +0.3% ✓                        │  │
│ │ 1 mes     +5.2%          +4.0%      +1.2% ✓                        │  │
│ │ 3 meses   +12.5%         +10.2%     +2.3% ✓                        │  │
│ │ YTD       +28.0%         +22.0%     +6.0% ✓                        │  │
│ │                                                                     │  │
│ │ 🏆 Has superado al S&P 500 en 5 de 5 períodos                      │  │
│ └────────────────────────────────────────────────────────────────────┘  │
│                                                                          │
└─────────────────────────────────────────────────────────────────────────┘
```

---

## Dependencias

### Épicas Requeridas
- **OQI-003:** Datos de índices de mercado
- **OQI-008:** Dashboard de portfolio

### Datos Requeridos
- Historial de precios de benchmarks
- Historial de valor del portfolio
- Tasa libre de riesgo (Treasury)

---

## Especificaciones Técnicas Relacionadas

- [ET-PFM-002: Cálculo de Métricas](../especificaciones/ET-PFM-002-calculo-metricas.md)

---

## Historias de Usuario Relacionadas

- US-PFM-010: Comparar portfolio vs benchmark
- US-PFM-011: Ver métricas de comparación

---

*Documento de requerimientos - Sistema NEXUS*
*Trading Platform*
