Raio-X do crescimento econômico brasileiro usando o R

Como um nadador destemido, o Brasil mergulhou. Em uma tendência negativa de crescimento econômico, é o que dizem as contas nacionais do IBGE do primeiro trimestre de 2015, divulgadas no dia 29/05. Na margem [contra o último trimestre de 2014], o PIB teve variação negativa de 0,16%. Para tanto, contribuíram a formação bruta de capital fixo, o consumo das famílias e do governo. Algum respingo de esperança veio das exportações, com crescimento de 5,71% nessa mesma base de comparação. No lado da oferta, a indústria continua seu martírio, apresentando variação negativa de 0,26%, enquanto os serviços resolveram acompanhar e ensaiam uma estagnação. Efeitos do declínio da renda na margem e do maior endividamento das famílias. Nessa ótica, apenas a agropecuária - sempre ela - respira, com 4,66% de aumento em relação ao trimestre anterior. A tabela abaixo resume as variações na margem, trimestral [contra o mesmo trimestre do ano anterior] e acumulada em 4 trimestres. Os dados do mergulho brasileiro foram importados para o e as contas são mostradas para o leitor interessado em aprender algo, em meio à tragédia anunciada e hoje realizada. Aos dados, então?

PIB e Componentes (%)
 2015Q1
Margem Trimestral Anual
PIB -0,16 -1,56 -0,89
FBCF -1,31 -7,77 -6,94
CF -1,53 -0,94 0,16
CG -1,29 -1,51 0,37
X 5,71 3,24 -1,01
M 1,18 -4,67 -2,52
IND -0,26 -2,95 -2,55
SERV -0,75 -1,16 -0,18
AGRO 4,66 4,03 0,64

O leitor interessado em fazer essas contas deve, primeiro, pegar a tabela com os números índices de todos os componentes do PIB lá no SIDRA. É preciso pegar dois números-índices para cada componente: um encadeado normal e outro com ajuste sazonal. Monte seu csv e importe para o com o código abaixo. Observe que a frequência é trimestral, logo você deve colocar no argumento freq.

pib <- ts(read.csv(file='pib.csv',
 header=T,sep=";",dec=","),
 start=c(1996,1), freq=4)

Uma vez feito isso, devemos fazer as contas. A variação marginal deve ser feita sobre o número-índice com ajuste sazonal, enquanto as variações trimestral e anual são feitas sobre o número encadeado normal. No você pode fazer isso da seguinte forma.

### Dividir em pib_sa e pib normal

pib_sa <- pib[,c(1,3,5,7,9,11,13,15,17)]
pib <- pib[,-c(1,3,5,7,9,11,13,15,17)]

### Variação Marginal

margem <- (pib_sa/lag(pib_sa,-1)-1)*100
colnames(margem) <- colnames(pib_sa)

### Mesmo trimestre do ano anterior

trimestral <- (pib/lag(pib,-4)-1)*100
colnames(trimestral) <- colnames(pib)

### Acumulado em 4 trimestres

anual <- (((pib+lag(pib,-1)+lag(pib,-2)+lag(pib,-3))/4)/
 ((lag(pib,-4)+lag(pib,-5)+lag(pib,-6)+lag(pib,-7))/4)-1)*100
colnames(anual) <- colnames(pib)

Feito isso, agora você tem três objetos com as respectivas variações. Podemos pedir o gráfico da variação anual dessas séries com a função gtsplot do pacote BMR, que você tem visto aqui nesse espaço na série sobre Raio-X da inflação no Brasil.

anual

À exceção da agropecuária, todos os demais componentes do pib mostram uma tendência de queda de 2010 para cá. Em outras palavras, o mergulho da economia brasileira, se é que ainda existia alguma dúvida, leitor, tem sido bastante pronunciado já há algum tempo, envolvendo praticamente todos os componentes do PIB. Será que vai melhorar?

Será que vai melhorar?

Para responder essa pergunta precisamos gerar uma previsão para o PIB que acabamos de calcular. Isso, entretanto, não é simples. O PIB é uma variável complexa, que depende de escolhas de um sem número de agentes. Desse modo, para prevê-lo é preciso reunir séries que contenham indicativos sobre essas decisões, como câmbio real, juros, superávit primário, produção industrial, horas trabalhadas, vendas no comércio, etc. Ou seja: trabalho, leitor, muito trabalho.

