A34-[Tarea Grupal] Aplicación del Filtro de Hodrick Prescott

Descripción

Usando los datos incluidos en el archivo datos_PIB_trime_CA.xlsx:

  1. Aplique el filtro HP para cada uno de los países de Centroamérica, para los periodos disponibles para cada país

  2. Represente sus resultados de forma gráfica, usando la versión personalizada y usando la representación rápida.

  3. En todos los gráficos indique el país y el periodo al que corresponden los datos.

Nota: Todos los datos provienen de https://www.secmca.org/secmcadatos/

Carga de datos

library(readxl)

library(kableExtra)


# Carga de los datos
PIB_trimestral_paises<-read_excel("C:/Users/User/Desktop/documents_rstudio/ciclo_6/datos_PIB_trim_CA.xlsx")
## New names:
## • `` -> `...2`
## • `` -> `...3`
## • `` -> `...4`
## • `` -> `...5`
## • `` -> `...6`
## • `` -> `...7`
## • `` -> `...8`
PIB_trimestral_paises %>%
  head(n = 75) %>%
  kable(caption = "Tabla de los primeros 75 registros del PIB trimestral por pais") %>%
  kable_classic(html_font = "Times New Roman", font_size = 14) %>%
  add_footnote(label = "Tomado del Consejo Monetario Centroamericano", notation = "symbol") %>%
  kable_styling()
Tabla de los primeros 75 registros del PIB trimestral por pais
Secretaría Ejecutiva del Consejo Monetario Centroamericano …2 …3 …4 …5 …6 …7 …8
Producción NA NA NA NA NA NA NA
Producto Interno Bruto trimestral NA NA NA NA NA NA NA
Unidad de medida: Millones de moneda nacional (o índice) encadenados y variaciones en porcentajes NA NA NA NA NA NA NA
Fechas Costa Rica El Salvador Guatemala Honduras Nicaragua República Dominicana Panamá
NA PIB trimestral en constantes PIB trimestral en constantes PIB trimestral en constantes PIB trimestral en constantes PIB trimestral en constantes PIB trimestral en constantes PIB trimestral en constantes
1990-I 48.97
1990-II 56.32
1990-III 56.41
1990-IV 59.88
1991-I 2730297.53 50.54 43.2
1991-II 2585732.5299999998 58.01 40.69
1991-III 2614916.7799999998 56.98 37.78
1991-IV 2873789.53 59.37 41.06
1992-I 2966524.89 53.82 46.32
1992-II 2788824.31 59.47 46.39
1992-III 2963547.97 61.02 42.25
1992-IV 3079994.2 66.38 46.04
1993-I 3217280.35 58.28 49.16
1993-II 2995772.37 64.099999999999994 50.26
1993-III 3112130.89 64.13 46.68
1993-IV 3311097.66 68.180000000000007 48.23
1994-I 3326797.08 59.02 51.45
1994-II 3204763.93 66.44 50.63
1994-III 3254567.18 68.02 47.21
1994-IV 3421190.2 73.16 50.08
1995-I 3579342.42 63.7 52.71
1995-II 3296178.61 71.95 53.09
1995-III 3327731.7 70.06 50.87
1995-IV 3552691.46 73.55 54.05
1996-I 3565449.91 65.03 58.08 2749.87
1996-II 3309375.45 70.819999999999993 55.34 2833.49
1996-III 3386475.96 71.02 53.21 2929.32
1996-IV 3680411.32 74.67 56.69 3102.78
1997-I 3632809.3 67.540000000000006 61.14 2879.11
1997-II 3554621.39 74.72 62.16 3012
1997-III 3562232.56 72.099999999999994 57.88 3140.23
1997-IV 3955520.7 76.010000000000005 61.97 3338.59
1998-I 4027204.06 69.010000000000005 66.53 3141.11
1998-II 3758269.46 77.03 66.11 3189.71
1998-III 3784925.84 74.150000000000006 61.19 3369.47
1998-IV 4186985.87 77.88 65.64 3582.31
1999-I 4119646.07 71.75 68.069999999999993 3329.58
1999-II 3963344.24 77.98 68.239999999999995 3365.15
1999-III 3982566.71 75.28 67.23 3510.98
1999-IV 4355972.25 79.510000000000005 71.349999999999994 3593.06
2000-I 4355807.97 72.25 26904.1 72.59 3356.21
2000-II 4101428.5 77.62 26411.5 72.27 3452.64
2000-III 4133378.63 77.25 25580.3 70.209999999999994 3605.78
2000-IV 4466216.84 80.83 27758.3 72.64 3761.93
2001-I 4492066.1399999997 74.45 70060.600000000006 27539 72.75 3393.13
2001-II 4252053.42 79.89 66509.100000000006 27279.599999999999 73.400000000000006 3535.5
2001-III 4299652.68 76.430000000000007 66314.399999999994 26057.8 73.08 3591.36
2001-IV 4608542.68 79.88 71106.3 28682.6 75.55 3735.6
2002-I 4540875.3099999996 73.569999999999993 72155.3 27872.3 77.13 3464.39
2002-II 4487161.4400000004 81.08 69896.2 28330.799999999999 78.42 3595.61
2002-III 4463358.01 78.87 70306.100000000006 27887 75.86 3645.23
2002-IV 4764077.95 82.03 73264.100000000006 29581.7 76.63 3870.08
2003-I 4777049.6900000004 75.36 75441.3 29205.7 77.11 3637.61
2003-II 4616263.45 81.45 71542.100000000006 29351.9 75.790000000000006 3602.8
2003-III 4655788.3099999996 80.02 71890.5 28745.4 74.430000000000007 3787.39
2003-IV 4994492.84 83.66 74221.7 31537.5 76.569999999999993 4164.2
2004-I 4993890.51 75.209999999999994 76687.7 31243.599999999999 76.42 3841.31
2004-II 4848763.12 82.05 73508.5 31422.6 77.81 3984.7
2004-III 4842796.32 81.05 74000.399999999994 30365 76.98 4132.04
2004-IV 5200747.1500000004 85.03 77600.2 33215.9 80.5 4376.58
2005-I 5113300.63 77.05 79264 32736.2 82.86 4137.1000000000004
2005-II 5063678.7 84.79 77149.5 33181.300000000003 84.57 4291.5200000000004
2005-III 5066035.18 82.53 75770.3 33089.5 85.65 4433.68
2005-IV 5433990.29 87.73 78863.600000000006 34879.1 88.01 4643.55
2006-I 5446096.2300000004 82.08 83160 35036.300000000003 28987.86 91.15 4451.51
2006-II 5374475.1600000001 85.85 79399.399999999994 34781.199999999997 28667.29 93.25 4617.67
2006-III 5452618.1799999997 85.77 80781.3 34936.5 29700.87 92.06 4846.0200000000004
2006-IV 5918756.4000000004 92.82 85047.2 37924.400000000001 31481.69 95.92 5080.04
2007-I 5941002.4400000004 81.93 88341.8 37124.800000000003 30059.68 97.42 4958.99
2007-II 5876424.7000000002 87.46 85226.5 37514.400000000001 30056.63 99.05 5139.47
* Tomado del Consejo Monetario Centroamericano

