trading-platform/docs/02-definicion-modulos/OQI-004-investment-accounts/requerimientos/RF-INV-006-reportes.md
rckrdmrd a7cca885f0 feat: Major platform documentation and architecture updates
Changes include:
- Updated architecture documentation
- Enhanced module definitions (OQI-001 to OQI-008)
- ML integration documentation updates
- Trading strategies documentation
- Orchestration and inventory updates
- Docker configuration updates

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 05:33:35 -06:00

10 KiB

id title type status priority epic project version created_date updated_date
RF-INV-006 Reportes y Analisis de Rendimiento Requirement Done Alta OQI-004 trading-platform 1.0.0 2025-12-05 2026-01-04

RF-INV-006: Reportes y Análisis de Rendimiento

Metadata

Campo Valor
ID RF-INV-006
Épica OQI-004 - Cuentas de Inversión
Tipo Requerimiento Funcional
Prioridad P1
Story Points 8
Estado Aprobado
Última actualización 2025-12-05

Descripción

El sistema debe proporcionar reportes detallados y análisis de rendimiento para las cuentas de inversión, incluyendo métricas históricas, comparativas con benchmarks, y exportación de datos.


Tipos de Reportes

1. Dashboard de Portfolio

Vista consolidada de todas las cuentas del usuario:

┌─────────────────────────────────────────────────────────────────────┐
│                      MI PORTFOLIO                                    │
├─────────────────────────────────────────────────────────────────────┤
│                                                                      │
│   Balance Total: $15,234.56                     Rendimiento 30d: +8.2%
│   P&L Hoy: +$45.23 (+0.3%)                     Rendimiento Total: +52.3%
│                                                                      │
│   ┌─────────────────────────────────────────────────────────────┐  │
│   │                    GRÁFICO DE RENDIMIENTO                    │  │
│   │                         (30 días)                            │  │
│   └─────────────────────────────────────────────────────────────┘  │
│                                                                      │
│   CUENTAS ACTIVAS                                                   │
│   ┌─────────────┬──────────────┬─────────────┬─────────────────┐  │
│   │  Producto   │   Balance    │  P&L Hoy    │  Rendimiento    │  │
│   ├─────────────┼──────────────┼─────────────┼─────────────────┤  │
│   │  Atlas      │   $5,000.00  │  +$12.50    │  +4.2% (30d)    │  │
│   │  Orion      │   $7,234.56  │  +$28.93    │  +7.8% (30d)    │  │
│   │  Nova       │   $3,000.00  │  +$3.80     │  +12.4% (30d)   │  │
│   └─────────────┴──────────────┴─────────────┴─────────────────┘  │
│                                                                      │
└─────────────────────────────────────────────────────────────────────┘

2. Reporte Individual de Cuenta

Detalle profundo por cuenta de inversión:

  • Rendimiento histórico (1d, 7d, 30d, 90d, YTD, All-time)
  • Gráfico de equity curve
  • Distribución de trades por resultado
  • Historial de depósitos y retiros
  • Lista de posiciones abiertas
  • Historial de trades cerrados

3. Reporte de Trades

Análisis detallado de operaciones:

Campo Descripción
ID Identificador único
Fecha/Hora Timestamp de ejecución
Símbolo Par tradedo
Tipo Buy/Sell
Cantidad Volumen operado
Precio Entrada Precio de apertura
Precio Salida Precio de cierre
P&L Ganancia/pérdida en USD
P&L % Porcentaje de ganancia/pérdida
Duración Tiempo que estuvo abierta

Métricas Calculadas

Métricas de Rendimiento

interface PerformanceMetrics {
  // Retornos
  return24h: number;           // Rendimiento últimas 24h
  return7d: number;            // Rendimiento últimos 7 días
  return30d: number;           // Rendimiento últimos 30 días
  return90d: number;           // Rendimiento últimos 90 días
  returnYTD: number;           // Rendimiento año actual
  returnAllTime: number;       // Rendimiento total

  // Rendimiento anualizado
  annualizedReturn: number;

  // Comparativas
  vsBTC: number;               // Rendimiento vs hold BTC
  vsETH: number;               // Rendimiento vs hold ETH
  vsSP500?: number;            // Rendimiento vs S&P 500
}

Métricas de Riesgo

interface RiskMetrics {
  // Volatilidad
  volatility30d: number;       // Desviación estándar 30 días

  // Drawdown
  currentDrawdown: number;
  maxDrawdown: number;
  maxDrawdownDuration: number; // días

  // Risk-adjusted returns
  sharpeRatio: number;
  sortinoRatio: number;
  calmarRatio: number;

  // Value at Risk
  var95: number;               // 95% VaR
  var99: number;               // 99% VaR
}

Métricas de Trading

