Category

Dados Macroeconômicos

Coleta e tratamento de dados das Contas Nacionais Trimestrais com o R

By | Dados Macroeconômicos

No nosso Curso de Teoria Macroeconômica com Laboratórios de R, incentivamos nossos alunos a aplicarem os conhecimentos de R aprendidos em laboratórios aplicados. Para ilustrar o que vemos no Curso, vou mostrar o laboratório 5, onde é solicitado aos alunos a coleta e tratamento dos dados de poupança e da Formação Bruta de Capital com o R.

O código abaixo pega os dados diretamente do SIDRA/IBGE:


## Importação dos dados da poupança e da fbc
library(sidrar)
data = get_sidra(api='/t/2072/n1/all/v/933,940,941/p/all')

Na sequência, nós fazemos a organização dos dados.


library(tidyverse)
library(lubridate)
library(zoo)

dados <- data %>% select(`Trimestre (Código)`, Variável, Valor) %>%
pivot_wider(names_from=Variável, values_from=Valor) %>%
mutate(date=as.yearqtr(parse_date_time(`Trimestre (Código)`, '%y%q'))) %>%
select(-`Trimestre (Código)`)

Com os dados organizados, nós podemos anualizá-los com o código abaixo.


anuais <- dados %>%
mutate(`Produto Interno Bruto` = rollsum(`Produto Interno Bruto`, k=4, align='right', fill=NA),
`(=) Poupança bruta` = rollsum(`(=) Poupança bruta`, k=4, align='right', fill=NA),
`(-) Formação bruta de capital` = rollsum(`(-) Formação bruta de capital`, k=4, align='right', fill=NA))

Por fim, nós normalizamos nossos dados pelo PIB de forma poder compará-los.


pct <- anuais %>%
mutate(FBC=`(-) Formação bruta de capital`/`Produto Interno Bruto`*100,
Poupança=`(=) Poupança bruta`/`Produto Interno Bruto`*100,
.keep='unused')

O gráfico abaixo ilustra as séries obtidas.

________________

(*) Isso e muito mais você irá aprender no nosso Curso de Teoria Macroeconômica com Laboratórios de R.

Deflacionando variáveis macroeconômicas com o R

By | Dados Macroeconômicos

Nosso objetivo no Curso de Teoria Macroeconômica com Laboratórios de R é o de fornecer uma introdução aplicada à macroeconomia. Serve tanto para alunos e professores de economia, em busca de ferramentas mais aplicadas para lidar com variáveis macroeconômicas, quanto para profissionais de outras áreas em busca de conhecimentos em macroeconomia.

Para ilustrar o que vemos no Curso, vou mostrar aqui nesse post como é possível deflacionar uma série econômica, dúvida muito comum entre nossos alunos. Sabemos todos que R$ 100 em dezembro de 1997 não é a mesma coisa que R$ 100 em dezembro de 2016, não é mesmo? Logo, para comparar valores no tempo é preciso que levemos em consideração a taxa de crescimento do nível geral de preços, ou simplesmente a inflação. Para comparar valores nominais em dois períodos distintos, é preciso que tenhamos a mesma base de preços. Para ilustrar, vamos dar um exemplo utilizando a despesa com benefícios previdenciários do governo central. Para deflacionar, vamos utilizar o Índice de Preços ao Consumidor Amplo (IPCA).


library(readxl)
library(tidyverse)
library(ggplot2)
library(magrittr)
library(lubridate)
library(sidrar)

data = read_excel("primario.xlsx")

data %>% pivot_longer(-date, names_to='Variável', values_to='valor') %>%
ggplot(aes(x=date, y=valor, color=Variável)) + geom_line() +
labs(title='Receitas e despesas com benefícios previdenciários', x='Data',
y='Valor', color='') +
theme_light()

O gráfico acima ilustra as nossas séries em valores nominais. Na sequência, fazemos o ajuste para valores reais com base no IPCA.


