Proyecto
GBM Investments
Pipeline serverless que convierte estados de cuenta PDF de GBM en analítica de portafolio sobre AWS.
Ver en GitHub →Objetivo
Sistema para administrar y analizar portafolios de inversión en cuentas de GBM (casa de bolsa mexicana). Automatiza la ingesta de estados de cuenta, el parseo de transacciones y la analítica del portafolio a través de un dashboard web. El sistema convierte documentos PDF en datos estructurados consultables, rastreando movimientos de renta variable, fondos, deuda, divisas, dividendos y retenciones fiscales tanto del mercado local (BMV) como del internacional (SIC).
Cómo funciona
- Ingesta de estados de cuentaUn script descarga los estados de cuenta en PDF desde Google Drive usando credenciales OAuth2 con refresh tokens.
- Parseo del formato GBMUn parser propio extrae movimientos, posiciones y datos fiscales del formato de estado de cuenta mexicano de GBM.
- Persistencia en DynamoDBLos movimientos y posiciones se almacenan en tablas de DynamoDB organizadas por cuenta y fecha.
- Exportación analítica a S3Los datos se exportan a S3 como archivos Parquet particionados por cuenta, año y mes, listos para consultas SQL vía Athena.
- Dashboard de portafolioUna API en Express consulta DynamoDB y Athena, y sirve un frontend en React que muestra la analítica y la reconciliación del portafolio.
Modelo de datos
El sistema rastrea movimientos (compra, venta, depósito, dividendo, impuesto), posiciones por ticker (snapshots periódicos por cuenta, año y mes) y agregados mensuales (flujos de efectivo y métricas de rendimiento). Los tipos de movimiento abarcan renta variable, fondos, deuda, divisas, dividendos y retenciones fiscales.
Servicios AWS
- DynamoDBCinco tablas: movimientos, metadatos de archivos, resúmenes mensuales, registros fiscales y snapshots de posiciones.
- S3Almacenamiento de PDFs originales y exportaciones Parquet particionadas para analítica.
- Amazon AthenaMotor SQL que consulta los archivos Parquet vía catálogo de datos de Glue.
- Secrets Manager / SSMGestión de credenciales OAuth2 y configuración de cuentas y clasificación de tickers.
- CloudFormation / CDKInfraestructura como código en TypeScript con CDK v2 para el despliegue de los stacks.
Servicios externos
- Google Drive APIDescarga de los estados de cuenta en PDF mediante refresh tokens OAuth2.
- Banxico SIE APITasa de inflación para ajustar y contextualizar el rendimiento del portafolio.
Stack