Filtro de Hodrick-Prescott para Costa Rica

Usando la versión personalizada.

library(mFilter)
library(forecast)

# Conversión de la columna PIB (especificada como ...2) a numérica
PIB_trimestral_paises$...2 <- as.numeric(PIB_trimestral_paises$...2)
## Warning: NAs introducidos por coerción
# Elimina las filas con valores NA 
PIB_trimestral_paises <- na.omit(PIB_trimestral_paises)

# Crear la serie de tiempo para el PIB trimestral de Costa Rica
Pib_trimCostaRi <- ts(PIB_trimestral_paises$...2, start = c(1990, 1), frequency = 4)

# Aplicar el filtro de Hodrick-Prescott
hp_resultCostaRi <- hpfilter(Pib_trimCostaRi, freq = 1600)

# Extraer la tendencia y el componente cíclico
trendCostaRi <- hp_resultCostaRi$trend
cycleCostaRi <- hp_resultCostaRi$cycle

# Visualizar los resultados
plot(Pib_trimCostaRi, type = "l", main = "Filtro de Hodrick-Prescott para Costa Rica: 1990 - II Trimestre de 2024", 
     ylab = "PIB", xlab = "Tiempo")
lines(trendCostaRi, col = "red", lwd = 2)
legend("topleft", legend = c("PIB Original", "Tendencia (Filtro HP)"), 
       col = c("black", "red"), lty = 1, lwd = 2)

Usando la representación rápida.

plot(hp_resultCostaRi,ask = FALSE)

Filtro de Hodrick-Prescott para El Salvador

