Clase 3: Mi aporte en un mundo abierto
Open Source y GitHub: El Estándar de Colaboración y Trazabilidad para Modelos de Riesgo
🤖 ¿Te ha pasado que tienes varias versiones de un modelo guardadas como modelo_final_final_v3.xlsx? La gestión de modelos en finanzas requiere rigor, pero sin las herramientas adecuadas, la trazabilidad se convierte en una pesadilla de archivos desorganizados y versiones perdidas.
La solución no está en software propietario costoso, sino en la filosofía Open Source y el uso disciplinado de herramientas como Git y GitHub. Estas plataformas se han convertido en el estándar global no solo para la colaboración en programación, sino también para el Gobierno de Modelos Cuantitativos.
En este artículo, basado en el taller “Mi aporte en un mundo abierto”, exploraremos por qué la comunidad R prospera bajo este modelo y cómo integrar Git/GitHub es esencial para la auditoría, replicabilidad y sostenibilidad de tus análisis financieros.
1. El Concepto Open Source: Más Allá del Código
El Open Source es una metodología de desarrollo que otorga al usuario el permiso de usar, estudiar, cambiar y redistribuir el software a cualquiera y para cualquier propósito.
Esta filosofía se rige por diez criterios esenciales:
- Libre redistribución.
- Código fuente disponible, permitiendo su distribución en forma de código o programa compilado.
- Trabajos derivados permitidos bajo los mismos términos de licencia.
- Integridad del autor del código fuente (puede restringir la distribución de código fuente modificado si permite “archivos parche”).
- No discriminación contra personas, grupos o áreas de trabajo (ej. investigación genética).
- Distribución de la licencia sin requerir licencias adicionales.
- La licencia no debe ser específica para un producto.
- La licencia no debe restringir otros programas distribuidos en el mismo medio.
- La licencia debe ser neutral a la tecnología.
2. La Comunidad R y la Economía Abierta
La comunidad R es un ejemplo brillante de colaboración Open Source. Se enfoca en:
- Evitar software de pago (SPSS, Stata, Matlab) y utilizar R junto a otros programas abiertos (Python, Julia).
- Compartir y mejorar el código existente en plataformas como GitHub, GitLab o Bitbucket.
- Mantener un fuerte enfoque en las ciencias.
El éxito de proyectos como el Tidyverse y RMarkdown demuestra el poder de esta comunidad, donde si un experto necesita una solución (ej. reportería), es probable que alguien ya la haya desarrollado y empaquetado (Caso tint).
3. Git y GitHub: El Control de Versiones del Quant
Git es el sistema de control de versiones que registra cada modificación. GitHub es el servicio de hosting que usa Git para la colaboración y el respaldo. Esta dupla es crítica para proyectos de mayor envergadura y es lo que nos permite evitar el desorden de versiones:
❌ Evitamos el caos: “final, final final, final final esta es, final final esta es 2, etc.”.
Conceptos Fundamentales en la Gestión de Modelos:
- Repositorio (Repo): Tu proyecto, guardado como una “carpeta” con todos sus archivos y el historial de cambios.
- Commmit: El nombre de tu avance (cambios). Se recomienda poner detalles claros, especialmente en proyectos grandes. Este es el concepto más básico y vital.
- Branch: Un conjunto de cambios en el código que permite experimentar sin afectar el proyecto principal.
- Pull Request: Solicitud para añadir cambios o mejoras a un repositorio por parte de un miembro (esencial para la revisión por pares).
🎯 Impacto Estratégico: Usar Git en la modelización de riesgos permite auditar instantáneamente quién hizo qué cambio y cuándo en el código del modelo. Esto no es solo una buena práctica, es un requisito de Gobierno de Datos y Riesgo Operacional.
4. Un Caso Práctico: Análisis de Barreras Burocráticas de Indecopi
La aplicación de esta metodología es inmediata con datos públicos, como los expedientes de Barreras Burocráticas de Indecopi.
- El Reto: La base de datos, aunque pública, a menudo requiere una pequeña limpieza de datos y un análisis exploratorio antes de ser utilizable.
- La Solución Reproducible: El proceso de limpieza se registra en un script de R, y tanto el script como los datos se suben a GitHub. Cada paso (añadir data, añadir script, modificar script) se registra con un Commit. Si se comete un error, el sistema permite revertir el commit, garantizando que nunca se pierda el trabajo estable.
Conclusión
La profesionalización en la Ciencia de Datos Financiera exige la adopción de estándares abiertos. Al incorporar el rigor de Git/GitHub, no solo demuestras habilidades técnicas avanzadas (pasar del nivel A.1 al A.2 según el estándar de programación), sino que aseguras la transparencia y la auditabilidad de tus modelos de riesgo. El mundo Open Source es el lugar donde los científicos de datos con visión se inspiran, colaboran y, en última instancia, revolucionan la aplicación de modelos cuantitativos.
Para alcanzar el nivel de Científico de Datos Competente (B.1), necesitas practicar y dejar de temer a GitHub.
➡️ Tu Tarea: Elige una base de datos pública, crea un repositorio en GitHub, y sube un R script de limpieza y un Rmd de análisis. ¡Empieza a construir tu portafolio público hoy!