¿Es posible
predecir el dólar?

Modelado del tipo de cambio oficial argentino usando Machine Learning explicable.
Análisis de relaciones macroeconómicas con regresión Lasso y datos oficiales del BCRA.

Resumen del Proyecto

En este proyecto desarrollé un flujo completo de análisis para modelar el tipo de cambio oficial argentino con Machine Learning. Comienza con la automatización en la descarga de datos desde la API oficial del BCRA, seguida por la limpieza y consolidación de variables macroeconómicas mensuales. La selección de predictores combinó criterios estadísticos, fundamentos económicos y correlaciones empíricas. Finalmente, implementé un modelo de regresión Lasso con la librería scikit-learn, priorizando interpretabilidad y robustez. El objetivo no es anticipar con precisión su valor futuro, sino construir un modelo transparente y robusto que permita interpretar relaciones estructurales de largo plazo.

Desarrollo del proyecto

Descarga de datos crudos desde API del BCRA El proyecto comienza con la descarga automática de datos económicos directamente desde la API oficial del Banco Central de la República Argentina (BCRA). Para ello, desarrollé una función personalizada en Python que utiliza la biblioteca requests para hacer solicitudes HTTP y descargar datos desde múltiples endpoints previamente definidos. Cada respuesta se transforma en un DataFrame y se guarda como archivo ".csv", asegurando una estructura homogénea para su posterior análisis. Esta función se integra a un flujo principal que recorre los distintos indicadores y descarga los archivos de forma automatizada. El diseño modular del código permite replicar fácilmente este proceso en otros proyectos con APIs similares, aportando escalabilidad y mantenibilidad. La imagen muestra un fragmento clave del script, donde se valida el estado de la respuesta, se crea el directorio de salida y se registran los resultados. Este paso inicial garantiza un punto de partida robusto, actualizado y reproducible para todo el pipeline analítico posterior.

Gráfico de correlaciones de variables Con los datos crudos descargados desde los distintos endpoints, implementé un módulo de limpieza y preparación que consolida toda la información en un único DataFrame mensual. El script en Python unifica las series, convierte las fechas al tipo datetime, calcula el promedio mensual de valores diarios cuando aplica, trata valores faltantes y genera variables derivadas. Esta armonización garantiza que cada variable esté alineada temporalmente y que la base resultante sea consistente y adecuada para modelado. Luego realicé un análisis exploratorio de datos (EDA) con visualización de tendencias, distribuciones y, especialmente, la matriz de correlaciones que se muestra en la imagen y es clave para visualizar la intensidad y dirección de los vinculos entre variables. Este paso es fundamental para comprender relaciones con el tipo de cambio oficial y seleccionar variables predictoras. Utilicé librerías como seaborn y matplotlib para detectar patrones, estacionalidades y posibles outliers. Todo el flujo es reproducible y está documentado en notebooks, lo que asegura transparencia y facilita ajustes futuros.

Generación de modelo de Lasso y cálculo de métricas y visualización Antes de construir el modelo, llevé a cabo una selección rigurosa de variables predictoras basada en el dataset consolidado. Allí, combino criterios estadísticos —como correlaciones, colinealidad y varianza explicada— con fundamentos económicos sustantivos, es decir, una interpretación teórica de los indicadores relevantes. Fue un proceso iterativo, en el que probé diversas combinaciones para optimizar rendimiento e interpretabilidad. Las variables finales fueron: inflación mensual oficial, base monetaria, tasa de interés de depósitos a 30 días y el CER. Cada una representa un aspecto clave del entorno macroeconómico: la inflación refleja la pérdida de poder adquisitivo, la base monetaria se asocia al nivel de emisión, las tasas de interés vinculan el precio del dinero con la política monetaria, y el CER introduce un componente indexado útil en períodos de alta nominalidad. La elección del modelo Lasso también fue comparativa: evalué regresión lineal, Ridge, ElasticNet y Random Forest. Lasso destacó por su equilibrio entre simplicidad y desempeño, eliminando automáticamente variables poco relevantes. Esto reduce el riesgo de sobreajuste y favorece modelos más interpretables y parsimoniosos, donde cada variable aporta un peso analítico claro.

