Tag

pib no r Archives - Análise Macro

Relatório AM #36 - PIB

By | Indicadores

O Produto Interno Bruto é o principal indicador para acompanhamento do nível de atividade no Brasil, medindo a soma final de todos os bens e serviços produzidos no país. Os dados do PIB podem ser acessados através do SIDRA, sendo importados facilmente no R através do pacote {sidrar}. No Relatório AM de hoje, trazemos uma parte do código que ensinamos no Curso de Análise de Conjuntura de como automatizar o processo de coleta, tratamento e visualização dos dados do PIB.

library(tidyverse)
library(sidrar)
library(flextable)
## Funções e objetos úteis

# Acumular valores percentuais em 'n' janelas móveis
acum_i <- function(data, n){

data_ma_n <- RcppRoll::roll_meanr(data, n)

data_lag_n <- dplyr::lag(data_ma_n, n)

data_acum_n = (((data_ma_n/data_lag_n)-1)*100)

return(data_acum_n)

}

# Cores para gráficos e tabelas
colors <- c(
blue = "#282f6b",
red = "#b22200",
yellow = "#eace3f",
green = "#224f20",
purple = "#5f487c",
orange = "#b35c1e",
turquoise = "#419391",
green_two = "#839c56",
light_blue = "#3b89bc",
gray = "#666666"
)

# Fonte para gráficos e tabelas
foot_ibge <- "Fonte: analisemacro.com.br com dados do Sidra/IBGE."

# Definir padrão de tabelas
flextable::set_flextable_defaults(
big.mark = " ",
font.size = 10,
theme_fun = theme_vanilla,
padding.bottom = 6,
padding.top = 6,
padding.left = 6,
padding.right = 6,
decimal.mark = ",",
digits = 2L
)

Definimos a chave do API que coletaremos através do {sidrar}.

## Parâmetros e códigos para coleta de dados
parametros <- list(
# PIB com ajuste sazonal
api_pib_sa = "/t/1621/n1/all/v/all/p/all/c11255/90707/d/v584%202",

# PIB sem ajuste
api_pib = "/t/1620/n1/all/v/all/p/all/c11255/90707/d/v583%202"
)

Retiramos os dados com a função get_sidra do pacote {sidrar}.

## Coleta dos dados

# PIB com ajuste sazonal
raw_pib_sa <- sidrar::get_sidra(api = parametros$api_pib_sa)

# PIB sem ajuste
raw_pib <- sidrar::get_sidra(api = parametros$api_pib)

Tratamos os dados, realizando a limpeza e o cálculo das variações do índice do PIB.

## Tratamento dos dados

# PIB com ajuste sazonal
pib_sa <- raw_pib_sa %>%
dplyr::mutate(
date = zoo::as.yearqtr(`Trimestre (Código)`, format = "%Y%q"),
var_marginal = (Valor / dplyr::lag(Valor, 1) - 1) * 100
) %>%
dplyr::select(date, "pib_sa" = Valor, var_marginal) %>%
dplyr::as_tibble()

# PIB sem ajuste
pib <- raw_pib %>%
dplyr::mutate(
date = zoo::as.yearqtr(`Trimestre (Código)`, format = "%Y%q"),
var_interanual = (Valor / dplyr::lag(Valor, 4) - 1) * 100,
var_anual = acum_i(Valor, 4)
) %>%
dplyr::select(date, "pib" = Valor, var_interanual, var_anual) %>%
dplyr::as_tibble()

# Juntar os dados do PIB
df_pib <- dplyr::inner_join(pib_sa, pib, by = "date") %>%
tidyr::drop_na() %>%
dplyr::filter(date >= "2007 Q1")

Índice do PIB

Vemos que é possível visualizar através do pacote ggplo2 o índice do PIB ao longo do tempo, comparando o PIB sem e com ajuste sazonal.

# Gerar gráfico
df_pib %>%
dplyr::filter(date > "2000 Q1") %>%
ggplot2::ggplot(ggplot2::aes(x = date)) +
ggplot2::geom_line(ggplot2::aes(y = pib, color = "PIB"), size = 0.8) +
ggplot2::geom_line(ggplot2::aes(y = pib_sa, color = "PIB s.a."), size = 0.8) +
ggplot2::scale_color_manual(
NULL,
values = c("PIB" = unname(colors[1]), "PIB s.a." = unname(colors[2]))
) +
zoo::scale_x_yearqtr(
breaks = scales::pretty_breaks(n = 8),
format = "%Y T%q"
) +
ggplot2::theme(
plot.title = ggplot2::element_text(size = 12, face = "bold"),
legend.position = "bottom"
) +
ggplot2::labs(
x = NULL,
y = "Número Índice",
title = "Produto Interno Bruto",
caption = foot_ibge
)

