Análise de Dados de Setor Externo no R

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.

Compartilhe esse artigo

Facebook
Twitter
LinkedIn
WhatsApp
Telegram
Email
Print

Comente o que achou desse artigo

Outros artigos relacionados

Como automatizar tarefas repetitivas usando Python? Um exemplo para largar o Excel

Manter relatórios diários com dados e análises atualizados é um desafio, pois envolve várias etapas: coleta de dados, tratamento de informações, produção de análises e atualização de relatório. Para superar este desafio algumas ferramentas como Python + Quarto + GitHub podem ser usadas para automatizar tudo que for automatizável. Neste artigo mostramos um exemplo com dados do mercado financeiro.

Criando um Dashboard de análise de Ações no Python

Um Dashboard é um painel de controle que consolida uma variedade de informações sobre um determinado objeto de estudo em um ou mais painéis. Ele simplifica significativamente o processo de análise de dados, oferecendo uma visão global e fácil de entender. Uma maneira simples de construir um Dashboard para acompanhar uma ação específica é utilizando duas ferramentas: Quarto e Python. Neste post, mostramos o resultado da criação de um Dashboard de Ação.

Analisando séries temporais no Python e esquecendo de vez o Excel

Séries temporais representam uma disciplina extremamente importante em diversas áreas, principalmente na economia e na ciência de dados. Mas, afinal, como lidar com esses dados que se apresentam ao longo do tempo? Neste exercício, demonstraremos como compreender uma série temporal e como o Python se destaca como uma das melhores ferramentas para analisar esse tipo de dado.

como podemos ajudar?

Preencha os seus dados abaixo e fale conosco no WhatsApp

Boletim AM

Preencha o formulário abaixo para receber nossos boletins semanais diretamente em seu e-mail.