O pacote {nucleos}: analisando a inflação no R

Neste exercício abordamos sobre a teoria e a prática das medidas de núcleos de inflação comumente acompanhadas pelo Banco Central do Brasil (BCB), mostrando a fundamentação por trás dos núcleos de exclusão/estatísticos, suas finalidades e o uso prático do pacote {nucleos} no R para análise de inflação com dados brasileiros. Em suma, vamos entender e construir os:

  • Núcleos de exclusão:
    • IPCA-EX0
    • IPCA-EX1
    • IPCA-EX2
    • IPCA-EX3
  • Núcleos estatísticos:
    • IPCA-MA
    • IPCA-MS
    • IPCA-DP

Conceitos

Índice de Preços ao Consumidor Amplo (IPCA)1 é aquele utilizado pelo Banco Central do Brasil (BCB) para cumprir o determinado no decreto 3.088, de 21 de junho de 1999, que estipulou o regime de metas para inflação no país.

O IPCA é construído de forma hierarquizada, sendo dividido em grupos, subgrupos, itens e subitens. Atualmente são nove os grupos: alimentação e bebidas, habitação, artigos de residência, vestuário, transportes, saúde e cuidados pessoais, despesas pessoais, educação e comunicação.

Todos os meses o IBGE calcula a variação do preço de cada um dos subitens em relação ao mês anterior, bem como verifica o seu peso no índice cheio. O peso de cada um desses componentes no índice cheio é definido de acordo com os gastos das famílias em diferentes bens e serviços. Estes gastos, por sua vez, são captados pela Pesquisa de Orçamento Familiar (POF)2, também do IBGE.

O somatório do produto entre variação mensal e peso de todos os subitens dará a variação mensal do índice cheio, valor que costuma ser noticiado nos jornais para o grande público.

Com o gráfico abaixo, podemos avaliar o que chamamos de inflação cheia, representada pelo comportamento de todos os subitens.

Classificações do IPCA

Para algumas análises, pode ser interessante reunir os subitens e itens do IPCA em determinadas classificações, que não aquelas representadas pelos nove grupos divulgados pelo IBGE.

Por exemplo, dentro do índice existem certos preços que são regulados, isto é, seus reajustes precisam ser autorizados pelo governo. Esses preços, chamados de monitorados ou administrados, seguem uma lógica diferente de preços de mercado, determinados pelo confronto entre oferta e demanda.

A tabela3 a seguir ilustra as diversas classificações construídas pelo próprio Banco Central, assim como suas mudanças nos pesos entre as duas últimas POF.

Dessa forma, vale pontuar que os fatores que influenciam a inflação de serviços não serão os mesmos dos que influenciam a inflação de bens comercializáveis, por exemplo, ainda que ambas classificações respondam a aspectos comuns. De fato, o estado da arte em modelagem e previsão leva em consideração a inflação desagregada e não a inflação cheia justamente por esse motivo.

Utiliza-se as classificações para a construção das medidas de núcleos da inflação.

A seguir o comportamento de algumas das classificações do BCB:

Núcleos de inflação

Como pode ser imaginado, e confirmado, alguns itens do IPCA podem apresentar variações mais infrequentes ou voláteis, de modo que o Banco Central procura capturar e acompanhar a tendência inflacionária ao longo do tempo criando medidas auxiliares: os núcleos do IPCA.

Neste exercício focaremos na análise das sete medidas de núcleos destacadas no início e comumente acompanhadas nos últimos anos pelo BCB e analistas de inflação4. Entretanto, pontua-se que desde julho de 2020 o BCB acompanha apenas cinco medidas de núcleos: EX0, EX3, MS, DP e P55.

Descrição das medidas de núcleos divulgadas pelo BCB (classificação a partir de janeiro/20205):

Historicamente, o comportamento dos núcleos tende a ser menos oscilante em relação ao IPCA:

Conforme visto, os núcleos de exclusão são os mais simples metodologicamente. Já os estatísticos requerem alguns procedimentos e detalhes importantes. Explore em detalhes a metodologia por trás de cada núcleo nos metadados disponíveis no SGS/BCB.

O pacote {nucleos}

Contextualizado a importância e conceituação sobre o tema, nos voltaremos agora para o aspecto prático de como obter os dados e construir os núcleos de inflação usando o R. Para tal, criamos internamente o pacote {nucleos}, que possibilita:

  • Coletar os dados desagregados do IPCA;
  • Tratar e descrever dados do IPCA;
  • Calcular núcleos estatísticos e de exclusão.