interface TradingMetrics {
  // Conteos
  totalTrades: number;
  winningTrades: number;
  losingTrades: number;

  // Ratios
  winRate: number;             // % trades ganadores
  lossRate: number;            // % trades perdedores

  // Promedios
  avgWin: number;              // Ganancia promedio
  avgLoss: number;             // Pérdida promedio
  avgTradeReturn: number;      // Retorno promedio por trade

  // Factores
  profitFactor: number;        // Ganancias / Pérdidas
  expectancy: number;          // Expected return per trade

  // Frecuencia
  avgTradesPerDay: number;
  avgHoldingPeriod: number;    // minutos
}

Funcionalidades Requeridas

RF-INV-006.1: Dashboard de Portfolio

  • Mostrar balance total consolidado
  • Mostrar P&L diario
  • Gráfico de rendimiento del portfolio
  • Tabla resumen de cuentas
  • Comparación con benchmarks

RF-INV-006.2: Detalle de Cuenta

  • Métricas de rendimiento completas
  • Equity curve interactivo
  • Distribución de trades (pie chart)
  • Historial de transacciones
  • Posiciones abiertas con P&L en tiempo real

RF-INV-006.3: Análisis de Trades

  • Tabla paginada de todos los trades
  • Filtros por fecha, símbolo, resultado
  • Ordenamiento por cualquier columna
  • Detalle expandible por trade
  • Estadísticas agregadas

RF-INV-006.4: Exportación de Datos

Formatos soportados:

  • CSV (para análisis en Excel)
  • PDF (para documentación)
  • JSON (para integración)

Datos exportables:

  • Historial de trades
  • Historial de transacciones
  • Resumen de rendimiento
  • Declaración fiscal (anual)

RF-INV-006.5: Comparación con Benchmarks

El sistema debe comparar rendimiento vs:

  • Precio de Bitcoin (BTC HODL)
  • Precio de Ethereum (ETH HODL)
  • Otros agentes de la plataforma
  • Índices de referencia (opcional)

Periodicidad de Cálculos

Métrica Frecuencia Storage
Balance snapshot Cada hora 2 años
Daily summary Fin de día Indefinido
Weekly summary Domingo 00:00 UTC Indefinido
Monthly summary Día 1 de cada mes Indefinido
Trade metrics En tiempo real -

Criterios de Aceptación

Escenario: Usuario ve dashboard de portfolio
DADO que el usuario tiene 2 cuentas activas
CUANDO accede a /investment/dashboard
ENTONCES ve el balance total consolidado
Y ve el P&L del día
Y ve gráfico de rendimiento de 30 días
Y ve tabla con resumen de cada cuenta

Escenario: Usuario ve detalle de cuenta
DADO que el usuario tiene cuenta activa en Atlas
CUANDO accede al detalle de la cuenta
ENTONCES ve métricas de rendimiento (1d, 7d, 30d, YTD)
Y ve equity curve interactivo
Y ve posiciones abiertas con P&L en tiempo real
Y ve historial de trades paginado

Escenario: Usuario exporta historial de trades
DADO que el usuario está en el detalle de cuenta
CUANDO hace click en "Exportar" y selecciona CSV
ENTONCES descarga archivo CSV con todos los trades
Y el archivo incluye todas las columnas relevantes
Y los datos están correctamente formateados

Escenario: Usuario compara rendimiento con BTC
DADO que el usuario ve el gráfico de rendimiento
CUANDO activa la comparación con "BTC HODL"
ENTONCES se superpone línea de rendimiento de BTC
Y ve diferencia porcentual en tooltip
Y ve si superó o no al benchmark

API Endpoints

Método Endpoint Descripción
GET /investment/portfolio/summary Resumen consolidado
GET /investment/accounts/:id/metrics Métricas de cuenta
GET /investment/accounts/:id/equity Datos de equity curve
GET /investment/accounts/:id/trades Historial de trades
GET /investment/accounts/:id/trades/:tradeId Detalle de trade
GET /investment/accounts/:id/export Exportar datos
GET /investment/benchmarks Datos de benchmarks

Datos de Ejemplo

{
  "portfolio": {
    "totalBalance": 15234.56,
    "todayPnl": 45.23,
    "todayPnlPercent": 0.30,
    "return30d": 8.2,
    "returnAllTime": 52.3,
    "accounts": [
      {
        "id": "uuid-1",
        "product": "Atlas",
        "balance": 5000.00,
        "todayPnl": 12.50,
        "return30d": 4.2
      }
    ],
    "benchmarks": {
      "btc30d": 5.2,
      "eth30d": 7.8,
      "vsBTC": "+3.0%",
      "vsETH": "+0.4%"
    }
  }
}

Referencias


Autor: Requirements-Analyst Fecha: 2025-12-05