UNIVERSIDAD DE EL SALVADOR
FACULTAD DE CIENCIAS ECONÓMICAS
ESCUELA DE ECONOMÍA CICLO II-2024
Tema: A34-Aplicación del Filtro de Hodrick Prescott
[Tarea Grupal].
Materia: Métodos para el Análisis Económico
Docente: MSF. Carlos Ademir Pérez Alas
GT: 03
Estudiantes:
Nombres y número de carnet
|
INTEGRANTES
|
CARNET
|
|
Sandra Maribel Aparicio Fuentes
|
AF22025
|
|
Nubia Linette Beltrán Hernández
|
BH21010
|
|
Génesis Melissa Siguenza Rivas
|
SR22041
|
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:
Costa Rica
1. Usando la versión personalizada y
options(scipen = 999)
library(readxl)
library(mFilter)
library(forecast)
# Cargar los datos
PIB_trimestral_CA <- read_excel("C:/Users/MINEDUCYT/Downloads/datos_PIB_trim_CA.xlsx")
# Especificar el país (en este caso, Costa Rica)
pais <- colnames(PIB_trimestral_CA)[2]
# Convertir la columna a numérico y manejar valores faltantes
PIB_pais_data <- as.numeric(PIB_trimestral_CA[[pais]])
PIB_pais_data <- na.omit(PIB_pais_data)
# Verificar si la serie tiene suficientes datos
if (length(PIB_pais_data) > 1) {
# Crear la serie temporal para Costa Rica
PIB_CostaRica <- ts(PIB_pais_data, start = c(1990, 1), frequency = 4)
# Determinar el periodo de la serie
start_period <- floor(time(PIB_CostaRica)[1]) # Año inicial
end_period <- floor(time(PIB_CostaRica)[length(PIB_CostaRica)]) # Año final
# Aplicar el filtro de Hodrick-Prescott
hp_result <- hpfilter(PIB_CostaRica, freq = 1600)
# Extraer la tendencia y el componente cíclico
trend <- hp_result$trend
cycle <- hp_result$cycle
# Graficar los resultados
plot(PIB_CostaRica, type = "l",
main = paste("Filtro de Hodrick-Prescott - Costa Rica","\nPeriodo:", start_period, "-", end_period),
ylab = "PIB", xlab = "Tiempo")
lines(trend, col = "red", lwd = 2)
legend("topleft", legend = c("PIB Original", "Tendencia (Filtro HP)"), col = c("black", "red"), lty = 1, lwd = 2)
} else {
message(paste("La columna", pais, "no tiene suficientes datos válidos."))
}

options(scipen = 999)
plot(cycle, type = "l", main = "Componente Ciclico", ylab = "Ciclo", xlab = "Tiempo")

2. usando la representación rápida.
options(scipen = 999)
plot(hp_result,ask = FALSE)

El Salvador
1. Usando la versión personalizada y
options(scipen = 999)
library(readxl)
library(mFilter)
library(forecast)
# Cargar los datos
PIB_trimestral_CA <- read_excel("C:/Users/MINEDUCYT/Downloads/datos_PIB_trim_CA.xlsx")
# Especificar el país (en este caso, El Salvador)
pais <- colnames(PIB_trimestral_CA)[2]
# Convertir la columna a numérico y manejar valores faltantes
PIB_pais_data <- as.numeric(PIB_trimestral_CA[[pais]])
PIB_pais_data <- na.omit(PIB_pais_data)
# Verificar si la serie tiene suficientes datos
if (length(PIB_pais_data) > 1) {
# Crear la serie temporal para el país especificado (El Salvador en este caso)
PIB_ESA <- ts(PIB_pais_data, start = c(1990, 1), frequency = 4)
# Determinar el periodo de la serie
start_period <- floor(time(PIB_ESA)[1]) # Año inicial
end_period <- floor(time(PIB_ESA)[length(PIB_ESA)]) # Año final
# Aplicar el filtro de Hodrick-Prescott
hp_result <- hpfilter(PIB_ESA, freq = 1600)
# Extraer la tendencia y el componente cíclico
trend <- hp_result$trend
cycle <- hp_result$cycle
# Graficar los resultados
plot(PIB_ESA, type = "l",
main = paste("Filtro de Hodrick-Prescott - El Salvador", "\nPeriodo:", start_period, "-", end_period),
ylab = "PIB", xlab = "Tiempo")
lines(trend, col = "red", lwd = 2)
legend("topleft", legend = c("PIB Original", "Tendencia (Filtro HP)"), col = c("black", "red"), lty = 1, lwd = 2)
} else {
message(paste("La columna", pais, "no tiene suficientes datos válidos."))
}

options(scipen = 999)
plot(cycle, type = "l", main = "Componente Ciclico", ylab = "Ciclo", xlab = "Tiempo")

o 2. usando la representación rápida.
options(scipen = 999)
plot(hp_result,ask = FALSE)

