Introdução
Na análise de conjuntura econômica a investigação do setor externo do Brasil é uma importante forma de conferir a dinâmica do país em relação ao resto do mundo. Os indicadores produzidos pelo setor externo merecem atenção pelo fato de contribuírem com informações importantes também para a economia doméstica. De forma que seja facilitado a análise desses indicadores, no post de hoje ensinamos como realizar a coleta, tratamento e visualização com o R.
Como exemplos, utilizaremos três indicadores do setor externo que exprimem informações importantes para a macroeconomia dos país e os possíveis caminhos que o Brasil está e pode seguir: Déficit em transações correntes, reservas internacionais e investimento direto no país em relação ao PIB.
Para coletar estes indicadores, importaremos os dados direto do Banco Central, utilizando o pacote {GetBCBData}, conforme os códigos de cada série que se encontram no Sistema Gerenciador de Séries Temporais do Banco Central. Com os códigos em mãos, podemos coletar os dados com a função gbcbd_get_series e realizar o tratamento necessário para visualizar os dados.
library(GetBCBData) library(tidyverse) library(ggrepel) library(scales)
## Parâmetros e códigos para coleta de dados parametros <- dplyr::lst( # Balanço de Pagamentos bpm6 = c( # Transações correntes - mensal - saldo - US$ (milhões) "Transações correntes" = 22701, # Reservas internacionais - Total - mensal - US$ (milhões) "Reservas internacionais" = 3546, # Investimento Direto no País acumulado em 12 meses em relação ao PIB - mensal - % "Investimento Direto no País (12m - % PIB)" = 23080 ) )
</pre> ### Coleta de dados # Balanço de Pagamentos (contas e indicadores) raw_bpm6 <- GetBCBData::gbcbd_get_series( id = parametros$bpm6, first.date = Sys.Date() - 5 * 365, use.memoise = FALSE ) # Balanço de Pagamentos (contas e indicadores) bpm6 <- raw_bpm6 %>% dplyr::select( "date" = ref.date, "variable" = series.name, value ) %>% dplyr::as_tibble() %>% pivot_wider(names_from = variable, values_from = value) <pre>
Déficit em Transações Correntes
</pre> # Transações Correntes bpm6 %>% ggplot(aes( x = date, y = -`Transações correntes`/ 1000))+ geom_line(size = 1, color = "#282f6b")+ geom_hline(yintercept = 0, linetype = "dashed")+ labs(x = "", y = "US$ Bilhões", title = "Déficit em Transações Correntes", subtitle = "Saldo Mensal", caption = "Fonte: analisemacro.com.br com dados do BCB.")+ ggplot2::theme( plot.title = ggplot2::element_text(size = 14, face = "bold", hjust = 0, vjust = 2), plot.subtitle = ggplot2::element_text(size = 12, face = "italic", hjust = 0), plot.caption = ggplot2::element_text(size = 10, hjust = 1), panel.background = ggplot2::element_rect(fill = "white", colour = "white"), axis.line.x.bottom = ggplot2::element_line(colour = "black"), axis.line.y.left = ggplot2::element_line(colour = "black"), legend.position = "top", legend.direction = "horizontal", plot.margin = ggplot2::margin(5, 25, 5, 5), panel.spacing = ggplot2::unit(2, units = "lines"), strip.background = ggplot2::element_rect(fill = "transparent", colour = NA), strip.text = ggplot2::element_text(face = "bold") ) <pre>
Reservas Internacionais
</pre> # Reservas Internacionais bpm6 %>% ggplot(aes( x = date, y = `Reservas internacionais`/ 1000))+ geom_line(size = 1, color = "#b22200")+ labs(x = "", y = "US$ Bilhões", title = "Reservas Internacionais", subtitle = "Estoque mensal", caption = "Fonte: analisemacro.com.br com dados do BCB.")+ ggplot2::theme( plot.title = ggplot2::element_text(size = 14, face = "bold", hjust = 0, vjust = 2), plot.subtitle = ggplot2::element_text(size = 12, face = "italic", hjust = 0), plot.caption = ggplot2::element_text(size = 10, hjust = 1), panel.background = ggplot2::element_rect(fill = "white", colour = "white"), axis.line.x.bottom = ggplot2::element_line(colour = "black"), axis.line.y.left = ggplot2::element_line(colour = "black"), legend.position = "top", legend.direction = "horizontal", plot.margin = ggplot2::margin(5, 25, 5, 5), panel.spacing = ggplot2::unit(2, units = "lines"), strip.background = ggplot2::element_rect(fill = "transparent", colour = NA), strip.text = ggplot2::element_text(face = "bold") ) <pre>
Investimento Direto no país
</pre> # Investimento Direto no país bpm6 %>% ggplot(aes( x = date, y = `Investimento Direto no País (12m - % PIB)`))+ geom_line(size = 1, color = "#eace3f")+ labs(x = "", y = "", title = "Investimento Direto no País", subtitle = "Acumulado em 12 meses (% PIB)", caption = "Fonte: analisemacro.com.br com dados do BCB.")+ ggplot2::theme( plot.title = ggplot2::element_text(size = 14, face = "bold", hjust = 0, vjust = 2), plot.subtitle = ggplot2::element_text(size = 12, face = "italic", hjust = 0), plot.caption = ggplot2::element_text(size = 10, hjust = 1), panel.background = ggplot2::element_rect(fill = "white", colour = "white"), axis.line.x.bottom = ggplot2::element_line(colour = "black"), axis.line.y.left = ggplot2::element_line(colour = "black"), legend.position = "top", legend.direction = "horizontal", plot.margin = ggplot2::margin(5, 25, 5, 5), panel.spacing = ggplot2::unit(2, units = "lines"), strip.background = ggplot2::element_rect(fill = "transparent", colour = NA), strip.text = ggplot2::element_text(face = "bold") )
Quer aprender a criar códigos para análises de conjuntura?
Confira nosso curso de Análise de Conjuntura no R, no qual ensinamos a realizar uma análise completa da conjuntura do país realizando a coleta, tratamento e visualização de forma totalmente reprodutível.