Aplicación del Filtro de Hodrick Prescott [HP]
UNIVERSIDAD DE EL SALVADOR
FACULTAD DE CIENCIAS ECONÓMICAS
ESCUELA DE ECONOMÍA
MÉTODOS PARA EL ANÁLISIS ECONÓMICO
TEMA:
“Aplicación del Filtro de Hodrick Prescott [HP] ”
DOCENTE:
MSF. Carlos Ademir Pérez Alas.
Grupo teórico
GT-03
| Integrantes: | Carnet: | Participación |
|---|---|---|
| Bonilla Amaya, Favio Andres | BA22008 | 100% |
| Umanzor Bonilla, Dina Esmeralda | UB22001 | 100% |
| Rodas Velasquez, Fernanda Elizabeth | RV22043 | 100% |
Ciudad Universitaria, 10 de enero de 2025
Usando los datos incluidos en el archivo datos_PIB_trime_CA.xlsx: • Aplique el filtro HP para cada uno de los países de Centroamérica, para los periodos disponibles para cada país • represente sus resultados de forma gráfica: o 1. Usando la versión personalizada y o 2. usando la representación rápida. o En todos los gráficos indique el país y el periodo al que corresponden los datos.
Carga De Los Datos
library(readxl)
library(mFilter)
library(forecast)
library(tidyr)
library(dplyr)
# Carga de los datos.
file_path <- "C:/Users/Favio Andrés/Downloads/datos_PIB_trim_CA.xlsx"
data <- read_excel(file_path, skip = 4)
# Renombrar las columnas.
colnames(data) <- c('Fechas', 'Costa_Rica', 'El_Salvador', 'Guatemala', 'Honduras',
'Nicaragua', 'Republica_Dominicana', 'Panama')
# Depurar los datos.
data <- data %>%
filter(!is.na(Fechas)) %>%
mutate(across(-Fechas, ~na_if(.x, "--"))) %>%
mutate(across(-Fechas, as.numeric))Costa Rica
1- Usando la versión personalizada
# Filtrar datos correspondientes a Costa Rica.
data_costa_rica <- data %>% filter(!is.na(Costa_Rica))
# Generar una serie temporal para Costa Rica.
PIB_trim <- ts(data_costa_rica$Costa_Rica,
start = c(as.numeric(substr(data_costa_rica$Fechas[1], 1, 4)), 1),
frequency = 4)
# Aplicar el filtro Hodrick-Prescott a los datos.
hp_result <- hpfilter(PIB_trim, freq = 1600)
# Extraer la tendencia y el ciclo
trend <- hp_result$trend
cycle <- hp_result$cycle
# Especificar el periodo de los datos.
inicio <- data_costa_rica$Fechas[1]
fin <- data_costa_rica$Fechas[nrow(data_costa_rica)]
periodo <- paste(inicio, "-", fin)
# Gráfico personalizado
plot(PIB_trim, type = "l", main = paste("Filtro HP - Costa Rica (", periodo, ")"),
ylab = "PIB", xlab = "Tiempo", col = "black", lwd = 1)
lines(trend, col = "red", lwd = 2)
legend("topleft", legend = c("PIB Original", "Tendencia (Filtro HP)"),
col = c("black", "red"), lty = 1, lwd = 2)# Gráfico del componente cíclico
plot(cycle, type = "l", main = paste("Componente Ciclico - Costa Rica (", periodo, ")"),
ylab = "Ciclo", xlab = "Tiempo", col = "blue", lwd = 1)El Salvdor
1- Usando La Versión Personalizada
# Filtrar datos correspondientes a El Salvdor.
data_El_Salvador <- data %>% filter(!is.na(El_Salvador))
# Generar una serie temporal para El Salvdor.
PIB_trim <- ts(data_El_Salvador$El_Salvador,
start = c(as.numeric(substr(data_El_Salvador$Fechas[1], 1, 4)), 1),
frequency = 4)
# Aplicar el filtro Hodrick-Prescott a los datos.
hp_result <- hpfilter(PIB_trim, freq = 1600)
# Extraer la tendencia y el ciclo
trend <- hp_result$trend
cycle <- hp_result$cycle
# Especificar el periodo de los datos.
inicio <- data_El_Salvador$Fechas[1]
fin <- data_El_Salvador$Fechas[nrow(data_El_Salvador)]
periodo <- paste(inicio, "-", fin)
# Gráfico personalizado
plot(PIB_trim, type = "l", main = paste("Filtro HP - Costa Rica (", periodo, ")"),
ylab = "PIB", xlab = "Tiempo", col = "black", lwd = 1)
lines(trend, col = "red", lwd = 2)
legend("topleft", legend = c("PIB Original", "Tendencia (Filtro HP)"),
col = c("black", "red"), lty = 1, lwd = 2)# Gráfico del componente cíclico
plot(cycle, type = "l", main = paste("Componente Ciclico - El Salvador (", periodo, ")"),
ylab = "Ciclo", xlab = "Tiempo", col = "blue", lwd = 1)Guatemala
1- Usando La Versión Personalizada
# Filtrar datos correspondientes a Guatemala.
data_Guatemala <- data %>% filter(!is.na(Guatemala))
# Generar una serie temporal para Guatemala.
PIB_trim <- ts(data_Guatemala$Guatemala,
start = c(as.numeric(substr(data_Guatemala$Fechas[1], 1, 4)), 1),
frequency = 4)
# Aplicar el filtro Hodrick-Prescott a los datos.
hp_result <- hpfilter(PIB_trim, freq = 1600)
# Extraer la tendencia y el ciclo
trend <- hp_result$trend
cycle <- hp_result$cycle
# Especificar el periodo de los datos.
inicio <- data_Guatemala$Fechas[1]
fin <- data_Guatemala$Fechas[nrow(data_Guatemala)]
periodo <- paste(inicio, "-", fin)
# Gráfico personalizado
plot(PIB_trim, type = "l", main = paste("Filtro HP - Guatemala (", periodo, ")"),
ylab = "PIB", xlab = "Tiempo", col = "black", lwd = 1)
lines(trend, col = "red", lwd = 2)
legend("topleft", legend = c("PIB Original", "Tendencia (Filtro HP)"),
col = c("black", "red"), lty = 1, lwd = 2)# Gráfico del componente cíclico
plot(cycle, type = "l", main = paste("Componente Ciclico - Guatemala (", periodo, ")"),
ylab = "Ciclo", xlab = "Tiempo", col = "blue", lwd = 1)Honduras
1- Usando La Versión Personalizada
# Filtrar datos correspondientes a Honduras.
data_Honduras <- data %>% filter(!is.na(Honduras))
# Generar una serie temporal para Honduras.
PIB_trim <- ts(data_Honduras$Honduras,
start = c(as.numeric(substr(data_Honduras$Fechas[1], 1, 4)), 1),
frequency = 4)
# Aplicar el filtro Hodrick-Prescott a los datos.
hp_result <- hpfilter(PIB_trim, freq = 1600)
# Extraer la tendencia y el ciclo
trend <- hp_result$trend
cycle <- hp_result$cycle
# Especificar el periodo de los datos.
inicio <- data_Honduras$Fechas[1]
fin <- data_Honduras$Fechas[nrow(data_Honduras)]
periodo <- paste(inicio, "-", fin)
# Gráfico personalizado
plot(PIB_trim, type = "l", main = paste("Filtro HP - Honduras (", periodo, ")"),
ylab = "PIB", xlab = "Tiempo", col = "black", lwd = 1)
lines(trend, col = "red", lwd = 2)
legend("topleft", legend = c("PIB Original", "Tendencia (Filtro HP)"),
col = c("black", "red"), lty = 1, lwd = 2)# Gráfico del componente cíclico
plot(cycle, type = "l", main = paste("Componente Ciclico - Honduras (", periodo, ")"),
ylab = "Ciclo", xlab = "Tiempo", col = "blue", lwd = 1)Nicaragua
1- Usando La Versión Personalizada
# Filtrar datos correspondientes a Nicaragua.
data_Nicaragua <- data %>% filter(!is.na(Nicaragua))
# Generar una serie temporal para Nicaragua.
PIB_trim <- ts(data_Nicaragua$Nicaragua,
start = c(as.numeric(substr(data_Nicaragua$Fechas[1], 1, 4)), 1),
frequency = 4)
# Aplicar el filtro Hodrick-Prescott a los datos.
hp_result <- hpfilter(PIB_trim, freq = 1600)
# Extraer la tendencia y el ciclo
trend <- hp_result$trend
cycle <- hp_result$cycle
# Especificar el periodo de los datos.
inicio <- data_Nicaragua$Fechas[1]
fin <- data_Nicaragua$Fechas[nrow(data_Nicaragua)]
periodo <- paste(inicio, "-", fin)
# Gráfico personalizado
plot(PIB_trim, type = "l", main = paste("Filtro HP - Nicaragua (", periodo, ")"),
ylab = "PIB", xlab = "Tiempo", col = "black", lwd = 1)
lines(trend, col = "red", lwd = 2)
legend("topleft", legend = c("PIB Original", "Tendencia (Filtro HP)"),
col = c("black", "red"), lty = 1, lwd = 2)# Gráfico del componente cíclico
plot(cycle, type = "l", main = paste("Componente Ciclico - Nicaragua (", periodo, ")"),
ylab = "Ciclo", xlab = "Tiempo", col = "blue", lwd = 1)República Dominicana
1- Usando La Versión Lersonalizada
# Filtrar datos correspondientes a República Dominicana.
data_Republica_Dominicana <- data %>% filter(!is.na(Republica_Dominicana))
# Generar una serie temporal para República Dominicana.
PIB_trim <- ts(data_Republica_Dominicana$Republica_Dominicana,
start = c(as.numeric(substr(data_Republica_Dominicana$Fechas[1], 1, 4)), 1),
frequency = 4)
# Aplicar el filtro Hodrick-Prescott a los datos.
hp_result <- hpfilter(PIB_trim, freq = 1600)
# Extraer la tendencia y el ciclo
trend <- hp_result$trend
cycle <- hp_result$cycle
# Especificar el periodo de los datos.
inicio <- data_Republica_Dominicana$Fechas[1]
fin <- data_Republica_Dominicana$Fechas[nrow(data_Republica_Dominicana)]
periodo <- paste(inicio, "-", fin)
# Gráfico personalizado
plot(PIB_trim, type = "l", main = paste("Filtro HP - República Dominicana (", periodo, ")"),
ylab = "PIB", xlab = "Tiempo", col = "black", lwd = 1)
lines(trend, col = "red", lwd = 2)
legend("topleft", legend = c("PIB Original", "Tendencia (Filtro HP)"),
col = c("black", "red"), lty = 1, lwd = 2)# Gráfico del componente cíclico
plot(cycle, type = "l", main = paste("Componente Ciclico - República Dominicana (", periodo, ")"),
ylab = "Ciclo", xlab = "Tiempo", col = "blue", lwd = 1)Panamá
1- Usando La Versión Personalizada
# Filtrar datos correspondientes a Panamá.
data_Panama <- data %>% filter(!is.na(Panama))
# Generar una serie temporal para Panamá.
PIB_trim <- ts(data_Panama$Panama,
start = c(as.numeric(substr(data_Panama$Fechas[1], 1, 4)), 1),
frequency = 4)
# Aplicar el filtro Hodrick-Prescott a los datos.
hp_result <- hpfilter(PIB_trim, freq = 1600)
# Extraer la tendencia y el ciclo
trend <- hp_result$trend
cycle <- hp_result$cycle
# Especificar el periodo de los datos.
inicio <- data_Panama$Fechas[1]
fin <- data_Panama$Fechas[nrow(data_Panama)]
periodo <- paste(inicio, "-", fin)
# Gráfico personalizado
plot(PIB_trim, type = "l", main = paste("Filtro HP - Panamá (", periodo, ")"),
ylab = "PIB", xlab = "Tiempo", col = "black", lwd = 1)
lines(trend, col = "red", lwd = 2)
legend("topleft", legend = c("PIB Original", "Tendencia (Filtro HP)"),
col = c("black", "red"), lty = 1, lwd = 2)# Gráfico del componente cíclico
plot(cycle, type = "l", main = paste("Componente Ciclico - Panamá (", periodo, ")"),
ylab = "Ciclo", xlab = "Tiempo", col = "blue", lwd = 1)