Score de Riesgo de Cartera en Tiempo Real

Python HMM hmmlearn NumPy Pandas yfinance FastAPI scikit-learn
Score de Riesgo de Cartera en Tiempo Real

Sobre el Proyecto

Sistema de análisis y scoring de riesgo para carteras de inversión. Combina un GaussianHMM entrenado (Hidden Markov Model, 3 regímenes de mercado: Bull/Neutral/Bear) con análisis de correlaciones dinámicas entre activos para evaluar el riesgo real de una cartera en tiempo real con datos de Yahoo Finance.

Cómo medir la efectividad real del modelo

Para modelos financieros de gestión de riesgo, las métricas de clasificación (F1, MCC) son útiles pero no suficientes. Las métricas de backtest son las que importan en finanzas:

  • Sharpe 2.12 vs. 1.11 (buy-and-hold): la estrategia HMM (estar largo solo en Bull/Neutral, fuera en Bear) genera el doble de rentabilidad por unidad de riesgo. Sharpe >2 es considerado excelente en gestión activa de carteras.
  • CVaR reducido un 32%: el CVaR (Conditional Value at Risk) mide la pérdida media en los peores días. La estrategia HMM reduce la cola de riesgo un 32%: en las peores jornadas históricas, la pérdida esperada se reduce de -2.2% a -1.5% diario.
  • Max Drawdown de -21.9% a -7.5%: el drawdown máximo mide la mayor caída desde máximos. El HMM pasa fuera del mercado en fases Bear, reduciendo la caída máxima en 14 puntos porcentuales.
  • F1 Bear detection = 0.33, MCC = 0.18: el HMM es un modelo no supervisado — descubre patrones estadísticos latentes, no optimiza F1 directamente. La calidad del modelo se mide por su utilidad en backtest (Sharpe, CVaR) más que por F1 vs. una etiqueta arbitraria.

Arquitectura del Modelo

  • GaussianHMM (3 estados): entrenado sobre 1.255 días reales de SPY (40%), IBEX35 (20%), EWP (15%), STOXX50E (15%), TLT (5%) y GLD (5%). Estados mapeados a Bull/Neutral/Bear según retorno medio de cada régimen.
  • Features HMM (4): retorno diario log, volatilidad rolling 20 días, momentum 5 días, momentum 20 días.
  • Regímenes detectados: Bear (-29% anual, alta vol), Neutral (+12% anual), Bull (+35% anual, baja vol).
  • Risk Score (0-100): composición ponderada de volatilidad de cartera (50%), régimen HMM (30%) e índice de concentración HHI (20%).
  • Métricas en tiempo real: VaR 95%, CVaR 95%, Sharpe, Sortino, Max Drawdown — calculados sobre datos reales de Yahoo Finance en cada análisis.

Datos y Fuentes

Precios históricos vía Yahoo Finance API (yfinance). 19 activos: Large-cap (AAPL, MSFT, NVDA...), ETFs (SPY, QQQ, GLD, TLT), Cripto (BTC, ETH) y Materias Primas. Datos actualizados en cada petición.

Stack Técnico

Python 3.12 · hmmlearn · NumPy · Pandas · yfinance · FastAPI · scikit-learn · joblib · Laravel (proxy HTTP)

Resultados

Sharpe 2.12
Sharpe ratio (HMM vs. B&H)
Sharpe 2.12 estrategia HMM vs 1.11 buy-and-hold. Genera el doble de rentabilidad por unidad de riesgo. Entrenado con 1.255 días reales de SPY, IBEX35, STOXX50E, TLT, GLD (5 años)
CVaR -32%
Reducción de riesgo de cola
CVaR 95% reducido un 32% (de -2.2% a -1.5% diario). MaxDrawdown reducido de -21.9% a -7.5%. El HMM sale del mercado en fases Bear antes de las caídas grandes
3 regímenes
Bull / Neutral / Bear (HMM)
GaussianHMM detecta 3 regímenes estadísticos: Bear (-29%/año, alta vol), Neutral (+12%/año), Bull (+35%/año). Risk Score 0-100 en tiempo real con VaR, CVaR, Sharpe, Sortino
Try Live Demo View Code
🤖 Asistente Virtual