El primer paso fue estructurar la base de datos para reflejar la realidad financiera. Diseñé una arquitectura donde los clientes, fondos y activos están interconectados mediante tablas de transacciones y detalles de cartera, asegurando la integridad de los datos y eliminando redundancias.
categories: Define si el fondo es de Renta Variable, Renta Fija o Inmobiliario.
funds: Contiene el nombre de los fondos y quién los gestiona.
assets: Es el listado de activos (Acciones, Bonos, Fondos, etc..).
portfolio_details: Nos dice qué activos hay dentro de cada fondo y cuánto valen hoy.
clients: Guarda el nombre y el DNI/Tax ID de los inversores.
transactions: Registra las compras y ventas, incluyendo la fecha del movimiento.
Implementé el cálculo automático de pesos y exposiciones mediante consultas SQL. En lugar de revisar manualmente cada fondo, el sistema calcula instantáneamente qué porcentaje del patrimonio representa cada activo, detectando si se supera, por ejemplo, el límite legal del 10% en un solo valor.
Implementé el cálculo automático de pesos y exposiciones mediante consultas SQL. En lugar de revisar manualmente cada fondo, el sistema calcula instantáneamente qué porcentaje del patrimonio representa cada activo, detectando si se supera, por ejemplo, el límite legal del 10% en un solo valor.
SUM(pd.invested_value): Es el numerador. Suma el valor total de Apple dentro de ese fondo "Tecnológico USA" a día de hoy.
La Subconsulta (SELECT SUM...): Es el denominador. Calcula el 100% del dinero que hay en el fondo "Tecnológico USA".
CASE WHEN ... > 0.10: El sistema compara la relación (el peso) contra el 0.10 (que representa el 10%).
Si el resultado es mayor a 0.10, el sistema escribe automáticamente "ALERTA".
Si es menor o igual, escribe "OK".
La automatización mediante MySQL elimina la necesidad de procesos manuales en Excel, reduciendo el tiempo de generación de informes de cumplimiento en un 75%. Al centralizar los datos, evitamos errores humanos que podrían derivar en sanciones legales costosas, permitiendo que el equipo de gestión se enfoque en la toma de decisiones estratégicas en lugar de en la limpieza de datos.