Raio-X da inflação no Brasil usando o R: as classificações do IPCA.

A análise da inflação envolve no Brasil uma curiosa disputa entre os economistas. Disputa essa, diga-se, completamente adormecida em países com uma taxa de inflação comportada ao longo do tempo. Nesse confronto, às vezes violento, entre profissionais com matizes teóricas distintas, há narrativas diversas sobre os motivos pelos quais a inflação é alta no país. Dentre tantos enredos, um que chamou atenção desse escriba no último ano foi o comportamento dos preços de algumas classificações do IPCA, o índice usual para medir inflação por terras tupiniquins. É um pouco disso que tratarei aqui, no terceiro post de uma série que busca ao mesmo tempo:  (i) mostrar, de forma bem introdutória, como lidar com dados macroeconômicos na prática, usando o software R; (ii) entender o comportamento da taxa de variação dos preços no país, bem como gerar alguns modelos de previsão para a inflação, dados seus determinantes. Os dois outros posts trataram, respectivamente, dos diversos índices de preços que temos e dos grupos do IPCA. Ao fim desse post espera-se que o leitor tenha melhor compreendido como o IPCA se divide por bens e serviços, comercialização com o resto do mundo e liberdade para ir e vir.

Em busca da causa de uma inflação galopante...

No primeiro post dessa série verificamos o comportamento da variação mensal e acumulada em 12 meses de 16 índices de preços ao longo dos últimos anos. Observamos que parece existir um descolamento entre os índices de preços no atacado e índices ao consumidor. Enquanto os índices no atacado mostram uma inflação comportada, abaixo, inclusive, da meta, os índices ao consumidor mostram uma inflação em aceleração. Em particular, nos últimos meses, observa-se um "salto" nos índices ao consumidor.

No segundo post da série, abrimos o IPCA, o principal índice ao consumidor do país, e analisamos os seus 9 grupos. Entendemos que o "salto" está concentrado no grupo habitação, morada do subitem energia elétrica. A despeito disso, observamos que a inflação elevada está alastrada pela maioria dos grupos do IPCA. Desse modo, não foi possível dizer que a inflação alta é apenas um sintoma do aumento de energia elétrica. É preciso ir adiante.

Com esse objetivo, trabalharemos aqui com as séries do Banco Central, que dividem o IPCA em preços monitorados e livres e estes em bens (não duráveis, semi duráveis e duráveis) e serviços, comercializáveis e não comercializáveis. O leitor pode encontrar as variações mensais dessas séries no Sistema de Séries Temporais do BCB, na parte de Atividade Econômica. Feito o download das séries, a importação para o R e carregado o pacote BMR, podemos ver os gráficos das séries com a função gtsplot, como já visto no post anterior.

Variação Mensal das Classificações do IPCA
Variação Mensal das Classificações do IPCA (%)

Um problema imediato surge ao trabalhar com essas séries do BCB. O mesmo só divulgou quais bens e serviços entram em cada classificação em um box do relatório de inflação de dezembro de 2011, para o período posterior a janeiro de 2012. Isso foi feito em virtude da adequação das séries à Pesquisa de Orçamento Familiar (POF) 2008-2009, adotada pelo IBGE na construção do índice desde então. Abaixo o leitor pode consultar como os diferentes bens e serviços são classificados atualmente de acordo com o Banco Central.

Como o BCB classifica bens e serviços do IPCA.
Como o BCB classifica bens e serviços do IPCA.

Infelizmente, entretanto, essa classificação não é retroativa. Isto é, se quisermos ir além de janeiro de 2012, as classificações se modificam, de acordo com a POF em vigor. Para o período que estamos trabalhando aqui, agosto de 1999 a abril de 2015, há basicamente três POFs: o intervalo entre agosto de 1999 e junho de 2006 é coberto pela POF 1995-1996, de julho de 2006 a dezembro de 2011 pela POF 2002-2003 e o período atual, a partir de janeiro de 2012, pela POF 2008-09. Dada essa dificuldade, como podemos ter uma noção sobre os pesos de cada uma dessas classificações no índice cheio?

Estimando os pesos das classificações do IPCA...

A forma precisa é bater na porta no Banco Central, pedir as tabelas anteriores a janeiro de 2012 e ir no IPCA desagregado verificar subitem por subitem a qual classificação ele pertence. Feito isto, agrega-se os subitens e obtêm-se os pesos de cada classificação. Complicado, não é mesmo? Bastante. Uma outra forma, bem mais simples, é regredir a variação mensal do IPCA contra as variações mensais dessas classificações, de forma a obter os coeficientes. Estes, por sua vez, podem ser interpretados como os pesos aproximados de cada classificação dentro do IPCA. Isso é feito com o código abaixo.

################## ESTIMAR PESOS ##############################

