ML Engine Updates: - Updated BTCUSD with Polygon API data (2024-2025): 215,699 new records - Re-trained all ML models: Attention (R²: 0.223), Base, Metamodel (87.3% confidence) - Backtest results: +176.71R profit with aggressive_filter strategy Documentation Consolidation: - Created docs/99-analisis/_MAP.md index with 13 new analysis documents - Consolidated inventories: removed duplicates from orchestration/inventarios/ - Updated ML_INVENTORY.yml with BTCUSD metrics and training results - Added execution reports: FASE11-BTCUSD, correction issues, alignment validation Architecture & Integration: - Updated all module documentation with NEXUS v3.4 frontmatter - Fixed _MAP.md indexes across all folders - Updated orchestration plans and traces Files: 229 changed, 5064 insertions(+), 1872 deletions(-) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
224 lines
8.9 KiB
Markdown
224 lines
8.9 KiB
Markdown
---
|
||
id: "RF-PFM-002"
|
||
title: "Análisis de Riesgo"
|
||
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-002: Análisis de Riesgo
|
||
|
||
**Épica:** OQI-008 - Portfolio Manager
|
||
**Versión:** 1.0
|
||
**Fecha:** 2025-12-05
|
||
**Estado:** Planificado
|
||
**Prioridad:** P0 - Crítico
|
||
|
||
---
|
||
|
||
## Descripción
|
||
|
||
El sistema debe proporcionar análisis de riesgo completo del portfolio, incluyendo métricas de volatilidad, VaR (Value at Risk), stress testing y sugerencias de optimización de riesgo.
|
||
|
||
---
|
||
|
||
## Requisitos Funcionales
|
||
|
||
### RF-PFM-002.1: Métricas de Volatilidad
|
||
- El sistema debe calcular volatilidad histórica del portfolio
|
||
- El sistema debe calcular volatilidad de cada posición
|
||
- El sistema debe mostrar contribución de cada posición a la volatilidad total
|
||
- El sistema debe comparar volatilidad vs benchmark
|
||
- El sistema debe mostrar tendencia de volatilidad
|
||
|
||
### RF-PFM-002.2: Value at Risk (VaR)
|
||
- El sistema debe calcular VaR diario con 95% de confianza
|
||
- El sistema debe calcular VaR con 99% de confianza (Premium)
|
||
- El sistema debe mostrar VaR en monto ($) y porcentaje (%)
|
||
- El sistema debe explicar qué significa el VaR para el usuario
|
||
- El sistema debe alertar si VaR supera umbral configurado
|
||
|
||
### RF-PFM-002.3: Análisis de Correlación
|
||
- El sistema debe calcular matriz de correlación entre posiciones
|
||
- El sistema debe identificar posiciones altamente correlacionadas
|
||
- El sistema debe sugerir diversificación cuando hay alta correlación
|
||
- El sistema debe mostrar correlación del portfolio vs mercado (Beta)
|
||
|
||
### RF-PFM-002.4: Stress Testing
|
||
- El sistema debe simular impacto de escenarios adversos
|
||
- Escenarios predefinidos:
|
||
- Crash de mercado (-20%)
|
||
- Recesión económica
|
||
- Crisis de crypto (-50%)
|
||
- Subida de tasas de interés
|
||
- El usuario debe poder crear escenarios personalizados (Premium)
|
||
|
||
### RF-PFM-002.5: Métricas de Riesgo-Ajustadas
|
||
- El sistema debe calcular Sharpe Ratio
|
||
- El sistema debe calcular Sortino Ratio
|
||
- El sistema debe calcular Information Ratio vs benchmark
|
||
- El sistema debe calcular Maximum Drawdown
|
||
- El sistema debe calcular Calmar Ratio (Premium)
|
||
|
||
### RF-PFM-002.6: Alertas de Riesgo
|
||
- Alertar cuando volatilidad supera umbral histórico
|
||
- Alertar cuando VaR supera configuración del usuario
|
||
- Alertar cuando concentración en un activo es alta
|
||
- Alertar cuando correlación con mercado es extrema
|
||
|
||
---
|
||
|
||
## Criterios de Aceptación
|
||
|
||
```gherkin
|
||
Feature: Análisis de Riesgo
|
||
|
||
Scenario: Ver métricas de riesgo
|
||
Given soy usuario Pro con portfolio diversificado
|
||
When accedo a la sección "Análisis de Riesgo"
|
||
Then veo volatilidad del portfolio
|
||
And veo Value at Risk (VaR) 95%
|
||
And veo Sharpe Ratio
|
||
And veo Maximum Drawdown
|
||
|
||
Scenario: Ver matriz de correlación
|
||
Given tengo 5+ posiciones en mi portfolio
|
||
When veo la sección de correlación
|
||
Then veo matriz de correlación visual (heatmap)
|
||
And veo posiciones más correlacionadas destacadas
|
||
And veo sugerencia de diversificación si aplica
|
||
|
||
Scenario: Ejecutar stress test
|
||
Given soy usuario Premium
|
||
When selecciono escenario "Market Crash -20%"
|
||
And ejecuto el stress test
|
||
Then veo impacto estimado en mi portfolio
|
||
And veo qué posiciones serían más afectadas
|
||
And veo pérdida potencial en $
|
||
```
|
||
|
||
---
|
||
|
||
## Reglas de Negocio
|
||
|
||
| Regla | Descripción |
|
||
|-------|-------------|
|
||
| RN-001 | VaR calculado con método histórico (100 días) |
|
||
| RN-002 | Sharpe Ratio usa tasa libre de riesgo 5% anual |
|
||
| RN-003 | Alta correlación: > 0.7, Baja correlación: < 0.3 |
|
||
| RN-004 | Alertar si concentración > 30% en un activo |
|
||
| RN-005 | Stress testing solo disponible para Pro/Premium |
|
||
| RN-006 | Escenarios personalizados solo Premium |
|
||
|
||
---
|
||
|
||
## Dependencias
|
||
|
||
### Épicas Requeridas
|
||
- **OQI-003:** Datos históricos de precios
|
||
- **OQI-004:** Posiciones del usuario
|
||
|
||
### Datos Requeridos
|
||
- Historial de precios (mínimo 100 días)
|
||
- Posiciones actuales
|
||
- Benchmark data (S&P 500)
|
||
|
||
---
|
||
|
||
## Fórmulas y Cálculos
|
||
|
||
### Volatilidad
|
||
```
|
||
σ = √(Σ(Ri - μ)² / (n-1))
|
||
|
||
Donde:
|
||
- Ri = Retorno diario
|
||
- μ = Media de retornos
|
||
- n = Número de observaciones
|
||
```
|
||
|
||
### Value at Risk (VaR)
|
||
```
|
||
VaR_95% = μ - 1.65 × σ × √t × Portfolio_Value
|
||
|
||
Donde:
|
||
- μ = Media de retornos
|
||
- σ = Volatilidad
|
||
- t = Horizonte temporal (días)
|
||
```
|
||
|
||
### Sharpe Ratio
|
||
```
|
||
Sharpe = (Rp - Rf) / σp
|
||
|
||
Donde:
|
||
- Rp = Retorno del portfolio
|
||
- Rf = Tasa libre de riesgo
|
||
- σp = Volatilidad del portfolio
|
||
```
|
||
|
||
---
|
||
|
||
## Formato Visual
|
||
|
||
### Dashboard de Riesgo
|
||
```
|
||
┌─────────────────────────────────────────────────────────────────────────┐
|
||
│ Análisis de Riesgo [Premium] │
|
||
├─────────────────────────────────────────────────────────────────────────┤
|
||
│ │
|
||
│ ┌────────────────────┐ ┌────────────────────┐ ┌────────────────────┐ │
|
||
│ │ VOLATILIDAD │ │ VaR (95%) │ │ SHARPE RATIO │ │
|
||
│ │ 18.5% │ │ -$850 │ │ 1.42 │ │
|
||
│ │ ↑ Sobre promedio │ │ -1.9% diario │ │ ✓ Bueno │ │
|
||
│ └────────────────────┘ └────────────────────┘ └────────────────────┘ │
|
||
│ │
|
||
│ ┌──────────────────────────────────────┐ ┌───────────────────────────┐ │
|
||
│ │ Matriz de Correlación │ │ Contribución al Riesgo │ │
|
||
│ │ │ │ │ │
|
||
│ │ AAPL TSLA BTC ETH │ │ BTC ███████████ 45% │ │
|
||
│ │ AAPL 1.0 0.65 0.2 0.1 │ │ TSLA █████ 22% │ │
|
||
│ │ TSLA 0.65 1.0 0.3 0.2 │ │ AAPL ████ 18% │ │
|
||
│ │ BTC 0.2 0.3 1.0 0.85 │ │ ETH ███ 15% │ │
|
||
│ │ ETH 0.1 0.2 0.85 1.0 │ │ │ │
|
||
│ │ │ │ │ │
|
||
│ │ ⚠️ BTC y ETH muy correlacionados │ │ │ │
|
||
│ └──────────────────────────────────────┘ └───────────────────────────┘ │
|
||
│ │
|
||
│ ┌────────────────────────────────────────────────────────────────────┐ │
|
||
│ │ Stress Test: Crash de Mercado -20% │ │
|
||
│ │ │ │
|
||
│ │ Impacto Estimado: -$8,500 (-18.8%) │ │
|
||
│ │ │ │
|
||
│ │ Posiciones más afectadas: │ │
|
||
│ │ • TSLA: -$1,200 (alta volatilidad) │ │
|
||
│ │ • BTC: -$4,000 (correlación con risk-off) │ │
|
||
│ └────────────────────────────────────────────────────────────────────┘ │
|
||
│ │
|
||
└─────────────────────────────────────────────────────────────────────────┘
|
||
```
|
||
|
||
---
|
||
|
||
## Especificaciones Técnicas Relacionadas
|
||
|
||
- [ET-PFM-002: Cálculo de Métricas](../especificaciones/ET-PFM-002-calculo-metricas.md)
|
||
- [ET-PFM-003: Stress Testing Engine](../especificaciones/ET-PFM-003-stress-testing.md)
|
||
|
||
---
|
||
|
||
## Historias de Usuario Relacionadas
|
||
|
||
- US-PFM-003: Ver métricas de riesgo
|
||
- US-PFM-004: Ejecutar stress test
|
||
|
||
---
|
||
|
||
*Documento de requerimientos - Sistema NEXUS*
|
||
*Trading Platform*
|