Las series estadísticas del BCRP están disponible libremente aquí. El total de datos se componen de 9 categorías: i) Moneda y crédito, ii) Precios, iii) Tipo de cambio, iv) Balanza de pagos, v) Actividad económica y mercado laboral, vi) Cuentas fiscales, vii) Indicadores internacionales, viii) Información estadística regional y ix) Compendio de Historia Económica. Para buscar una serie particular puede seguir las sub categorías listada en la página principal de las series estadísticas. Por ejemplo, si desea información acerca del consumo agregado debe recordar que el consumo agregado está presente en la definición del PBI gasto de la siguiente manera:
Y = C + G + I + XN
Por lo que es intuitivo entrar por la sub categoría de PBI gasto. El formato de las series está dato por su frecuencia (diario, mensual, trimestral o anual) y por otras características (real, nominal, cambio porcentual, índice, porcentaje del PBI, etc). Por lo que al momento de acceder a una serie tiene que darse cuenta que está eligiendo la serie deseada. Tomemos como ejemplo la deuda pública trimestral como porcentaje del PBI.
Los datos del BCRP también pueden ser consultados usando APIs (“Application programming interface”). Esta interfaz permite asignar un “link” específico a la combinación del código particular de una serie junto al formato de salida (que tipo de archivo se desea obtener, i.e. en xls, txt, csv, etc.), los periodos de inicio y término así como el idioma. Una explicación más detallada se encuentra disponible aquí y aquí. Para operacionalizar este tipo de descarga debemos hacer un programa que permita elegir los datos y el formato que deseamos. Instalamos y cargamos las librerias deseadas. Estas se compoenen de: “jsonlite”, para manejar datos en formato json; ggplot2, por si deseamos hacer gráficos; tidyverse, para distintas funciones; así como otros paquetes adicionales.
# Set up my working computer
if ( Sys.getenv("USERNAME") == 'JA.MendozaSa' ){
dir = 'G:/Mi unidad'
} else {
dir = 'F:/'
}
#Set up my working directory
setwd(paste(dir[1],'2019-1/Macro2/PD/PD1', sep = ""))
options(digits=12)
#install.packages('jsonlite')
#install.packages('ggplot2')
#install.packages('tidyverse')
#install.packages('lubridate')
#install.packages('dplyr')
#install.packages("readxl")
require(jsonlite)
require(ggplot2)
require(lubridate)
require(stringr)
library(foreign)
library(readxl)
library(tidyverse)
require(tidyr)
library(dplyr)
require(plyr)
Los identificadores de cada serie se encuentran disponibles en la página de estadísticas. Por ejemplo, para el caso de Deuda Pública, el ID de la serie es ‘PN03371FQ’. Creamos una variables “metadatos” con los ID de las series que queremos. Luego creamos un “loop” o bucle con el cuál repetir una acción sobre distintos valores. En este caso repetimos el proceso de extracción de datos para cada ID que indicamos en “metadatos”.
# Set up my working computer
if ( Sys.getenv("USERNAME") == 'JA.MendozaSa' ){
dir = 'G:/Mi unidad'
} else {
dir = 'F:/'
}
#Set up my working directory
setwd(paste(dir[1],'2019-1/Macro2/PD/PD1', sep = ""))
options(digits=12)
#Loading libraries
require(jsonlite)
require(ggplot2)
require(lubridate)
require(stringr)
library(foreign)
library(readxl)
library(tidyverse)
require(tidyr)
library(dplyr)
require(plyr)
#Generating columns of characters with each ID
metadato <- c('PN03371FQ','PN03372FQ','PN03373FQ')
for (i in 1:length(metadato)){
# tryCatch({
# Indicamos el ID, el formato, las fechas y el idioma. Llamamos "url" a esta combinación
url <-paste('https://estadisticas.bcrp.gob.pe/estadisticas/series/api/',metadato[i],'/json/1940/2018/ing', sep="")
# Descargamos el url indicado
tmp1 <- fromJSON(readLines(url, warn="F"))
# Cambiamos el formato de los datos y cambiamos el valor de las variables con missing values.
dato <-as.data.frame(lapply(tmp1$periods, function(y) gsub("n.d.", "-99999.99", y)))
# Cambiamos el nombre del archivo usando el ID que lo identifica.
names(dato) <- c("name",paste("",metadato[i],"",sep=""))
# Creamos un nuevo documento indicando el formato
# El formato "dta" se usa en el software Stata
write.dta(dato, file=paste(metadato[i],'.dta', sep=""))
# El formato "csv" se puede usar en distintos softwares incluído Excel
write.csv2(dato, file=paste(metadato[i],'.csv', sep=""))
# }, error=function(e){})
}
Usar API permite tener resultados replicables (cualquiera puede llegar a la misma serie usando el código) lo que disminuye la probabilidad de equivocarse de serie al momento de manipular datos a mano. Usar datos con APIs permite manejar los dato directamente desde internet sin necesariamente descargar la serie, luego de obtener los datos podemos hacer los analisis respectivos sin necesidad de pasar por el último paso de descarga. Por último, este procedimiento permite descargar y manipular muchas series a la vez disminuyendo el esfuerzo envuelto en descargar y cargar las series a mano.