end=c(2015,4)
start=end-c(0,11)

reg.1 <- dynlm(ipca[,1]~0+ipca[,2]+ipca[,3], start=start, end=end)

reg.2 <- dynlm(ipca[,1]~0+ipca[,2]+ipca[,4]+ipca[,5]+ipca[,6]+ipca[,7],
 start=start, end=end)

reg.3 <- dynlm(ipca[,1]~0+ipca[,2]+ipca[,8]+ipca[,9], start=start,
 end=end)

Pesos <- c(1, coef(reg.1), coef(reg.2)[-1], coef(reg.3)[-1])*100

table.regressao <- stargazer(reg.1, reg.2, reg.3,
 title='Pesos Estimados',
 dep.var.labels='',
 covariate.labels=c('Monitorados','Livres',
 'Não Duráveis',
 'Semi-Duráveis',
 'Duráveis',
 'Serviços',
 'Tradeables',
 'Nontradeables'),
 align=TRUE, type='html',
 out='regressoes.html')

O objeto reg.1 é a regressão do ipca mensal contra a variação dos preços monitorados e livres, o objeto reg.2 é contra a variação mensal dos monitorados, bens [não duráveis, semi-duráveis e duráveis] e serviços e o objeto reg.3 é contra os monitorados, tradeables e nontradeables, respectivamente. Observe o leitor que as regressões são feitas sem intercepto e de forma que a composição das variáveis explicativas seja igual à variável dependente, que é a variação mensal do IPCA. O código termina com a geração de uma tabela-resumo das regressões. Ela é posta abaixo.

Pesos Estimados
Dependent variable:
(1) (2) (3)
Monitorados 0.230*** 0.232*** 0.232***
(0.001) (0.001) (0.001)
Livres 0.771***
(0.003)
Não Duráveis 0.236***
(0.002)
Semi-Duráveis 0.086***
(0.002)
Duráveis 0.093***
(0.003)
Serviços 0.353***
(0.002)
Tradeables 0.355***
(0.003)
Nontradeables 0.412***
(0.002)
Observations 12 12 12
R2 1.000 1.000 1.000
Adjusted R2 1.000 1.000 1.000
Residual Std. Error 0.004 (df = 10) 0.003 (df = 7) 0.003 (df = 9)
F Statistic 255,254.000*** (df = 2; 10) 177,343.100*** (df = 5; 7) 238,580.100*** (df = 3; 9)
Note: *p<0.1; **p<0.05; ***p<0.01

Os coeficientes das regressões podem ser interpretados, nesse contexto, como os pesos das diferentes classificações do IPCA. Os preços monitorados [ou administrados] têm peso de 23% no índice cheio, enquanto os livres de 77%. Nestes, os serviços responderam por cerca de 35 pontos percentuais e os bens [não duráveis, semi- duráveis e duráveis] pelo restante. A abertura dos preços livres por comercialização com o resto do mundo mostra que cerca de 41 p.p. são nontradeables, que não sofrem assim concorrência externa. Esse procedimento simples nos dá uma noção bastante próxima dos reais pesos das classificações, na média dos últimos 12 meses. Abaixo coloco uma tabela com todos os subitens dos preços considerados monitorados [ou administrados] nos meses desse ano, para que o leitor veja o quão próximos nossa estimação está da realidade.

Preços Administrados

A evolução dos pesos das classificações do IPCA ao longo do tempo

Como dito anteriormente, durante o período da amostra houve duas mudanças na estrutura de ponderação do IPCA, para adequá-lo à revisões da Pesquisa de Orçamento Familiar. Além disso, como explicado no post anterior, o peso de cada subitem varia de um mês para o outro, o que implica que os pesos das classificações também se modificam ao longo do tempo. Desse modo, para verificar essa evolução dos pesos ao longo do tempo, proponho abaixo uma estimação recursiva daquelas três equações acima. Em outros termos, estimam-se as equações ao longo da amostra, adicionando uma nova observação de cada vez. O código no é posto abaixo.

######################################################################
############## OLS RECURSIVO PARA PESOS ESTIMADOS ##################
######################################################################

coefs <- matrix(NA, ncol = 2, nrow = nrow(ipca))
coefs2 <- matrix(NA, ncol = 5, nrow = nrow(ipca))
coefs3 <- matrix(NA, ncol = 3, nrow = nrow(ipca))

colnames(coefs) <- c('Monitorados','Livres')
colnames(coefs2) <- c('Monitorados', 'Não-Duráveis',
 'Semi-Duráveis', 'Duráveis', 'Serviços')
colnames(coefs3) <- c('Monitorados', 'Tradeables', 'Nontradeables')

