library(sidrar)
library(tidyverse)
library(zoo)
library(mFilter)
library(ggplot2)
library(patchwork)
# PIB a preços de mercado (com ajuste sazonal)
pib_sa <- get_sidra(api = '/t/1621/n1/all/v/all/p/all/c11255/90707/d/v584%202') %>%
mutate(date = as.yearqtr(`Trimestre (Código)`, format = '%Y%q')) %>%
rename(pib = Valor) %>%
select(date, pib)
# Indústria total (com ajuste sazonal)
industria_sa <- get_sidra(api = '/t/1621/n1/all/v/all/p/all/c11255/90687/d/v584%202') %>%
mutate(date = as.yearqtr(`Trimestre (Código)`, format = '%Y%q')) %>%
rename(industria = Valor) %>%
select(date, industria)
# Juntar as duas séries
dados <- inner_join(pib_sa, industria_sa, by = 'date') %>%
drop_na()
dados <- dados %>%
mutate(
cresc_pib_anual = (pib / lag(pib, 4) - 1) * 100,
cresc_industria_anual = (industria / lag(industria, 4) - 1) * 100
)
# Parâmetro λ = 1600 para dados trimestrais
hp_pib <- hpfilter(dados$pib, freq = 1600)
dados$ciclo_pib <- hp_pib$cycle
hp_ind <- hpfilter(dados$industria, freq = 1600)
dados$ciclo_industria <- hp_ind$cycle
# Gráfico 1: Curto Prazo
p1 <- dados %>%
select(date, cresc_pib_anual, cresc_industria_anual) %>%
pivot_longer(-date, names_to = "variavel", values_to = "taxa") %>%
ggplot(aes(x = date, y = taxa, color = variavel)) +
geom_line(linewidth = 1) +
geom_hline(yintercept = 0, linetype = "dashed") +
labs(title = "Taxa de Crescimento Anual",
y = "Variação (%)", x = NULL) +
theme_minimal() +
scale_color_manual(values = c("cresc_pib_anual" = "blue",
"cresc_industria_anual" = "red"))
# Gráfico 2: Médio Prazo
p2 <- dados %>%
select(date, ciclo_pib, ciclo_industria) %>%
pivot_longer(-date, names_to = "variavel", values_to = "ciclo") %>%
ggplot(aes(x = date, y = ciclo, color = variavel)) +
geom_line(linewidth = 1) +
geom_hline(yintercept = 0, linetype = "dashed") +
labs(title = "Componente Cíclico (Filtro HP)",
y = "Desvio da tendência", x = "Trimestre") +
theme_minimal() +
scale_color_manual(values = c("ciclo_pib" = "blue",
"ciclo_industria" = "red"))
# Combinar os gráficos
p1 / p2 + plot_annotation(
title = "Comparação entre PIB e Indústria",
subtitle = "Curto prazo (acima) vs. Médio prazo (abaixo)"
)
Curto prazo (taxa anual): A proximidade entre as linhas azul (PIB) e vermelha (Indústria) indica o grau de sincronia entre o setor e a economia como um todo. Setores mais sensíveis ao ciclo econômico (como a Indústria) tendem a apresentar flutuações mais amplas que o PIB agregado, especialmente em períodos de crise ou recuperação.
Médio prazo (componente cíclico): O sinal e a magnitude do ciclo mostram se o setor está operando acima ou abaixo de sua tendência de longo prazo. Quando o ciclo da Indústria e o ciclo do PIB se movem na mesma direção, há evidência de co-movimento setorial. Divergências podem indicar choques específicos do setor ou defasagens na transmissão de choques macroeconômicos.
Atenção: A análise dos últimos 2 trimestres deve ser vista com cautela devido ao uso do Filtro HP (Hodrick-Prescott), que sofre com o “problema de ponta” (end-point bias).