Variações do PIB

Realizamos o calculo das variações marginais, interanuais e anuais do PIB, através do índice, dentro do R e podemos visualizar através da construção de um tabela.

# Filtrar últimos 8 trimestres
df_pib_tbl <- df_pib %>%
dplyr::slice_tail(n = 8) %>%
dplyr::select(var_marginal, var_interanual, var_anual)

# Tabela com variações e número índice do PIB
df_pib %>%
dplyr::slice_tail(n = 8) %>%
flextable::flextable() %>%
flextable::set_header_labels(
date = "Trimestre", pib_sa = "PIB s.a.", var_marginal = "Var. Marginal", pib = "PIB",
var_interanual = "Var. Interanual", var_anual = "Var. Anual"
) %>%
flextable::add_header_row(
colwidths = c(3, 3),
values = c("Sazonalmente ajustado", "Sem ajuste sazonal")
) %>%
flextable::colformat_double(j = 2:6, digits = 2) %>%
flextable::align(i = 1, part = "header", align = "center") %>%
flextable::add_footer_lines(foot_ibge) %>%
flextable::color(part = "footer", color = colors["gray"]) %>%
flextable::bg(
j = c("var_marginal", "var_interanual", "var_anual"),
bg = scales::col_numeric(
palette = colorspace::diverge_hcl(n = 20, palette = "Blue-Red 2"),
reverse = TRUE,
domain = c(-max(abs(df_pib_tbl)), max(abs(df_pib_tbl)))
),
part = "body"
) %>%
flextable::theme_vanilla() %>%
flextable::width(width = .95)

____________________

Quer conferir o código completo e aprender a como criar uma análise do PIB utilizando o R? Veja nosso Curso de Análise de Conjuntura.

____________________

 

 

Um país frustrante

By | Comentário de Conjuntura

Há uma séria frustração com a economia brasileira. E não estou me referindo propriamente ao resultado do PIB do 2º trimestre divulgado ontem pelo IBGE. Desde o 2º trimestre de 2014, os resultados apresentados pela economia brasileira têm sido pífios. Para ser bondoso. O gráfico abaixo ilustra o comportamento da variação marginal do PIB, isto é, quando se confronta o PIB em t contra o PIB em t-1. Das 29 observações dessa métrica desde então, 14 delas foram negativas.

Nos últimos trimestres, como também é possível verificar no gráfico acima, o PIB vem lentamente convergindo para uma variação na margem estagnada, após alguma recuperação cíclica do pior momento da pandemia no ano passado. Para além do curtíssimo prazo, o que se vê é um PIB que converge para a mediocridade.

Não há, por suposto, sinais de melhora no ar. A conjuntura de curto prazo está repleta de fumaça, com um ambiente político carregado, risco fiscal ampliado, choques inflacionários importantes que levam a aumento de juros e, ainda, um risco de racionamento de energia rodeando o cenário.

Frustrante.

Mas quem disse que não pode piorar? Quando se olha para 2022, o quadro político-eleitoral se desenha com um pessimismo atroz. Resquícios de crueldade do autor da novela.

Pensando bem, não sei se existe um autor de novela tão criativo para escrever algo como o enredo da política brasileira.

Diga você, leitor.

___________________________________

(*) A análise completa do PIB é ensinada no nosso Curso de Análise de Conjuntura usando o R.

Análise do PIB em 2020 com o R

By | Comentário de Conjuntura

O IBGE divulgou na semana passada o resultado das Contas Nacionais Trimestrais referentes ao último trimestre de 2020. Com efeito, fazemos nesse Comentário de Conjuntura uma análise dos principais resultados da pesquisa, com foco na análise automatizada com o R. Os dados são coletados diretamente do SIDRA/IBGE, tratados e apresentados em uma apresentação em pdf.

Membros do Clube AM têm acesso completo à apresentação e aos códigos que a geraram. 

Os dados são acessados e tratados com o código abaixo:


# PIB 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')) %>%
mutate(var_marginal = (Valor/lag(Valor,1)-1)*100) %>%
select(date, Valor, var_marginal) %>%
rename(pib_sa = Valor) %>%
as_tibble()
# PIB sem ajuste
pib = get_sidra(api='/t/1620/n1/all/v/all/p/all/c11255/90707/d/v583%202') %>%
mutate(date = as.yearqtr(`Trimestre (Código)`, format='%Y%q')) %>%
mutate(var_interanual = (Valor/lag(Valor,4)-1)*100) %>%
mutate(var_anual = acum_i(Valor, 4)) %>%
dplyr::select(date, Valor, var_interanual, var_anual) %>%
rename(pib = Valor) %>%
as_tibble()
# Juntar os dados
df_pib = inner_join(pib_sa, pib, by='date') %>%
drop_na()

Na sequência, criamos uma tabela resumo com os últimos resultados.

PIB: números-índices e variações
Trimestre PIB_SA Variação Marginal PIB Variação Interanual Variação Anual
2019 Q3 170.84 -0.11 174.02 1.33 1.41
2019 Q4 171.46 0.36 172.09 1.64 1.41
2020 Q1 167.93 -2.06 166.85 -0.27 1.05
2020 Q2 152.46 -9.21 151.59 -10.90 -2.05
2020 Q3 164.14 7.66 167.24 -3.90 -3.38
2020 Q4 169.33 3.16 170.12 -1.14 -4.06

A tabela ilustra o tombo do PIB em 2020, -4,06%, cerca da metade do que era esperado no início da pandemia, para quem gosta de ver o copo meio cheio. O gráfico a seguir ilustra a recuperação em V da economia.

Na sequência, nós podemos ver as principais métricas de crescimento em um único gráfico múltiplo.

Na sequência, nós abrimos o PIB pelos componentes de demanda e de oferta. Primeiro, nós observamos a variação na margem, contra o trimestre imediatamente anterior.

PIB e seus componentes: Variação na margem
Trimestre Agropecuária Indústria Serviços PIB C FBCF G X M
2019 Q3 1.45 0.26 0.33 -0.11 0.59 2.63 -0.16 -0.52 2.75
2019 Q4 -0.25 -0.25 0.09 0.36 0.28 -2.49 -0.11 2.18 -5.32
2020 Q1 2.01 -0.95 -2.10 -2.06 -1.91 2.38 -0.68 -2.19 -0.33
2020 Q2 -0.87 -13.14 -8.65 -9.21 -11.26 -16.30 -7.69 1.11 -11.84
2020 Q3 -0.59 15.43 6.42 7.66 7.74 10.69 3.46 -1.99 -9.64
2020 Q4 -0.46 1.85 2.67 3.16 3.39 19.99 1.08 -1.36 22.02

A recuperação do PIB na margem se mostrou bastante robusta nos últimos dois trimestres do ano. A FBCF teve crescimento de dois dígitos nesse período, enquanto a indústria, pelo lado da oferta, também avançou com ímpeto. O gráfico abaixo ilustra.

Na sequência, observamos a comparação interanual.

PIB e seus componentes: Variação interanual
Trimestre Agropecuária Indústria Serviços PIB C FBCF G X M
2019 Q3 1.07 0.51 1.35 1.33 2.13 4.10 -1.14 -3.31 2.16
2019 Q4 -1.44 1.02 1.76 1.64 2.32 0.47 -0.11 -4.76 0.57
2020 Q1 4.03 -0.32 -0.65 -0.27 -0.75 5.97 -0.78 -2.40 5.19
2020 Q2 2.47 -14.10 -10.25 -10.90 -12.25 -13.91 -8.46 0.70 -14.61
2020 Q3 0.38 -0.90 -4.80 -3.90 -5.98 -7.75 -5.25 -1.11 -25.03
2020 Q4 -0.41 1.24 -2.16 -1.14 -2.98 13.52 -4.07 -4.29 -3.09

A comparação interanual mostra a indústria e a FBCF com variações positivas no último trimestre, enquanto os demais componentes, tanto pelo lado da oferta quanto pelo lado da demanda, mostram ainda números negativos.

Por fim, olhamos a variação acumulada em quatro trimestres.

PIB e seus componentes: Variação acumulada em 4 trimestres
Trimestre Agropecuária Indústria Serviços PIB C FBCF G X M
2019 Q3 1.73 0.02 1.64 1.41 2.03 4.26 -0.56 1.67 2.11
2019 Q4 0.63 0.37 1.66 1.41 2.19 3.36 -0.45 -2.38 1.13
2020 Q1 1.59 0.47 1.02 1.05 1.48 4.23 -0.58 -2.48 3.06
2020 Q2 1.95 -3.18 -1.93 -2.05 -2.08 -0.88 -2.63 -2.48 -1.57
2020 Q3 1.78 -3.55 -3.48 -3.38 -4.11 -4.02 -3.67 -1.91 -9.04
2020 Q4 1.96 -3.48 -4.47 -4.06 -5.46 -0.78 -4.68 -1.76 -9.95