for (i in 1:nrow(ipca)){

 reg.1 <- dynlm(ipca[,1]~0+ipca[,2]+ipca[,3],
 end=start(ipca)+c(0,10+i))

 reg.2 <- dynlm(ipca[,1]~0+ipca[,2]+ipca[,4]+ipca[,5]+ipca[,6]+ipca[,7],
 end=start(ipca)+c(0,10+i))

 reg.3 <- dynlm(ipca[,1]~0+ipca[,2]+ipca[,8]+ipca[,9],
 end=start(ipca)+c(0,10+i))

 coefs[i,] <- coef(reg.1)
 coefs2[i,] <- coef(reg.2)
 coefs3[i,] <- coef(reg.3)
}

############### COEFICIENTES COMO SÉRIES DE TEMPO ###################

coefs <- ts(coefs, start=start(ipca), freq=12)
coefs2 <- ts(coefs2, start=start(ipca), freq=12)
coefs3 <- ts(coefs3, start=start(ipca), freq=12)

#################### GRÁFICOS dos COEFICIENTES ######################

coeficientes <- cbind(coefs, coefs2[,-1], coefs3[,-1])*100

colnames(coeficientes) <- c('Monitorados','Livres',
 'Não Duráveis',
 'Semi-Duráveis',
 'Duráveis',
 'Serviços',
 'Tradeables',
 'Nontradeables')

dates <- seq(as.Date('1999-08-01'), as.Date('2015-04-01'), by='1 month')

gtsplot(coeficientes, dates=dates)

E os gráficos...

Estimação Recursiva dos Pesos das Classificações do IPCA
Estimação Recursiva dos Pesos das Classificações do IPCA (%)

Os gráficos mostram a evolução dos pesos estimados das classificações do IPCA a cada nova observação adicionada. Os monitorados e livres mostram trajetórias simétricas, assim como os tradeables e os nontradeables. Os bens não duráveis perderam participação no índice cheio, enquanto os serviços têm avançado nos últimos anos. Em outras palavras, leitor, pode-se observar como as diferentes classificações contribuem ao longo do tempo para a variação do índice cheio.

As coisas começam a fazer sentido...

Estimados os pesos das classificações do IPCA e visto a evolução dos mesmos ao longo do tempo, o próximo passo para tornar o nosso entendimento sobre o processo inflacionário mais claro é acumular as variações mensais em 12 meses. O gráfico abaixo mostra essas séries dentro da nossa amostra.

Variação Anual das Classificações do IPCA
Variação Anual das Classificações do IPCA (%)

E agora uma tabela com as últimas observações de cada uma dessas classificações acompanhadas dos respectivos pesos estimados.

Classificações do IPCA (% a.a.)
Nov/14 Dez/14 Jan/15 Fev/15 Mar/15 Abr/15 Pesos
Índice Cheio 6,56 6,41 7,14 7,70 8,13 8,17 100
Monitorados 5,83 5,32 7,55 9,66 13,37 13,38 23,02
Livres 6,76 6,72 7,01 7,12 6,59 6,64 77,05
Não-Duráveis 6,97 6,88 7,34 7,85 6,89 6,37 23,64
Semi-Duráveis 3,67 3,82 3,43 3,30 3,45 3,96 8,64
Duráveis 3,45 3,01 2,89 3,21 3,19 3,32 9,28
Serviços 8,29 8,33 8,76 8,58 8,03 8,34 35,35
Tradeables 6,02 5,95 5,57 5,92 5,68 5,64 35,51
Nontradeables 7,45 7,43 8,29 8,17 7,40 7,53 41,20

Com o gráfico e a tabela das variações mensais acumuladas em 12 meses podemos começar a fazer alguma análise dos dados. Observe que, confirmando a estória contada pelos posts anteriores dessa série, o grupo de preços monitorados [ou administrados] tem sido uma fonte de pressão para o índice cheio. Ele dá um "salto" no período recente, basicamente por causa do subitem energia elétrica, como já dito aqui. Ao olhar os dados para um período maior do que os últimos meses, através do gráfico, ficamos sabendo que a inflação dos últimos anos tem sido marcante entre os preços livres, não comercializáveis, principalmente serviços. Ademais, mostra tendência de alta, também, a inflação de bens não duráveis, onde estão os alimentos, atingidos por problemas climáticos. Outros enredos podem ser verificados nas demais classificações, mas, em um primeiro olhar, a tendência dos serviços e alimentos parece chamar mais atenção.

Conseguimos, nesse contexto, explicar aquele descolamento visto no primeiro post dessa série entre preços no atacado e no varejo [ao consumidor]. A evolução dos serviços parece explicar porque os preços ao consumidor têm apresentando uma tendência de alta, enquanto os preços no atacado estão comportados. Isto porque, há muito mais serviço nas cadeias finais de produção do que nas iniciais, logo é natural que isso apareça nos índices de preços.