Guatemala
o 1. Usando la versión personalizada y
options(scipen = 999)
library(readxl)
library(mFilter)
library(forecast)
# Cargar los datos
PIB_trimestral_CA <- read_excel("C:/Users/MINEDUCYT/Downloads/datos_PIB_trim_CA.xlsx")
# Especificar el país (en este caso, Guatemala)
pais <- colnames(PIB_trimestral_CA)[2]
# Convertir la columna a numérico y manejar valores faltantes
PIB_pais_data <- as.numeric(PIB_trimestral_CA[[pais]])
PIB_pais_data <- na.omit(PIB_pais_data)
# Verificar si la serie tiene suficientes datos
if (length(PIB_pais_data) > 1) {
# Crear la serie temporal para Guatemala
PIB_Guatemala <- ts(PIB_pais_data, start = c(1990, 1), frequency = 4)
# Determinar el periodo de la serie
start_period <- floor(time(PIB_Guatemala)[1]) # Año inicial
end_period <- floor(time(PIB_Guatemala)[length(PIB_Guatemala)]) # Año final
# Aplicar el filtro de Hodrick-Prescott
hp_result <- hpfilter(PIB_Guatemala, freq = 1600)
# Extraer la tendencia y el componente cíclico
trend <- hp_result$trend
cycle <- hp_result$cycle
# Graficar los resultados
plot(PIB_Guatemala, type = "l",
main = paste("Filtro de Hodrick-Prescott - Guatemala","\nPeriodo:", start_period, "-", end_period),
ylab = "PIB", xlab = "Tiempo")
lines(trend, col = "red", lwd = 2)
legend("topleft", legend = c("PIB Original", "Tendencia (Filtro HP)"), col = c("black", "red"), lty = 1, lwd = 2)
} else {
message(paste("La columna", pais, "no tiene suficientes datos válidos."))
}

options(scipen = 999)
plot(cycle, type = "l", main = "Componente Ciclico", ylab = "Ciclo", xlab = "Tiempo")

2. usando la representación rápida.
options(scipen = 999)
plot(hp_result,ask = FALSE)

Honduras
1. Usando la versión personalizada y
options(scipen = 999)
library(readxl)
library(mFilter)
library(forecast)
# Cargar los datos
PIB_trimestral_CA <- read_excel("C:/Users/MINEDUCYT/Downloads/datos_PIB_trim_CA.xlsx")
# Especificar el país (en este caso, Honduras)
pais <- colnames(PIB_trimestral_CA)[2]
# Convertir la columna a numérico y manejar valores faltantes
PIB_pais_data <- as.numeric(PIB_trimestral_CA[[pais]])
PIB_pais_data <- na.omit(PIB_pais_data)
# Verificar si la serie tiene suficientes datos
if (length(PIB_pais_data) > 1) {
# Crear la serie temporal para Honduras
PIB_Honduras <- ts(PIB_pais_data, start = c(1990, 1), frequency = 4)
# Determinar el periodo de la serie
start_period <- floor(time(PIB_Honduras)[1]) # Año inicial
end_period <- floor(time(PIB_Honduras)[length(PIB_Honduras)]) # Año final
# Aplicar el filtro de Hodrick-Prescott
hp_result <- hpfilter(PIB_Honduras, freq = 1600)
# Extraer la tendencia y el componente cíclico
trend <- hp_result$trend
cycle <- hp_result$cycle
# Graficar los resultados
plot(PIB_Honduras, type = "l",
main = paste("Filtro de Hodrick-Prescott - Honduras","\nPeriodo:", start_period, "-", end_period),
ylab = "PIB", xlab = "Tiempo")
lines(trend, col = "red", lwd = 2)
legend("topleft", legend = c("PIB Original", "Tendencia (Filtro HP)"), col = c("black", "red"), lty = 1, lwd = 2)
} else {
message(paste("La columna", pais, "no tiene suficientes datos válidos."))
}

options(scipen = 999)
plot(cycle, type = "l", main = "Componente Ciclico", ylab = "Ciclo", xlab = "Tiempo")

2. usando la representación rápida.
options(scipen = 999)
plot(hp_result,ask = FALSE)

Nicaragua
1. Usando la versión personalizada y
options(scipen = 999)
library(readxl)
library(mFilter)
library(forecast)
# Cargar los datos
PIB_trimestral_CA <- read_excel("C:/Users/MINEDUCYT/Downloads/datos_PIB_trim_CA.xlsx")
# Especificar el país (en este caso, Nicaragua)
pais <- colnames(PIB_trimestral_CA)[2]
# Convertir la columna a numérico y manejar valores faltantes
PIB_pais_data <- as.numeric(PIB_trimestral_CA[[pais]])
PIB_pais_data <- na.omit(PIB_pais_data)
# Verificar si la serie tiene suficientes datos
if (length(PIB_pais_data) > 1) {
# Crear la serie temporal para Nicaragua
PIB_Nicaragua <- ts(PIB_pais_data, start = c(1990, 1), frequency = 4)
# Determinar el periodo de la serie
start_period <- floor(time(PIB_Nicaragua)[1]) # Año inicial
end_period <- floor(time(PIB_Nicaragua)[length(PIB_Nicaragua)]) # Año final
# Aplicar el filtro de Hodrick-Prescott
hp_result <- hpfilter(PIB_Nicaragua, freq = 1600)
# Extraer la tendencia y el componente cíclico
trend <- hp_result$trend
cycle <- hp_result$cycle
# Graficar los resultados
plot(PIB_Nicaragua, type = "l",
main = paste("Filtro de Hodrick-Prescott - Nicaragua","\nPeriodo:", start_period, "-", end_period),
ylab = "PIB", xlab = "Tiempo")
lines(trend, col = "red", lwd = 2)
legend("topleft", legend = c("PIB Original", "Tendencia (Filtro HP)"), col = c("black", "red"), lty = 1, lwd = 2)
} else {
message(paste("La columna", pais, "no tiene suficientes datos válidos."))
}