Para uma leitura rápida sobre o cenário desenhado em 2015, vamos gerar uma previsão simples aqui, utilizando cinco variáveis: câmbio real, superávit primário, juros reais, ibc-br e pib mensal do ibre/fgv. O câmbio real é a série 11752 do Banco Central, o superávit primário é dado pelas Necessidades de Financiamento do Setor Público, acumuladas em 12 meses e normalizadas pelo PIB, com sinal trocado, os juros reais são a taxa de swap-360 deflacionada pelas expectativas de inflação para os próximos 12 meses, o ibc-br é o índice de nível de atividade do Banco Central e o pib mensal do IBRE/FGV é a variação acumulada em 12 meses.

Um problema imediato surge, como o leitor já pode ter notado. Essas séries são mensais enquanto o pib está em base trimestral. Com efeito, precisamos "trimestralizar" as séries. Fiz isso no com o código abaixo. Observe que para trimestralizar, pegamos simplesmente a média das variáveis.

### Transformar dados mensais em trimestrais

prev <- aggregate(prev, nfrequency=4, FUN='mean')

Os gráficos dessas séries, bem como a variação anual do próprio PIB são colocados abaixo, para o período de 2008Q1 a 2015Q1.

regressores

Abaixo os correlogramas dessas séries, construídos a partir das funções gacf gpacf do pacote BMR.

gacf

gpacf

Quase tudo pronto para construir o modelo. Optei por construir um BVAR usando a função BVARW do pacote BMR, como pode ser visto no código abaixo.

### Modelo

bvarw2 <- BVARW(prevpib, cores=1, coefprior=NULL, p=2,
 constant=T, irf.periods=20, keep=10000, burnin=1000,
 XiBeta=1, XiSigma=1, gamma=NULL)

Para maiores informações sobre os argumentos dessa função, bem como sobre o tipo de BVAR escolhido [Normal-inverse-Wishart Prior], consulte a documentação do pacote aqui. Importante ressaltar, apenas, que dados os resultados dos testes ADF e KPSS, obtidos com a função stationarity, assumi a existência de passeio aleatório no argumento coefprior.

Rodado o modelo, podemos gerar a previsão com a função forecast, como abaixo.

### Forecast

forecast.bvarw2 <- forecast(bvarw2, periods=3, shocks=T, plot=T,
 percentiles = c(.05, .50, .95), backdata=10,
 save=T)

As trajetórias previstas...

Forecast

E uma tabela que resume a previsão para o PIB, IBC-Br e PIB IBRE-FGV nos três trimestres restantes de 2015...

Previsões para o PIB (% a.a.)
PIB IBC IBRE
2015Q2 -1,64 -1,77 -1,49
2015Q3 -1,85 -2,04 -1,83
2015Q4 -1,56 -1,79 -1,66

Ou seja, leitor, 2015 está mesmo perdido, com queda prevista de 1,56%... Consequências dos excessos dos últimos anos, infelizmente... 🙁

Compartilhe esse artigo

Facebook
Twitter
LinkedIn
WhatsApp
Telegram
Email
Print

Comente o que achou desse artigo

Outros artigos relacionados

Como automatizar o tratamento de dados feito no Excel usando o Python?

Segundo a pesquisa “State of Data Science”, profissionais de dados gastam 3 horas/dia (38% do tempo) apenas preparando os dados, antes mesmo de analisá-los. Neste artigo advogamos que este gasto de tempo pode ser drasticamente reduzido ao utilizar ferramentas open source, como Pandas e Python, para automatizar tarefas repetitivas que costumam ser feitas em Excel.

A gramática dos gráficos: como deixar de criar gráficos no Excel e usar o plotnine no Python

A etapa de visualização de dados refere-se a uma parte fundamental da análise de dados, pois permite não somente compreender os dados que estamos analisando, mas como também é uma ferramenta útil para explanar os resultados encontrados. Mas qual a forma mais fácil de construir um gráfico, como podemos melhorar a produtividade nesta tarefa? É onde podemos aplicar a gramática dos gráficos e construir com a biblioteca plotnine no Python.

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.