Para tornar ainda mais interessante a análise desses dados, podemos pedir as estatísticas descritivas no pós-crise de 2008 dessas classificações com a função stargazer do pacote de mesmo nome. Com isso podemos ter uma ideia de como, em média, se comportaram os diferentes bens e serviços nesses últimos anos.

Estatísticas pós-2008 (% a.a.)
Statistic N Mean St. Dev. Min Max
Índice Cheio 80 5,88 0,89 4,17 8,17
Monitorados 80 4,23 2,13 0,95 13,38
Livres 80 6,48 1,07 4,12 8,28
Não-Duráveis 80 7,54 2,24 3,81 13,22
Semi-Duráveis 80 5,48 1,08 3,30 7,86
Duráveis 80 0,13 2,78 -5,12 4,61
Serviços 80 7,89 0,89 6,24 9,20
Tradeables 80 5,28 1,45 2,58 7,86
Nontradeables 80 7,56 1,05 5,12 9,71

Pois é, leitor, na média entre setembro de 2008 e abril de 2015, o IPCA cheio ficou em 5,88% a.a. Ao abrir o índice cheio por preços livres e monitorados, podemos ver que nesse período a pressão veio justamente daqueles, enquanto estes se mantiveram em 4,23% a.a. Como estamos vendo um aumento bastante pronunciado ao longo dos últimos meses, o leitor atento pode desconfiar que os preços administrados se mantiveram artificialmente controlados no período. A abertura dos preços livres mostra que, de fato, há uma pressão maior vinda dos preços não duráveis [alimentos] e serviços, ainda que os semi-duráveis tenham apresentado inflação média superior à meta.

Em assim sendo, leitor, conseguimos encaminhar a resposta sobre a causa da inflação nesses três primeiros posts da série. De fato, os serviços e os alimentos [não duráveis] têm mostrado tendência crescente nos últimos anos, enquanto o "salto" dos últimos meses foi causado pelo choque elétrico ou, de forma mais geral, pelo descongelamento nos preços administrados. A inflação mais alta dos alimentos é explicada por problemas climáticos, mas e os serviços? Ademais, podemos falar que a inflação alta dos últimos anos se resume a alimentos e serviços? Ou é um processo mais amplo?

No próximo e penúltimo post dessa série mostraremos a difusão e os núcleos, de forma a verificar se a inflação alta se limita a serviços e alimentos, como propõem alguns economistas ou se há uma causa maior por trás desse processo. Espero que o leitor tenha gostado do post e que tenha começado a entender a evolução da inflação ao longo dos últimos anos.

_______________________________________

Gostou do post? Quer aprender a fazer o mesmo? Dê uma olhada no nosso curso de Introdução ao R com aplicações em Análise de Conjuntura. Faça no Rio de Janeiro ou leve para sua empresa ou universidade!

Curso04

________________________________________

Compartilhe esse artigo

Facebook
Twitter
LinkedIn
WhatsApp
Telegram
Email
Print

Comente o que achou desse artigo

Outros artigos relacionados

Criando reports econômicos automáticos com IA usando Python

Imagine que você tenha uma tabela e precise gerar uma análise de dados rápida para entregar um relatório. Você poderia tentar parar tudo que está fazendo ou até mesmo fazer horas extras, mas dificilmente você entregaria o relatório mais rapidamente do que um modelo de Inteligência Artificial (IA). Neste artigo mostramos um exemplo de relatório gerado por IA para análise de inflação no Brasil, usando as ferramentas Quarto + Python para integrar a IA.

Analisando o sentimento da política monetária com IA usando Python

Análise de sentimentos é uma técnica de Processamento de Linguagem Natural (PLN) que serve para revelar o sentimento contido em um texto. Neste exercício, aplicamos esta técnica para analisar as atas das reuniões do COPOM, revelando o que os diretores de política monetária discutem nas entrelinhas. Utilizando um modelo de Inteligência Artificial através do Python, produzimos ao final um índice de 0 a 100 para sintetizar a análise histórica.

Como a IA pode auxiliar na otimização de Portfólio de Investimentos?

A construção de portfólio ótimo refere-se ao processo de alocar eficientemente capital entre um conjunto predefinido de ativos ou títulos. O campo da construção de portfólio tem sido extensivamente estudado por acadêmicos e profissionais desde a década de 1950, quando Markowitz introduziu sua inovadora abordagem de média-variância para a construção de portfólio. Diante disso, podemos melhorar o processo de alocação de peso de um investimento em um portfólio através do Aprendizado não supervisionado com a aplicação do Hierarchical Risk Parity (HRP). Neste exercício, realizamos uma introdução ao método e mostramos os resultados de um exemplo criado através do 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.