Descargar y graficar datos del Banco Internacional de Pagos (BIS) con R

Índice de Contenidos

En la entrada de hoy les quiero compartir este nuevo paquete de R, se trata de BIS, paquete creado el mes pasado y con el cual se puede acceder a datos del Banco Internacional de Pagos o BIS, por sus siglas en inglés (Bank for International Settlements).

Instalación del paquete de R: BIS

A continuación, instalaré el paquete, el cual puede ser instalado desde Github o CRAN. Para ello basta con las siguientes líneas de código:

library(devtools)

Instalación desde Github: install_github(“expersso/BIS”)

Instalación desde CRAN: install.packages(“BIS”)

Análisis de datasets

Ahora, miramos cuáles son los datasets disponibles:

library("BIS")

datos.bis <- get_datasets()

datos.bis
## # A tibble: 17 x 2
##                                                        name
##                                                       <chr>
##  1                            Locational banking statistics
##  2                          Consolidated banking statistics
##  3                               Debt securities statistics
##  4                              Global liquidity indicators
##  5                       Credit to the non-financial sector
##  6                                       Credit-to-GDP gaps
##  7 Debt service ratios for the private non-financial sector
##  8                         Property prices: selected series
##  9                             Property prices: long series
## 10 US dollar exchange rates (monthly, quarterly and annual)
## 11                         US dollar exchange rates (daily)
## 12                Effective exchange rate indices (monthly)
## 13                  Effective exchange rate indices (daily)
## 14                  Triennial Survey statistics on turnover
## 15                                          Consumer prices
## 16                                   Policy rates (monthly)
## 17                                     Policy rates (daily)
## # ... with 1 more variables: url <chr>

Al ejecutar el código se puede ver que R nos arroja dos columnas, la primera con los nombres y la segunda con la url.

Análisis y descarga de tipos de interés

De los datasets disponibles, descargaré los tipos de interés mensuales de los bancos centrales (Policy rates (monthly), para ello, se utiliza el comando get_bis, el cual accede a la url y descarga los datos:

tipos <- get_bis(datos.bis$url[16], quiet = TRUE)

Inspeccionamos los datos y míralos las primeras observaciones:

head(tipos)
## # A tibble: 6 x 4
##   frequency    reference_area    date obs_value
##       <chr>             <chr>   <chr>     <dbl>
## 1 M:Monthly    CH:Switzerland 1946-01      1.50
## 2 M:Monthly        DK:Denmark 1946-01      3.50
## 3 M:Monthly GB:United Kingdom 1946-01      2.00
## 4 M:Monthly          IN:India 1946-01      3.00
## 5 M:Monthly          JP:Japan 1946-01      3.29
## 6 M:Monthly         SE:Sweden 1946-01      2.50

Como se puede observar, hemos descargado los tipos de interés mensuales de los bancos centrales de Suiza, Dinamarca, Reino Unido, India, Japón y Suecia desde 1946.

Si quiero trabajar únicamente con los tipos de interés del Reino Unido, creo un nuevo dataframe, denominado GB; y para mirar las 5 primeras y últimas observaciones:

GB <- tipos[tipos$reference_area == "GB:United Kingdom",]

head(GB,5)
## # A tibble: 5 x 4
##   frequency    reference_area    date obs_value
##       <chr>             <chr>   <chr>     <dbl>
## 1 M:Monthly GB:United Kingdom 1946-01         2
## 2 M:Monthly GB:United Kingdom 1946-02         2
## 3 M:Monthly GB:United Kingdom 1946-03         2
## 4 M:Monthly GB:United Kingdom 1946-04         2
## 5 M:Monthly GB:United Kingdom 1946-05         2
tail(GB,5)
## # A tibble: 5 x 4
##   frequency    reference_area    date obs_value
##       <chr>             <chr>   <chr>     <dbl>
## 1 M:Monthly GB:United Kingdom 2017-05      0.25
## 2 M:Monthly GB:United Kingdom 2017-06      0.25
## 3 M:Monthly GB:United Kingdom 2017-07      0.25
## 4 M:Monthly GB:United Kingdom 2017-08      0.25
## 5 M:Monthly GB:United Kingdom 2017-09      0.25

Ahora graficamos los tipos de política monetaria del Reino Unido y le añadiremos una línea rojo indicando la media:

library(tidyverse)
library(zoo)

 grafico <- GB %>%
  mutate(date = as.Date(as.yearmon(date)))

ggplot(grafico, aes(date) )+ 
  geom_line( aes( y = obs_value ), colour="darkblue" ) + 
  labs( title = "Tipo de Interes de Referencia")+
  labs(x="Fecha", y="Tipos de interes (%)") +
  geom_hline(yintercept = mean(GB$obs_value), color="darkred")

plot of chunk unnamed-chunk-117

Para graficar todos los tipos por país:

library(tidyverse)
library(zoo)

tipos_plot <- tipos %>%
  mutate(date = as.Date(as.yearmon(date))) %>%
  filter(grepl("^(CH|DK|GB|IN|JP|SE)", reference_area))
ggplot(tipos_plot, aes(date, obs_value, color = reference_area)) +
  geom_hline(yintercept = 0, linetype = "dashed",
             color = "grey70", size = 0.02) +
  geom_line(show.legend = FALSE) +
  facet_wrap(~reference_area) +
  theme_light() +
  theme(panel.grid = element_blank()) +
  labs(x = NULL, y = NULL,
       title = "Tipos de Interes de los Bancos Centrales (% por año)") + 
  theme (plot.title = element_text(face="bold", hjust = 0.5))

Si quieres aprender más casos prácticos de finanzas cuantitativas ve a la página donde hablo de ello y donde podrás encontrar más aplicaciones de R para finanzas.

Facebook
Twitter
LinkedIn

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Picture of Conney Marulanda López
Conney Marulanda López
Analista de Mercado. Certificada en el examen de Asesor Financiero de la CNMV por la Universidad Carlos III de Madrid. Apasionada por los mercados financieros, el emprendimiento y las nuevas tecnologías.
Artículos relacionados
Actualizado octubre 5, 2025

Valor en Riesgo (VaR) con R

Actualizado agosto 7, 2019

Análisis y optimización de portafolios con R (II)

Actualizado agosto 6, 2019

Análisis y optimización de portafolios con R (I)

Suscríbete y accede a contenido exclusivo, análisis semanales y oportunidades reales.
Sin spam. Sin humo. Solo lo que te interesa para que tomes mejores decisiones financieras. Te puedes borrar cuando quieras. Tu privacidad es sagrada.

Responsable: Conney Marulanda López. Finalidad de la recogida y tratamiento de los datos personales: 
Gestionar la solicitud que realizas en este formulario de contacto. 
Legitimación: Consentimiento. 
Destinatarios: Los datos personales serán tratados a través de los servidores de esta web, gestionados por un hosting español: Raiola Networks. No se cederá ni comunicará a ningún tercero tus datos, excepto en los casos legalmente previstos o cuando la prestación de un servicio implique la necesidad de una relación contractual con un Encargado de Tratamiento. 
Derechos: Podrás ejercer tus derechos de acceso, rectificación, limitación y suprimir los datos en info@finanzaszone.com así como el derecho a presentar una reclamación ante una autoridad de control.
Información adicional: En Política de privacidad de finanzaszone.com, encontrarás información adicional sobre la recopilación y el uso de su información personal, incluida información sobre acceso, conservación, rectificación, eliminación, seguridad, y otros temas.