/PortalHacienda

Interfase en R para acceder al API del Portal de Datos del Ministerio de Hacienda

Primary LanguageRGNU General Public License v2.0GPL-2.0

PortalHacienda

Un paquete básico de interfase a la API del Portal de Datos del Ministerio de Hacienda

  • Buscar series en la descripción de los meta-datos
  • Descargar las series directamente de la API del Portal
  • Extender y proyectar rápidamente series descargadas (funcionalidad muy básica)

Instalación

Para instalar el paquete en R ejecutar:

# install.packages("devtools")
devtools::install_github("fmgarciadiaz/PortalHacienda")

Nota: Debe instalarse previamente el paquete devtools para permitir la descarga desde github.

Ejemplo

Búsqueda de series (a) en el listado incluído en el paquete con Search o (b) en la base online con Search_online.

# Cargar el paquete
library(PortalHacienda)
#> Loading required package: zoo
#> 
#> Attaching package: 'zoo'
#> The following objects are masked from 'package:base':
#> 
#>     as.Date, as.Date.numeric
#> =============================================================================
#> Acceso API Portal Datos Hacienda - v 0.5.0 - 12-2017 por F. García Díaz
#> Última actualización de la base de series incluída en el paquete: 0 días
#> Series en la base de meta-datos: 14341
# Buscar las series de tipo de cambio
Series_TCN <- Search("tipo de cambio")         
# mostrar las primeras series encontradas
# Series_TCN <- Search_online("tipo de cambio")         
knitr::kable(head(Series_TCN,3) ,"html") %>% kableExtra::kable_styling(font_size = 7)    

serie_id

serie_descripcion

indice_tiempo_frecuencia

serie_indice_inicio

serie_indice_final

115.1_TCRM_0_A_29

Índice de Tipo de Cambio Real Multilateral: Valores anuales Índice Diciembre 2001=100

R/P1Y

1991-01-01

2015-01-01

115.2_TCRM_0_T_29

Índice de Tipo de Cambio Real Multilateral: Valores trimestrales Índice Diciembre 2001=100

R/P3M

1991-01-01

2015-10-01

115.3_TCRM_0_M_29

Índice de Tipo de Cambio Real Multilateral: Valores mensuales Índice Diciembre 2001=100

R/P1M

1991-01-01

2015-12-01

Bajar serie de tipo de cambio con Get y extender 12 períodos con Forecast (usa modelo auto-detectado del paquete forecast y extiende según la frecuencia detectada, días, meses o años). Luego hacer un plot sencillo.

TCN <- Forecast(Get("174.1_T_DE_CATES_0_0_32" , start_date = 2000), 12)       
#> [1] "Cargada/s las series: 174.1_T_DE_CATES_0_0_32. Descripción: Tipo de Cambio En $ equivalentes"
#> [1] "Cargados 215 datos, desde 2000-01-01 hasta 2017-11-01 Periodicidad estimada: monthly"
#> [1] "Serie extendida 12 períodos, usando el modelo auto detectado: ARIMA(0,2,1)(0,0,2)[12]"
# Mostrar resultado
plot(TCN , main = "Tipo de Cambio Nominal ($/USD)")

También se pueden obtener varias series al mismo tiempo, separando con comas…

plot(Get("6.2_AGCS_2004_T_39,6.2_IM_2004_T_23,6.2_C_2004_T_12") , legend.loc = "topleft" , main = "VAB sectorial ($ de 2004)")
#> [1] "Cargada/s las series: c(\"6.2_AGCS_2004_T_39\", \"6.2_C_2004_T_12\", \"6.2_IM_2004_T_23\"). Descripción: c(\"Valor agregado bruto trimestral a precios de productor, de agricultura ganaderia caza y silvicultura en pesos de 2004\", \"Valor agregado bruto trimestral a precios de productor de construcción en pesos de 2004\", \"Valor agregado bruto trimestral a precios de productor de industria manufacturera en pesos de 2004\")"
#> [1] "Cargados 165 datos, desde 2004-01-01 hasta 2017-07-01 Periodicidad estimada: quarterly"

En caso de cargar varias series y desear proyecciones automáticas, utilizar la variante vectorial de Forecast, que es vForecast:

TCN <- vForecast(Get("120.1_PCE_1993_0_24,120.1_ED1_1993_0_26"),12)
#> [1] "Cargada/s las series: c(\"120.1_ED1_1993_0_26\", \"120.1_PCE_1993_0_24\"). Descripción: c(\"Exportaciones de bienes en millones de dólares de 1993\", \"Poder de compra de las exportaciones de bienes en millones de dólares de 1993\")"
#> [1] "Cargados 62 datos, desde 1986-01-01 hasta 2016-01-01 Periodicidad estimada: yearly"
#> [1] "Serie extendida 12 períodos, usando modelo auto detectado"

Notas

Las series se cargan en formato XTS, con la periodicidad auto-detectada por el paquete xts. La periocidiad es usada por la función Forecast para correcta detección de estacionalidad y lags. Forecast agrega demás intervalos de confianza del 95%. Las series diarias tienen un tope de 1000 datos (dado el límite actual de la API)

Estado del Proyecto

  • Funcionalidad básica
  • Captura de errores de uso o en la devolución de datos
  • Otros