Skip to content

dsc-dascom/API-BANXICO_con_VBA

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 

Repository files navigation

API-BANXICO

Este proyecto está diseñado para apoyar en la consulta recurrente de información económica proveniente del Banco de México (Banxico). Para lograr esto, se usa la API que Banxico proporciona a los usuarios. Este programa está hecho en VBA porque pretendo que todo el proceso de recolección, tratamiento, análisis y presentación de datos se realice dentro de un ambiente conocido por la mayoría de las personas: Excel.


Banxico_Logo


Documentación 📂


IMPORTANTE: para poder trabajar con los objetos que se declaran en el código, es indispensable habilitar la referencia Microsoft XML, v6.0 de la pestaña de herramientas (Tools) dentro de VBA.

imagen1

imagen2


Uso de API_BANXICO.bas 📦

En el archivo API_BANXICO.bas se puede encontrar el Módulo de VBA que contiene el código para utilizar la API de Banxico.

Este código se puede dividir en tres secciones.

  • En la primera parte se declara el Token como una constante privada, lo que permite que esté dispónible a lo largo de todo el módulo.

    Private Const banxico_token As String = "[Token]"
    

El Token es necesario para poder hacer las consultas de información. Para obtenerlo pueden ingresar al segundo link de la sección de documentación. Una vez en la página, simplemente deben escribir las letras que aparecen en la imagen de seguridad y podrán generar el Token.

imagen3


  • En la segunda parte se construye una función que realiza el procedimiento de consulta y almacenamiento de información. Esta función depende de una única variable ("serie"), la cual se define en la subrutina posterior.

    Function API_BANXICO(serie)
    

Una particularidad de la API de BANXICO es que se puede seleccionar un rango de tiempo para hacer la consulta de datos. En el código declaré que las fechas las obtenga de las celdas "D6" (fecha inicial) y "D7" (fecha final).

fecha_inicio = Format(Range("D6").Value, "YYYY-MM-DD")
fecha_fin = Format(Range("D7").Value, "YYYY-MM-DD")

Un ejemplo de la vista en Excel sería la siguiente:

imagen4

Otra opción es dejar fija la fecha inicial de consulta escribiendo directamente sobre el código:

fecha_inicio = "2020-01-01"    'por ejemplo

Para la fecha final de consulta se puede usar la función "Date" sobre el código de VBA o la función "=Hoy( )" sobre la casilla de excel para obtener el dato disponible más reciente:

fecha_fin = Date    'por ejemplo    

Pero esta decisión depende exclusivamente de las preferencias del usuario.


  • En la última sección se crea una subrutina donde se declara a la variable "serie" y se utiliza como insumo en la función. Posteriormente se imprimen los datos en Excel.

    Sub peso_dolar()
    

Para consultar las series disponibles pueden revisar el Catálogo de Series que se encuentra en el SIE-API (primer link en la documentación), o también pueden revisar el símbolo de información que se encuentra a la izquierda de los datos dentro del SIE.

imagen5

Por lo tanto, una vez declarado el Token y la serie dentro del código, se puede consultar la información usando la API de Banxico. A continuación presento un ejemplo del resultado.

imagen6

*Nota: algunas filas se ocultaron para hacer visible el dato inicial y el dato final de la consulta.


La lógica del código permite aumentar el número de consultas al declarar una lista de series que junto con un ciclo for permitirá realizar varias consultas de información.

También es posible crear varias subrutinas que se pueden ejecutar en distintas hojas de Excel. Se puede insertar un botón con la macro asignada y realizar las consultas repetidas veces.

imagen7

imagen8

Todo depende de las necesidades del proyecto o de las especificaciones de los usuarios para hacerlo más fácil de manejar.



Objetivos de este proyecto 🌱

  • Optimizar y automatizar la consulta de información que está disponible en las bases de datos del Banco de México.

  • Facilitar la comprensión de métodos y objetos en VBA para el uso de la API de banxico.

  • Construir un código que sirva como base para un proyecto que involucre analizar las condiciones económicas de México con información disponible del Banco de México.


Video de apoyo 💻

Como una explicación adicional, he subido un video a YouTube en el que platico cómo usar el código en VBA para obtener información económica del Banco de México a través de su API. Espero que de esta forma puedan aclararse algunas dudas sobre cómo cargar el módulo API_BANXICO.bas así como dónde se deben declarar las variables. Además, en el video encontraran ejemplos de la consulta de información para el Tipo de Cambio, las Reservas Internacionales y los Usos de los Recursos Financieros en la Economía.

Cualquier comentario, pregunta o sugerencia son bien recibidas para mejorar el contenido de este proyecto.


yt_canal


linkedin_page


About

En este espacio explico cómo consultar información del SIE de Banxico por medio de su API desde VBA

Topics

Resources

License

Stars

Watchers

Forks

Contributors

Languages