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

5
(1)

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.

¿Te ha parecido útil? ¡Puntúa esta entrada!

¡Haz clic en una estrella para puntuar!

Promedio de puntuación 5 / 5. Recuento de votos: 1

Hasta ahora, ¡no hay votos!. Sé el primero en puntuar este contenido.

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.