Quando o crescimento é suavizado, vemos que o único setor que ainda apresenta números positivos é a agropecuária. Todos os demais componentes do PIB foram para o terreno negativo em 2020, graças à pandemia do novo coronavírus. Os gráficos abaixo ilustram.

_______________________

 

Versão 4.0 do Curso de Análise de Conjuntura: inscrições abertas!

By | Cursos da Análise Macro

As inscrições para a versão 4.0 do nosso Curso de Análise de Conjuntura usando o R estão abertas! O curso cobre a construção automatizada de scripts que coletam, tratam e visualizam dados macroeconômicos. Todo o material para essa versão foi revisado, de forma a simplificar os scripts, mostrar o passo a passo dos códigos, linha por linha. Entre as demais inovações dessa versão, estão:

  • Coleta automatizada de dados macroeconômicos;
  • Códigos tidyverse para tratamento dos dados;
  • Visualização dos dados com o pacote ggplot2;
  • Inclusão da seção Construção de Cenários Macroeconômicos;
  • Construção de apresentações RMarkdown em todas as seções do curso;
  • Videoaulas das seções foram subdivididas em tópicos menores, tornando o aprendizado mais dinâmico;
  • Inclusão de uma seção extra com a construção de uma apresentação completa de conjuntura econômica feita em RMarkdown;
  • Suporte customizado através de plataforma tira-dúvidas e mentorias exclusivas com o professor do Curso.

Voltado para estudantes de graduação e pós-graduação, professores e profissionais de mercado, a quarta versão do nosso Curso de Análise de Conjuntura usando o R irá lhe ensinar a lidar com dados de verdade usando o que há de mais sofisticado da linguagem. Você aprenderá a coletar e tratar dados de inflação, nível de atividade, mercado de trabalho, crédito, política fiscal, política monetária, setor externo e economia internacional de forma 100% intuitiva e didática.

O curso inclui ainda um super bônus com 21 exemplos práticos de gráficos usando o pacote ggplot2. Scripts com o passo a passo de todos os gráficos serão disponibilizados em módulo independente para os alunos.

Para verificar todas as informações e condições de inscrição, visite a página do Curso aqui.

Versão 4.0 do Curso de Análise de Conjuntura abre inscrições no próximo dia 23/06

By | Cursos da Análise Macro

As inscrições para a versão 4.0 do nosso Curso de Análise de Conjuntura usando o R abrem no próximo dia 23/06. O curso cobre a construção automatizada de scripts que coletam, tratam e visualizam dados macroeconômicos. Todo o material para essa versão foi revisado, de forma a simplificar os scripts, mostrar o passo a passo dos códigos, linha por linha. Entre as demais inovações dessa versão, estão:

  • Coleta automatizada de dados macroeconômicos;
  • Códigos tidyverse para tratamento dos dados;
  • Visualização dos dados com o pacote ggplot2;
  • Inclusão da seção Construção de Cenários Macroeconômicos;
  • Construção de apresentações RMarkdown em todas as seções do curso;
  • Videoaulas das seções foram subdivididas em tópicos menores, tornando o aprendizado mais dinâmico;
  • Inclusão de uma seção extra com a construção de uma apresentação completa de conjuntura econômica feita em RMarkdown;
  • Suporte customizado através de plataforma tira-dúvidas e mentorias exclusivas com o professor do Curso.

Voltado para estudantes de graduação e pós-graduação, professores e profissionais de mercado, a quarta versão do nosso Curso de Análise de Conjuntura usando o R irá lhe ensinar a lidar com dados de verdade usando o que há de mais sofisticado da linguagem. Você aprenderá a coletar e tratar dados de inflação, nível de atividade, mercado de trabalho, crédito, política fiscal, política monetária, setor externo e economia internacional de forma 100% intuitiva e didática.

O curso inclui ainda um super bônus com 21 exemplos práticos de gráficos usando o pacote ggplot2. Scripts com o passo a passo de todos os gráficos serão disponibilizados em módulo independente para os alunos.

Para verificar todas as informações e condições de inscrição, visite a página do Curso aqui.

Receba diretamente em seu e-mail gratuitamente nossas promoções especiais
e conteúdos exclusivos sobre Análise de Dados!

Assinar Gratuitamente