options(scipen = 999)
plot(cycle, type = "l", main = "Componente Ciclico", ylab = "Ciclo", xlab = "Tiempo")

2. usando la representación rápida.
options(scipen = 999)
plot(hp_result,ask = FALSE)

República Dominicana
1. Usando la versión personalizada y
options(scipen = 999)
library(readxl)
library(mFilter)
library(forecast)
# Cargar los datos
PIB_trimestral_CA <- read_excel("C:/Users/MINEDUCYT/Downloads/datos_PIB_trim_CA.xlsx")
# Especificar el país (en este caso, República Dominicana)
pais <- colnames(PIB_trimestral_CA)[2]
# Convertir la columna a numérico y manejar valores faltantes
PIB_pais_data <- as.numeric(PIB_trimestral_CA[[pais]])
PIB_pais_data <- na.omit(PIB_pais_data)
# Verificar si la serie tiene suficientes datos
if (length(PIB_pais_data) > 1) {
# Crear la serie temporal para República Dominicana
PIB_Rep_Dominicana <- ts(PIB_pais_data, start = c(1990, 1), frequency = 4)
# Determinar el periodo de la serie
start_period <- floor(time(PIB_Rep_Dominicana)[1]) # Año inicial
end_period <- floor(time(PIB_Rep_Dominicana)[length(PIB_Rep_Dominicana)]) # Año final
# Aplicar el filtro de Hodrick-Prescott
hp_result <- hpfilter(PIB_Rep_Dominicana, freq = 1600)
# Extraer la tendencia y el componente cíclico
trend <- hp_result$trend
cycle <- hp_result$cycle
# Graficar los resultados
plot(PIB_Rep_Dominicana, type = "l",
main = paste("Filtro de Hodrick-Prescott - República Dominicana","\nPeriodo:", start_period, "-", end_period),
ylab = "PIB", xlab = "Tiempo")
lines(trend, col = "red", lwd = 2)
legend("topleft", legend = c("PIB Original", "Tendencia (Filtro HP)"), col = c("black", "red"), lty = 1, lwd = 2)
} else {
message(paste("La columna", pais, "no tiene suficientes datos válidos."))
}

options(scipen = 999)
plot(cycle, type = "l", main = "Componente Ciclico", ylab = "Ciclo", xlab = "Tiempo")

2. usando la representación rápida.
options(scipen = 999)
plot(hp_result,ask = FALSE)

Panamá
1. Usando la versión personalizada y
options(scipen = 999)
library(readxl)
library(mFilter)
library(forecast)
# Cargar los datos
PIB_trimestral_CA <- read_excel("C:/Users/MINEDUCYT/Downloads/datos_PIB_trim_CA.xlsx")
# Especificar el país (en este caso, Panamá)
pais <- colnames(PIB_trimestral_CA)[2]
# Convertir la columna a numérico y manejar valores faltantes
PIB_pais_data <- as.numeric(PIB_trimestral_CA[[pais]])
PIB_pais_data <- na.omit(PIB_pais_data)
# Verificar si la serie tiene suficientes datos
if (length(PIB_pais_data) > 1) {
# Crear la serie temporal para Panáma
PIB_Panama <- ts(PIB_pais_data, start = c(1990, 1), frequency = 4)
# Determinar el periodo de la serie
start_period <- floor(time(PIB_Panama)[1]) # Año inicial
end_period <- floor(time(PIB_Panama)[length(PIB_Panama)]) # Año final
# Aplicar el filtro de Hodrick-Prescott
hp_result <- hpfilter(PIB_Panama, freq = 1600)
# Extraer la tendencia y el componente cíclico
trend <- hp_result$trend
cycle <- hp_result$cycle
# Graficar los resultados
plot(PIB_Panama, type = "l",
main = paste("Filtro de Hodrick-Prescott - Panamá","\nPeriodo:", start_period, "-", end_period),
ylab = "PIB", xlab = "Tiempo")
lines(trend, col = "red", lwd = 2)
legend("topleft", legend = c("PIB Original", "Tendencia (Filtro HP)"), col = c("black", "red"), lty = 1, lwd = 2)
} else {
message(paste("La columna", pais, "no tiene suficientes datos válidos."))
}

options(scipen = 999)
plot(cycle, type = "l", main = "Componente Ciclico", ylab = "Ciclo", xlab = "Tiempo")

2. usando la representación rápida.
options(scipen = 999)
plot(hp_result,ask = FALSE)