No Console do RStudio, instale e carregue o pacote com (chave de token disponível, mediante solicitação, para membros do Clube AM):

Em resumo, o pacote possui as seguintes funcionalidades6:

Além das funções get_ipca() e group_desc() para coletar dados e criar descrições sobre os componentes das tabelas do IPCA, respectivamente.

Uma vez instalado o pacote, vamos demonstrar como utilizá-lo. Primeiro vamos coletar os dados desagregados do IPCA, ou seja, os subitens, itens, subgrupos e grupos do índice:

Com os dados coletados, podemos facilmente calcular qualquer um dos 7 núcleos. Por exemplo, no caso do IPCA-EX0 (e de todos os núcleos de exclusão) usamos a função core_adhoc():

Para os núcleos estatísticos existe uma função dedicada ao cálculo de cada um. Por exemplo, no caso do núcleo de médias aparadas sem suavização basta rodar:

Como pode ser observado, uma vez criado e instalado o pacote, é muito fácil utilizar as funcionalidades para calcular as medidas de núcleos de inflação. Essas facilidades só são possíveis graças ao processo de desenvolvimento do pacote, que pode ser resumido em algumas etapas:

  1. Criar lista com definição de itens e subitens que compõem cada núcleo (classificações do IPCA);
  2. Criar funções para coleta e tratamento de dados;
  3. Criar funções para calcular cada núcleo, utilizando os dados e definições da composição dos mesmos.

Para saber mais detalhes consulte o material extra desse exercício (disponível para membros do Clube AM).

Importante: na próxima atualização da POF/IPCA — sua periodicidade é, em princípio, quinquenal — provavelmente este pacote precisará ser atualizado, para respeitar a entrada/saída de subitens no índice de inflação e suas consequências nas classificações utilizadas nos núcleos.

 

Saiba mais

Se o tema despertou teu interesse, confira os cursos aplicados da Análise Macro e considere ser um membro do Clube AM para acesso completo aos códigos de replicação, outros materiais em R e Python e suporte para dúvidas.

 


1 Consulte informações sobre o IPCA em: https://www.ibge.gov.br/estatisticas/economicas/precos-e-custos/9256-indice-nacional-de-precos-ao-consumidor-amplo.html

2 Para maiores informações, consulte: https://www.ibge.gov.br/estatisticas/sociais/saude/24786-pesquisa-de-orcamentos-familiares-2.html

3Retirada do Estudo Especial nº 69/2019 do BCB: https://www.bcb.gov.br/content/ri/relatorioinflacao/201912/ri201912b7p.pdf

4 Deve-se observar que o conjunto de medidas divulgadas pelo BCB tende a sofrer alterações ao longo do tempo tanto pela inclusão de novas medidas como pela revisão de medidas que eram anteriormente divulgadas.

5 Retirada do Estudo Especial nº 69/2019 do BCB: https://www.bcb.gov.br/content/ri/relatorioinflacao/201912/ri201912b7p.pdf e TD 356 do BCB: https://www.bcb.gov.br/pec/wps/port/TD356.pdf

6 Consulte em detalhes a documentação do pacote em: https://analisemacropro.github.io/nucleos/

Compartilhe esse artigo

Facebook
Twitter
LinkedIn
WhatsApp
Telegram
Email
Print

Comente o que achou desse artigo

Outros artigos relacionados

Transfer Learning: mostrando porque o Python está na ponta do desenvolvimento

A aprendizagem por transferência (transfer learning) é o reuso de um modelo pré-treinado em um novo problema. Portanto, sua utilização torna-se um avanço enorme para a previsão de diferentes tipos de variáveis, principalmente para aquelas ordenadas no tempo. Mostramos nesta postagem o uso do Transfer Learning com o Python para o caso de Séries Temporais.

Criando Tabelas com o Python: mostrando o poder da linguagem sobre o Excel

Nos dias atuais, pessoas que trabalham com dados estão constantemente confrontados com um dilema: criar uma tabela não tão genial no Excel ou manter em um formato ainda pior, como um dataframe, mas mantendo a flexibilidade de obtenção dos dados. Podemos resolver esse grande problema, unindo a flexibilidade e beleza ao usar a biblioteca great_tables do Python.

Análise do Censo Demográfico com o R

Como podemos analisar dados do Censo Demográfico para produzir pesquisas e implementar políticas públicas? Mostramos nesta postagem o resultado de uma breve análise dos dados preliminares do Censo Demográfico de 2022 usando o R.

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.