ipca = get_sidra(api='/t/1737/n1/all/v/2266/p/all/d/v2266%2013')

ipca %<>% mutate(date = parse_date_time(`Mês (Código)`, 'ym'))

ajuste <- left_join(ipca, data, by='date') %>%
select(date, Valor, receita, despesa) %>%
na.omit() %>%
mutate('Receita ajustada' = receita/Valor*Valor[274],
'Despesa ajustada' = despesa/Valor*Valor[274])

ajuste %>% select(date, receita, 'Receita ajustada') %>%
pivot_longer(-date, names_to = 'Variáveis', values_to = 'Valor') %>%
ggplot(aes(x=date, y=Valor, color=Variáveis)) + geom_line() +
labs(title='Receitas com benefícios previdenciários nominais e reais', x='Data',
color='') +
theme_light()

No gráfico acima, vemos os valores nominais e reais das receitas com benefícios previdenciários. A título de comparação, é necessário sempre usar valores reais.

________________

(*) Isso e muito mais você irá aprender no nosso Curso de Teoria Macroeconômica com Laboratórios de R.

Incerteza permanece elevada no Brasil

By | Dados Macroeconômicos

Ontem, a FGV divulgou o seu Índice de Incerteza Econômica Brasil. Como esperado, houve um aumento em agosto. Com efeito, a incerteza permanece acima da média histórica. Para ilustrar, podemos usar o ggplot2 para construir um gráfico da série. Para começar, carregamos alguns pacotes.


library(readr)
library(ggplot2)
library(scales)
library(png)
library(grid)
library(ggrepel)

Nós importamos, então, o arquivo incerteza.csv com o pacote readr, que faz parte dos pacotes tidyverse.


data = read_csv2('incerteza.csv',
col_types =
list(col_date(format='%d/%m/%Y'),
col_double()))

E agora que temos os dados, podemos gerar um gráfico com o código abaixo.


img <- readPNG('logo.png')
g <- rasterGrob(img, interpolate=TRUE)

ggplot(tail(data,72), aes(tail(date,72), tail(iie_br,72)))+
annotate("rect", fill = "#336666", alpha = 0.3,
xmin = as.Date('2015-08-01'),
xmax = as.Date('2015-10-01'),
ymin = -Inf, ymax = Inf)+
annotate("rect", fill = "#336666", alpha = 0.3,
xmin = as.Date('2018-05-01'),
xmax = as.Date('2018-07-01'),
ymin = -Inf, ymax = Inf)+
geom_line(size=.8)+
geom_hline(yintercept=mean(data$iie_br),
colour='red', linetype='dashed')+
scale_x_date(breaks = date_breaks("3 month"),
labels = date_format("%b/%Y"))+
theme(axis.text.x=element_text(angle=45, hjust=1))+
labs(x='', y='Índice',
title='Índice de Incerteza Econômica Brasil',
caption = 'Fonte: analisemacro.com.br com dados da FGV')+
theme(panel.background = element_rect(fill='#acc8d4',
colour='#acc8d4'),
plot.background = element_rect(fill='#8abbd0'),
axis.line = element_line(colour='black',
linetype = 'dashed'),
axis.line.x.bottom = element_line(colour='black'),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
legend.background = element_rect((fill='#acc8d4')),
legend.key = element_rect(fill='#acc8d4',
colour='#acc8d4'),
plot.margin=margin(5,5,15,5))+
annotation_custom(g,
xmin=as.Date('2013-08-01'),
xmax=as.Date('2015-01-01'),
ymin=110, ymax=130)+
geom_label_repel(label=round(tail(data$iie_br,72),2),
hjust=0,
vjust=-.2,
color = c(rep(NA,72-1), rep('black',1)),
fill = c(rep(NA,72-1), rep('lightblue',1)))

E o gráfico...

 