Usando la versión personalizada.

library(mFilter)
library(forecast)

# Conversión de la columna PIB (especificada como ...3) a numérica
PIB_trimestral_paises$...3 <- as.numeric(PIB_trimestral_paises$...3)

# Elimina las filas con valores NA 
PIB_trimestral_paises <- na.omit(PIB_trimestral_paises)

# Crear la serie de tiempo para el PIB trimestral de El Salvador
Pib_trimElSalva <- ts(PIB_trimestral_paises$...3, start = c(1990, 1), frequency = 4)

# Aplicar el filtro de Hodrick-Prescott
hp_resultElSalva <- hpfilter(Pib_trimCostaRi, freq = 1600)

# Extraer la tendencia y el componente cíclico
trendElSalva <- hp_resultElSalva$trend
cycleElSalva <- hp_resultElSalva$cycle

# Visualizar los resultados
plot(Pib_trimElSalva, type = "l", main = "Filtro de Hodrick-Prescott para El Salvador: 1990 - II Trimestre de 2024", 
     ylab = "PIB", xlab = "Tiempo")
lines(trendCostaRi, col = "red", lwd = 2)
legend("topleft", legend = c("PIB Original", "Tendencia (Filtro HP)"), 
       col = c("black", "red"), lty = 1, lwd = 2)

Usando la representación rápida.

plot(hp_resultElSalva,ask = FALSE)

Filtro de Hodrick-Prescott para Guatemala

Usando la versión personalizada.

library(mFilter)
library(forecast)

# Conversión de la columna PIB (especificada como ...4) a numérica
PIB_trimestral_paises$...4 <- as.numeric(PIB_trimestral_paises$...4)
## Warning: NAs introducidos por coerción
# Elimina las filas con valores NA 
PIB_trimestral_paises <- na.omit(PIB_trimestral_paises)

# Crear la serie de tiempo para el PIB trimestral de Guatemala
Pib_trimGuatem <- ts(PIB_trimestral_paises$...4, start = c(1990, 1), frequency = 4)

# Aplicar el filtro de Hodrick-Prescott
hp_resultGuatem <- hpfilter(Pib_trimGuatem, freq = 1600)

# Extraer la tendencia y el componente cíclico
trendGuatem <- hp_resultGuatem$trend
cycleGuatem<- hp_resultGuatem$cycle

# Visualizar los resultados
plot(Pib_trimGuatem, type = "l", main = "Filtro de Hodrick-Prescott para Guatemala: 1990 - II Trimestre de 2024", 
     ylab = "PIB", xlab = "Tiempo")
lines(trendGuatem, col = "red", lwd = 2)
legend("topleft", legend = c("PIB Original", "Tendencia (Filtro HP)"), 
       col = c("black", "red"), lty = 1, lwd = 2)

Usando la representación rápida.

plot(hp_resultGuatem,ask = FALSE)

Filtro de Hodrick-Prescott para Honduras

Usando la versión personalizada.

library(mFilter)
library(forecast)

# Conversión de la columna PIB (especificada como ...5) a numérica
PIB_trimestral_paises$...5 <- as.numeric(PIB_trimestral_paises$...5)

# Elimina las filas con valores NA 
PIB_trimestral_paises <- na.omit(PIB_trimestral_paises)

# Crear la serie de tiempo para el PIB trimestral de Honduras
Pib_trimHoduras <- ts(PIB_trimestral_paises$...5, start = c(1990, 1), frequency = 4)

# Aplicar el filtro de Hodrick-Prescott
hp_resultHoduras <- hpfilter(Pib_trimHoduras, freq = 1600)

# Extraer la tendencia y el componente cíclico
trendHoduras<- hp_resultHoduras$trend
cycleHoduras<- hp_resultHoduras$cycle

# Visualizar los resultados
plot(Pib_trimHoduras, type = "l", main = "Filtro de Hodrick-Prescott para Honduras: 1990 - II Trimestre de 2024",
     ylab = "PIB", xlab = "Tiempo")
lines(trendHoduras, col = "red", lwd = 2)
legend("topleft", legend = c("PIB Original", "Tendencia (Filtro HP)"), 
       col = c("black", "red"), lty = 1, lwd = 2)

Usando la representación rápida.

plot(hp_resultHoduras,ask = FALSE)

Filtro de Hodrick-Prescott para Nicaragua

Usando la versión personalizada.

library(mFilter)
library(forecast)

