En este tutorial veremos como buscar la serie de tipo de cambio de pesos contra dólar, descargarla y extenderla.
En primer lugar cargamos el paquete.
library(PortalHacienda)
#> =============================================================================
#> Acceso API Portal Datos Hacienda - v 0.1.7b - 06-2023 por F.García Díaz
Luego buscamos las series de tipo de cambio con Search_online
<- Search_online("Tipo de cambio") Series
tail(Series,10)
#> # A tibble: 10 × 24
#> catalogo_id dataset_id distribucion_id serie_id indice_tiempo_frecue…¹
#> <chr> <dbl> <dbl> <chr> <chr>
#> 1 sspm 430 430. 430.1_MEDIANA_… R/P1M
#> 2 sspm 430 430. 430.1_MEDIANA_… R/P1M
#> 3 sspm 430 430. 430.1_MEDIANA_… R/P1M
#> 4 sspm 430 430. 430.1_MEDIANA_… R/P1M
#> 5 sspm 430 430. 430.1_MEDIANA_… R/P1M
#> 6 sspm 9 9.1 9.1_CGAL_2004_… R/P1Y
#> 7 sspm 9 9.1 9.1_TU_2004_A_… R/P1Y
#> 8 sspm 9 9.2 9.2_GC_2004_T_… R/P3M
#> 9 sspm 9 9.2 9.2_TU_2004_T_… R/P3M
#> 10 sspm 92 92.1 92.1_TCV_0_0_21 R/P1M
#> # ℹ abbreviated name: ¹indice_tiempo_frecuencia
#> # ℹ 19 more variables: serie_titulo <chr>, serie_unidades <chr>,
#> # serie_descripcion <chr>, distribucion_titulo <chr>,
#> # distribucion_descripcion <chr>, distribucion_url_descarga <chr>,
#> # dataset_responsable <chr>, dataset_fuente <chr>, dataset_titulo <chr>,
#> # dataset_descripcion <chr>, dataset_tema <chr>, serie_indice_inicio <date>,
#> # serie_indice_final <date>, serie_valores_cant <dbl>, …
Identificamos el serie_id de la serie que nos interesa, en este caso “174.1_T_DE_CATES_0_0_32”. Luego la descargamos con Get, seleccionando la fecha de inicio y otros parámetros.
<- Get("174.1_T_DE_CATES_0_0_32", start_date = "2010", timeout = 15)
TCN #> Downloading data series...
#> Loaded 159 data points, from 2010-01-01 to 2023-03-01. Periodicity: monthly
Si necesitamos extender la serie rápidamente, podemos hacerlo con Forecast. La función utiliza la selección automática de modelos ARIMA del paquete ‘forecast’. En este caso pedimos una proyección de 12 meses y crear bandas de confianza del 80%. La función nos devuelve la serie extendida e indica el modelo que auto-detectó.
if (length(TCN) > 0)
<- Forecast(TCN, N = 12 , confidence = c(80))
TCN #> Registered S3 method overwritten by 'quantmod':
#> method from
#> as.zoo.data.frame zoo
#> Warning in .check_tzones(e1, e2): 'tzone' attributes are inconsistent
#> Time-series extended 12 data points, using auto-detected model: ARIMA(0,2,1)(0,0,1)[12]
Ya tenemos la proyección de la serie en ‘TCN’ para utilizar y graficar.
if (length(TCN) > 0){
tail(TCN, 10)
plot(TCN , main = "Tipo de Cambio Nominal ($/USD)")}