O índice registrou 114,2 pontos em agosto, acima da média representada pela linha vermelha tracejada. Aliás, diga-se, o índice vem se mantendo acima da média histórica desde 2015. Abaixo, colocamos um boxplot da série.


ggplot(data, aes(date, iie_br))+
geom_boxplot(fill='#8abbd0', color="black")+coord_flip()+
theme_classic()+xlab('')+ylab('')+
labs(title='Boxplot IIE-Br',
caption='Fonte: analisemacro.com.br')

Como se pode ver no boxplot acima, o valor registrado em agosto está no último quartil. Em outras palavras, a incerteza permanece elevada no país.

O crescimento econômico frustrado

By | Dados Macroeconômicos

Os agentes de mercado que respondem a pesquisa Focus do Banco Central voltaram a reduzir a expectativa para crescimento em 2019: de 0,83 para 0,80. O motivo é a turbulência no cenário externo, em particular os problemas com a vizinha Argentina. O consenso é que a liberação do FGTS acabará sendo compensado pelos choques externos.

Para além do crescimento do PIB, houve piora também na expectativa para o câmbio, como ilustra o gráfico acima. A inflação esperada está em declínio, 3,65%, bem abaixo da meta do Banco Central. Com efeito, o mercado espera mais dois cortes na taxa Selic, terminando a mesma em 5% no final do ano.

A semana é marcada, diga-se, pela divulgação do PIB do 2º trimestre na sexta-feira. Há expectativa de crescimento levemente positivo na margem, algo entre 0,1% e 0,2%. Publicaremos aqui uma análise detalhada das contas nacionais com o uso do R.

Para uma apresentação detalhada das expectativas do Focus feita com RMarkdown, veja aqui.

Reforma Tributária e facilidade para pagar impostos no Brasil

By | Dados Macroeconômicos

O relatório Doing Business do Banco Mundial constrói anualmente um ranking de facilidade para se fazer negócios entre 190 países. São avaliados 10 itens, entre eles a facilidade no pagamento de impostos. Para ilustrar a posição do Brasil nesse quesito, peguei alguns dados do site do projeto e usei o R para tratar os dados. A seguir, carrego os pacotes utilizados.


library(readxl)
library(ggplot2)

Os dados são então importados com a função read_excel do pacote readxl como no código abaixo.


data = read_excel('data.xlsx', sheet=1,
col_types = c(rep('text', 2), rep('numeric', 11)))

A seguir, eu ordeno os dados com base na classificação do ranking de pagamento de impostos.


db = data[order(data$`Pagamento de impostos - Classificação`,
decreasing = F),]

db$Economia <- factor(db$Economia,
levels = db$Economia[order(db$`Pagamento de impostos - Classificação`)])

impostos = data.frame(db$Economia, db$`Pagamento de impostos - Classificação`)

colnames(impostos) = c('pais', 'posicao')

impostos = impostos[complete.cases(impostos),]

Com o código a seguir usamos o ggplot2 para gerar um gráfico ordenado.


ggplot(impostos, aes(x=pais, y=posicao))+
geom_bar(stat='identity', colour='gray', fill='gray',
width=.1)+
theme(axis.text.x=element_text(angle=65, hjust=1))+
scale_x_discrete(breaks=impostos$pais[seq(1,190,4)])+
xlab('')+ylab('Posição')+
labs(title='Facilidade para pagar imposto - Doing Business',
subtitle='Elaboração própria com dados do Banco Mundial.')+
annotate('text', x=impostos$pais[184], y=195,
label='Brasil',
colour='red', size=3.4)

E o gráfico...

Entre 190 países, nosso país ocupa a 184ª posição na facilidade de pagamento de impostos. Uma reforma tributária é mais do que urgente por esses lados, não é mesmo?

_______________________________

A planilha data.xlsx pode ser encontrada no repositório do Blog.

Cadastre-se em nossa Lista VIP para receber conteúdos exclusivos!

Fazer Inscrição
{"cart_token":"","hash":"","cart_data":""}