# Tutorial de PortalHacienda

En este tutorial veremos como buscar la serie de tipo de cambio de pesos contra dólar, descargarla y extenderla.

## 1. Cargar el paquete

En primer lugar cargamos el paquete.

    library(PortalHacienda)
    #> =============================================================================
    #> Acceso API Portal Datos Hacienda - v 0.1.8b - 04-2026 por F.García Díaz

## 2. Buscar la serie

Luego buscamos las series de tipo de cambio con Search_online

    Series <- Search_online("Tipo de cambio")

    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>, …

## 3. Identificar y descargar la serie

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.

    TCN <- Get("174.1_T_DE_CATES_0_0_32", start_date = "2010", timeout = 15)
    #> Downloading data series...
    #> Loaded 192 data points, from 2010-01-01 to 2025-12-01. Periodicity: monthly

## 4. Proyectar

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)
    TCN <- Forecast(TCN, N = 12 , confidence = c(80))
    #> Warning in .check_tzones(e1, e2): 'tzone' attributes are inconsistent
    #> Time-series extended 12 data points, using auto-detected model: ARIMA(0,2,1)

## 5. Listo!

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)")}