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

Criando Personas de Analistas com LangGraph

Este post apresenta um estudo de caso sobre a criação de um assistente de pesquisa com o LangGraph, integrando o conceito de human-in-the-loop. O sistema gera personas de analistas a partir de um tema, recebe feedback humano e ajusta as respostas de forma iterativa, garantindo resultados mais precisos e personalizados.

O que é Agentic RAG e o que o diferencia de RAG?

Neste post, explicamos o que é o Agentic RAG, como ele se diferencia do RAG tradicional e apresentamos um estudo de caso construído com base nas Atas do COPOM, mostrando passo a passo como criar um agente que busca, avalia, reescreve e responde perguntas sobre política monetária.

Como Criar um Agente de IA Econometrista

Criar um Agente de IA Econometrista envolve construir um sistema autônomo capaz de entender uma solicitação em linguagem natural, buscar dados econômicos, realizar análises e aplicar modelos econométricos para entregar uma resposta completa. A abordagem mais eficaz é estruturar o sistema em múltiplos agentes especializados, cada um com um papel definido, que colaboram para resolver a tarefa. Neste post abordamos o desenvolvimento deste sistema de IA com Python.

Boletim AM

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

Boletim AM

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

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.