--- id: "RF-PFM-004" title: "Historial de Transacciones" 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-004: Historial de Transacciones **Épica:** OQI-008 - Portfolio Manager **Versión:** 1.0 **Fecha:** 2025-12-05 **Estado:** Planificado **Prioridad:** P1 - Alto --- ## Descripción El sistema debe mantener y mostrar un historial completo de todas las transacciones del usuario, incluyendo trades, depósitos, retiros, dividendos y fees. --- ## Requisitos Funcionales ### RF-PFM-004.1: Lista de Transacciones - El usuario debe ver todas sus transacciones en lista paginada - Cada transacción debe mostrar: fecha, tipo, símbolo, cantidad, precio, total - Las transacciones deben poder filtrarse por tipo, símbolo, fecha - Las transacciones deben poder ordenarse por cualquier columna - El usuario debe poder buscar transacciones específicas ### RF-PFM-004.2: Tipos de Transacciones - **BUY:** Compra de activos - **SELL:** Venta de activos - **DEPOSIT:** Depósito de fondos - **WITHDRAWAL:** Retiro de fondos - **DIVIDEND:** Dividendos recibidos - **FEE:** Comisiones y fees - **TRANSFER:** Transferencias entre cuentas - **INTEREST:** Intereses recibidos ### RF-PFM-004.3: Detalle de Transacción - El usuario debe poder ver detalle completo de cada transacción - El detalle debe incluir: precio de ejecución, fees, P&L realizado - Para ventas, mostrar P&L y % de ganancia/pérdida - Mostrar costo base de la posición ### RF-PFM-004.4: Estadísticas de Trading - El sistema debe calcular win rate (% de trades ganadores) - El sistema debe calcular P&L promedio por trade - El sistema debe mostrar mejor y peor trade - El sistema debe mostrar P&L por símbolo - El sistema debe mostrar P&L por mes ### RF-PFM-004.5: Exportación de Datos - El usuario debe poder exportar transacciones a CSV - El usuario debe poder exportar a PDF - El usuario debe poder filtrar datos antes de exportar - El formato debe ser compatible con tax software --- ## Criterios de Aceptación ```gherkin Feature: Historial de Transacciones Scenario: Ver historial de transacciones Given soy usuario con trades realizados When accedo a "Historial de Transacciones" Then veo lista de mis transacciones And están ordenadas por fecha (más reciente primero) And cada transacción muestra información básica Scenario: Filtrar transacciones Given estoy viendo el historial When selecciono filtro "Tipo: Ventas" And selecciono filtro "Símbolo: AAPL" Then solo veo ventas de AAPL And puedo limpiar filtros para ver todo Scenario: Ver detalle de trade Given veo una transacción de venta When hago clic en la transacción Then veo detalle completo: | Campo | Valor | | Tipo | SELL | | Símbolo | AAPL | | Cantidad | 10 | | Precio | $185.50 | | Total | $1,855.00 | | Fees | $1.00 | | P&L Realizado | +$250.00 (+15.6%) | Scenario: Exportar transacciones Given tengo transacciones en mi historial When selecciono "Exportar a CSV" And selecciono rango de fechas Then se descarga archivo CSV And contiene todas las transacciones del período ``` --- ## Reglas de Negocio | Regla | Descripción | |-------|-------------| | RN-001 | Historial disponible para todos los planes | | RN-002 | Free: últimos 90 días, Pro+: historial completo | | RN-003 | P&L calculado con método FIFO por defecto | | RN-004 | Exportación ilimitada para Pro+ | | RN-005 | Retención de datos: 7 años mínimo | --- ## Formato de Datos ### Transacción ```yaml transaction: id: "txn-123456" type: "SELL" symbol: "AAPL" quantity: 10 price: 185.50 total: 1855.00 fees: 1.00 net_amount: 1854.00 executed_at: "2025-12-05T15:30:00Z" # Para ventas realized_pnl: 250.00 realized_pnl_percent: 15.6 cost_basis: 160.50 holding_period_days: 45 ``` --- ## Wireframe ``` ┌─────────────────────────────────────────────────────────────────────────┐ │ Historial de Transacciones [Exportar ▾] [🔍] │ ├─────────────────────────────────────────────────────────────────────────┤ │ │ │ Filtros: [Todos ▾] [Todos símbolos ▾] [Último mes ▾] [Aplicar] │ │ │ │ ┌────────────────────────────────────────────────────────────────────┐ │ │ │ Fecha │ Tipo │ Símbolo │ Cantidad │ Precio │ P&L │ │ │ ├─────────────┼────────┼─────────┼──────────┼──────────┼────────────┤ │ │ │ 05 dic 15:30│ SELL │ AAPL │ 10 │ $185.50 │ +$250 ✓ │ │ │ │ 03 dic 10:15│ BUY │ TSLA │ 5 │ $245.00 │ - │ │ │ │ 01 dic 09:30│ DIVIDEND│ MSFT │ - │ $0.75 │ +$37.50 │ │ │ │ 28 nov 14:00│ BUY │ AAPL │ 10 │ $175.00 │ - │ │ │ │ 25 nov 11:30│ DEPOSIT│ - │ - │ $5,000 │ - │ │ │ └────────────────────────────────────────────────────────────────────┘ │ │ │ │ [← Anterior] Página 1 de 5 [Siguiente →] │ │ │ │ ┌────────────────────────────────────────────────────────────────────┐ │ │ │ Resumen del Período │ │ │ │ │ │ │ │ Total P&L: +$1,250.00 Trades: 15 │ │ │ │ Win Rate: 67% Mejor Trade: +$500 (NVDA) │ │ │ │ P&L Promedio: +$83.33 Peor Trade: -$120 (TSLA) │ │ │ └────────────────────────────────────────────────────────────────────┘ │ │ │ └─────────────────────────────────────────────────────────────────────────┘ ``` --- ## Dependencias ### Épicas Requeridas - **OQI-004:** Cuentas de inversión - **OQI-003:** Ejecución de órdenes --- ## Especificaciones Técnicas Relacionadas - [ET-PFM-005: Historial y Reportes](../especificaciones/ET-PFM-005-historial-reportes.md) --- ## Historias de Usuario Relacionadas - US-PFM-008: Ver historial de transacciones - US-PFM-009: Exportar historial --- *Documento de requerimientos - Sistema NEXUS* *Trading Platform*