Gráfico de dólar oficial real vs predicho Luego de entrenar el modelo y validar su rendimiento, comparé los resultados obtenidos con distintas técnicas de regresión. La regresión Lasso se consolidó como la opción final por su capacidad para reducir la complejidad sin sacrificar desempeño. A nivel cuantitativo, mostró una mejor performance que la regresión lineal múltiple en todos los indicadores evaluados: RMSE (86.124 vs 89.334), MAE (69.272 vs 71.957) y R² en test (0.794 vs 0.778). Además, el R² promedio en validación cruzada fue de 0.938 para ambos modelos, confirmando su estabilidad general. Estos resultados indican que el modelo es capaz de capturar buena parte de la dinámica del dólar oficial argentino a partir de un conjunto reducido de variables macroeconómicas significativas. El gráfico comparativo entre las predicciones y los valores reales permite visualizar de forma clara los aciertos y desvíos, mostrando un muy buen ajuste en contextos estables y mayor dispersión en períodos de volatilidad. Esto confirma el valor del enfoque como herramienta interpretativa: más que anticipar con precisión el futuro, busca representar relaciones estructurales de largo plazo que ayuden a comprender el fenómeno económico.

Etapas del Proyecto

1. Recolección de datos automatizada vía API

El proyecto comienza con la extracción automatizada de datos macroeconómicos desde la API oficial del Banco Central de la República Argentina (BCRA). Para ello, se define un conjunto de endpoints relevantes y se desarrolla una función personalizada utilizando la librería requests, que permite descargar en lote múltiples series históricas con una sola ejecución del script. Los datos se guardan como archivos CSV organizados por temática, lo que facilita su trazabilidad, versionado y uso posterior. Este proceso puede repetirse automáticamente ante nuevas actualizaciones, lo que garantiza eficiencia, consistencia y actualización periódica del dataset con mínima intervención manual.

2. Limpieza y consolidación del dataset

Con los datos crudos descargados desde los distintos endpoints del Banco Central de la República Argentina (BCRA), se implementa un script de limpieza y transformación que unifica todas las series en un único DataFrame mensual. Se realizan tareas clave como la conversión a tipo datetime, el promedio mensual de valores diarios, el tratamiento de nulos y la alineación temporal entre variables. Además, mediante la función reduce() de functools, se efectúa un merge iterativo que permite combinar progresivamente múltiples DataFrames económicos en una única tabla consolidada. El resultado es una base estructurada, homogénea y lista para análisis, lo que estandariza el pipeline y lo deja preparado para futuras actualizaciones.

3. Análisis exploratorio y selección de variables

Con los datos ya consolidados, se lleva adelante un análisis exploratorio de datos (EDA) utilizando pandas, matplotlib y seaborn. Se examinan tendencias, distribuciones, outliers y la matriz de correlaciones entre indicadores macroeconómicos. Este paso permite identificar relaciones significativas con la variable objetivo (el tipo de cambio oficial) y aporta evidencia empírica para fundamentar decisiones posteriores en el diseño del modelo.
A partir de este diagnóstico, se inicia un proceso iterativo de selección de variables predictoras que combina criterios estadísticos (correlación, colinealidad), fundamentos económicos y sentido interpretativo. Se eligen variables clave como la inflación mensual, la base monetaria, el CER y las tasas de interés, priorizando aquellas que aportan información no redundante y permiten explicar el fenómeno desde una perspectiva estructural.

4. Entrenamiento del modelo y evaluación de performance

Para el modelado, se evaluaron distintos enfoques de regresión supervisada, considerando el desempeño predictivo y la interpretabilidad de los resultados. Tras múltiples iteraciones, se eligió Lasso por su capacidad de regularización y reducción automática de variables, descartando las de bajo aporte explicativo. Al tratarse de datos temporales, la partición entre entrenamiento y testeo se hizo de forma cronológica, usando los primeros años para entrenar y los más recientes para validar.
El modelo final muestra un rendimiento sólido, con RMSE de 86.124, MAE de 69.272 y un de 0.794 en el conjunto de test. Además, el R² promedio en validación cruzada alcanza 0.938, lo que sugiere estabilidad y generalización del modelo. Este desempeño confirma que, si bien el objetivo no es prever con exactitud el valor futuro del dólar, el enfoque permite interpretar relaciones macroeconómicas estructurales con herramientas de machine learning explicable.

Volver al portfolio