Rompiendo
23 Abr 2025, Mié

5.Servicio de analisis

Módulo analytics_service.py listo:

  • Estadísticas por usuario (retorno, riesgo promedio).
  • KPIs globales de la plataforma.
# analytics_service.py from fastapi import APIRouter from typing import List, Dict router = APIRouter() # Simulación de registros de inversión por cartera investment_data = { «cliente1»: [ {«nombre»: «Tech Growth», «retorno»: 12.5, «riesgo»: 7.2}, {«nombre»: «Stable Bonds», «retorno»: 4.3, «riesgo»: 1.1} ], «cliente2»: [ {«nombre»: «Crypto Mix», «retorno»: 21.7, «riesgo»: 15.6} ] } @router.get(«/{user_id}/estadisticas») def estadisticas_por_usuario(user_id: str): carteras = investment_data.get(user_id, []) total_retorno = sum(c[«retorno»] for c in carteras) riesgo_promedio = round(sum(c[«riesgo»] for c in carteras) / len(carteras), 2) if carteras else 0 return { «carteras»: carteras, «total_retorno_estimado»: total_retorno, «riesgo_promedio»: riesgo_promedio } @router.get(«/global/kpi») def kpi_global(): total_users = len(investment_data) total_portfolios = sum(len(c) for c in investment_data.values()) retorno_medio = round(sum(p[«retorno»] for u in investment_data.values() for p in u) / total_portfolios, 2) return { «usuarios_analizados»: total_users, «carteras_totales»: total_portfolios, «retorno_medio»: retorno_medio }

Te has perdido

Enable Notifications OK No thanks