# Conversión de la columna PIB (especificada como ...6) a numérica
PIB_trimestral_paises$...6 <- as.numeric(PIB_trimestral_paises$...6)
## Warning: NAs introducidos por coerción
# Elimina las filas con valores NA 
PIB_trimestral_paises <- na.omit(PIB_trimestral_paises)

# Crear la serie de tiempo para el PIB trimestral de Nicaragua
Pib_trimNicara <- ts(PIB_trimestral_paises$...6, start = c(1990, 1), frequency = 4)

# Aplicar el filtro de Hodrick-Prescott
hp_resultNicara<- hpfilter(Pib_trimNicara, freq = 1600)

# Extraer la tendencia y el componente cíclico
trendNicara<- hp_resultNicara$trend
cycleNicara<- hp_resultNicara$cycle

# Visualizar los resultados
plot(Pib_trimNicara, type = "l", main = "Filtro de Hodrick-Prescott para Nicaragua: 1990 - II Trimestre de 2024", 
     ylab = "PIB", xlab = "Tiempo")
lines(trendNicara, col = "red", lwd = 2)
legend("topleft", legend = c("PIB Original", "Tendencia (Filtro HP)"), 
       col = c("black", "red"), lty = 1, lwd = 2)

Usando la representación rápida.

plot(hp_resultNicara,ask = FALSE)

Filtro de Hodrick-Prescott para República Dominicana

Usando la versión personalizada.

library(mFilter)
library(forecast)

# Conversión de la columna PIB (especificada como ...7) a numérica
PIB_trimestral_paises$...7 <- as.numeric(PIB_trimestral_paises$...7)

# Elimina las filas con valores NA 
PIB_trimestral_paises <- na.omit(PIB_trimestral_paises)

# Crear la serie de tiempo para el PIB trimestral de República Dominicana
Pib_trimRDominican <- ts(PIB_trimestral_paises$...7, start = c(1990, 1), frequency = 4)

# Aplicar el filtro de Hodrick-Prescott
hp_resultRDominican <- hpfilter(Pib_trimRDominican, freq = 1600)

# Extraer la tendencia y el componente cíclico
trendRDominican<- hp_resultRDominican$trend
cycleRDominican<- hp_resultRDominican$cycle

# Visualizar los resultados
plot(Pib_trimRDominican, type = "l", main = "Filtro de Hodrick-Prescott para Republica Dominicana: 1990 - II Trimestre de 2024", 
     ylab = "PIB", xlab = "Tiempo")
lines(trendRDominican, col = "red", lwd = 2)
legend("topleft", legend = c("PIB Original", "Tendencia (Filtro HP)"), 
       col = c("black", "red"), lty = 1, lwd = 2)

Usando la representación rápida.

plot(hp_resultRDominican,ask = FALSE)

Filtro de Hodrick-Prescott para Panamá

Usando la versión personalizada.

library(mFilter)
library(forecast)

# Conversión de la columna PIB (especificada como ...8) a numérica
PIB_trimestral_paises$...8 <- as.numeric(PIB_trimestral_paises$...8)
## Warning: NAs introducidos por coerción
# Elimina las filas con valores NA 
PIB_trimestral_paises <- na.omit(PIB_trimestral_paises)

# Crear la serie de tiempo para el PIB trimestral de Panamá
Pib_trimPanam <- ts(PIB_trimestral_paises$...8, start = c(1990, 1), frequency = 4)

# Aplicar el filtro de Hodrick-Prescott
hp_resultPanam <- hpfilter(Pib_trimPanam, freq = 1600)

# Extraer la tendencia y el componente cíclico
trendPanam<- hp_resultPanam$trend
cyclePanam<- hp_resultPanam$cycle

# Visualizar los resultados
plot(Pib_trimPanam, type = "l", main = "Filtro de Hodrick-Prescott para Panama: 1990 - II Trimestre de 2024", 
     ylab = "PIB", xlab = "Tiempo")
lines(trendPanam, col = "red", lwd = 2)
legend("topleft", legend = c("PIB Original", "Tendencia (Filtro HP)"), 
       col = c("black", "red"), lty = 1, lwd = 2)

Usando la representación rápida.

plot(hp_resultPanam,ask = FALSE)

Referencia: Pérez, A. (s. f.). RPubs – Filtro HP. Recuperado el 10 de enero de 2025, de https://rpubs.com/ca_ademir/filtro_hp