IPCA e Núcleos: Uma Análise Detalhada e Prática com Python
A inflação é um dos indicadores econômicos mais acompanhados tanto por economistas quanto pela sociedade em geral, já que afeta diretamente…
IPCA e Núcleos: Uma Análise Detalhada e Prática com Python
A inflação é um dos indicadores econômicos mais acompanhados tanto por economistas quanto pela sociedade em geral, já que afeta diretamente o poder de compra e a condução da política monetária. No Brasil, o principal indicador de inflação utilizado é o IPCA (Índice Nacional de Preços ao Consumidor Amplo), calculado pelo IBGE. Contudo, o Banco Central também utiliza uma série de núcleos do IPCA para avaliar a inflação de forma mais precisa, isolando os impactos transitórios e voláteis dos preços.
Este texto apresenta as diferenças entre o IPCA geral e seus núcleos, descrevendo os métodos estatísticos e ajustes realizados de maneira breve para identificar a tendência subjacente da inflação. Também foi incluído um código prático em Python para coletar os dados do IPCA e de seus núcleos diretamente do sistema do Banco Central.
O que é o IPCA?
O IPCA mede a variação dos preços de uma cesta de bens e serviços consumida por famílias brasileiras com renda mensal entre 1 e 40 salários mínimos, abrangendo nove grandes regiões metropolitanas. É considerado o índice oficial de inflação para o país, sendo usado como referência para as metas de inflação definidas pelo Conselho Monetário Nacional (CMN).
O cálculo do IPCA é realizado pelo IBGE, com base na coleta de preços de produtos e serviços como alimentos, energia, transporte, saúde, e outros. Os itens têm pesos diferentes, determinados pela Pesquisa de Orçamentos Familiares (POF), que reflete os hábitos de consumo da população.
Por que existem núcleos do IPCA?
Embora o IPCA seja um indicador confiável, ele pode ser afetado por choques temporários em preços de itens voláteis, como alimentos e energia. Esses choques podem distorcer a análise da inflação ao introduzir oscilações que não refletem a tendência subjacente. Para mitigar esse problema, o Banco Central utiliza os núcleos de inflação, que são indicadores derivados do IPCA, ajustados para excluir ou suavizar componentes voláteis.
Os núcleos têm como objetivos:
- Eliminar ruídos de variações temporárias: Excluir itens que sofrem choques sazonais ou de curto prazo.
- Capturar a tendência estrutural da inflação: Identificar os movimentos persistentes e amplos nos preços.
- Apoiar a formulação da política monetária: Permitir ao Banco Central tomar decisões informadas, com base na análise de médio e longo prazo.
Como Coletar os Dados do IPCA e Seus Núcleos?
Os dados do IPCA e de seus núcleos podem ser coletados diretamente do Sistema Gerenciador de Séries Temporais (SGS) do Banco Central do Brasil utilizando Python. O código abaixo demonstra como realizar essa coleta, salvando os dados em um arquivo CSV e gerando gráficos para cada série:
# Criado por: Isaque Machado (isaquemac4@gmail.com) - UFSC
# Este código coleta e visualiza o IPCA e seus núcleos, gerando gráficos e salvando os dados em arquivos CSV e PNG.
# Importar as bibliotecas necessárias
from sgs import dataframe # Biblioteca para coletar séries temporais do Banco Central
import matplotlib.pyplot as plt # Biblioteca para criação de gráficos
# ===========================
# 1. Definição dos parâmetros
# ===========================
# Dicionário com os significados das séries
series_labels = {
433: "IPCA",
4466: "IPCA-MS",
11426: "IPCA-DP",
11427: "IPCA-MA",
16121: "IPCA-EX2",
16122: "IPCA-EX3",
27838: "IPCA-EX0",
27839: "IPCA-EX1",
}
# Códigos das séries
codes = list(series_labels.keys())
# Período das séries
start_date = "01/07/2001" # Data inicial
end_date = "30/09/2024" # Data final
# Caminho fictício para salvar os arquivos
diretorio_ficticio = r"C:\Caminho\Ficticio\Dados"
# ============================
# 2. Coletar e salvar os dados
# ============================
# Coletar as séries do Banco Central em um DataFrame
df = dataframe(codes, start=start_date, end=end_date)
# Salvar os dados em um arquivo CSV
caminho_csv = rf"{diretorio_ficticio}\series_ipca_nucleos.csv"
df.to_csv(caminho_csv, index=True, header=True)
# Mensagem para indicar sucesso na etapa de salvamento
print(f"Os dados das séries foram salvos em: {caminho_csv}")
# ============================
# 3. Visualizar cada série em gráficos separados
# ============================
# Configurar o estilo do gráfico
plt.style.use('ggplot') # Estilo para gráficos limpos e legíveis
# Criar gráficos individuais para cada série
for column in df.columns:
# Obter o significado da série
titulo_serie = series_labels[int(column)]
# Criar a figura
fig, ax = plt.subplots(figsize=(10, 5))
# Plotar a série com linha fina
ax.plot(df.index, df[column], label=titulo_serie, linewidth=0.8, color='blue')
# Configurações do gráfico
ax.set_title(titulo_serie, fontsize=14, weight='bold') # Apenas o nome da série
ax.set_xlabel("Ano", fontsize=12) # Rótulo do eixo X
ax.set_ylabel("Variação (%)", fontsize=12) # Rótulo do eixo Y
ax.legend(fontsize=10) # Legenda
ax.grid(visible=True, linestyle='--', alpha=0.6) # Grade para facilitar a leitura
# Ajustar o layout para evitar sobreposição
plt.tight_layout()
# Salvar o gráfico como um arquivo PNG
caminho_grafico = rf"{diretorio_ficticio}\grafico_serie_{column}.png"
plt.savefig(caminho_grafico, dpi=300)
# Mostrar o gráfico na tela
plt.show()
# Mensagem para indicar sucesso na etapa de salvamento do gráfico
print(f"O gráfico da série {titulo_serie} foi salvo em: {caminho_grafico}")
Este código não apenas coleta e salva os dados do IPCA e seus núcleos em um arquivo CSV, mas também gera gráficos individuais para cada série. Cada gráfico será salvo em arquivos PNG no diretório especificado, facilitando a análise visual das flutuações de cada núcleo ao longo do tempo.
Abaixo um exemplo de como ficarão os gráficos:

Uma breve explicação acerca dos núcleos:
IPCA-Média Suavizada (IPCA-MS, Código 4466)
- Este núcleo utiliza o método de médias aparadas com suavização, que é uma técnica estatística robusta.
- Objetivo: Reduzir o impacto de itens cujos preços apresentam variações atípicas (outliers), que podem distorcer a análise da inflação.
- Como funciona:
- Os itens do IPCA são ordenados de acordo com sua variação percentual.
- Os valores extremos (altas e baixas mais acentuadas) são descartados.
- É calculada uma média ponderada dos itens restantes, com pesos ajustados.
Núcleo de Dupla Ponderação (IPCA-DP, Código 11426)
- Este núcleo realiza uma dupla ponderação, atribuindo pesos maiores aos itens com variações de preços mais frequentes e consistentes.
- Objetivo: Reduzir a influência de itens voláteis, mas sem excluir nenhum componente da cesta.
- Diferencial: Por manter todos os itens no cálculo, é útil para identificar a tendência subjacente sem perder informações relevantes.
Núcleo de Médias Aparadas (IPCA-MA, Código 11427)
- Similar ao IPCA-MS, mas aplica um método de médias aparadas fixas:
- Descarta uma proporção fixa (por exemplo, 20%) das maiores e menores variações de preços.
- Calcula a média ponderada com os itens restantes.
- Objetivo: Filtrar choques extremos de curto prazo, mantendo a simplicidade no cálculo.
Núcleo EX0 (Código 27838)
- Este núcleo exclui alimentos no domicílio e combustíveis do cálculo do IPCA.
- Por quê? Esses itens são fortemente influenciados por fatores externos, como safras agrícolas e preços internacionais do petróleo, que nem sempre refletem a dinâmica inflacionária interna.
- Resultado: Um índice que foca em itens com comportamento mais estável.
Núcleo EX1 (Código 27839)
- Adiciona uma exclusão extra ao EX0, removendo também os preços monitorados (tarifas reguladas pelo governo, como energia elétrica e transporte público).
- Objetivo: Evitar que políticas governamentais distorçam a análise da inflação.
Núcleo EX2 (Código 16121)
- Vai além do EX1, realizando ajustes adicionais de ponderação para suavizar a influência de itens ainda voláteis na cesta remanescente.
- Diferencial: Permite capturar melhor a tendência de inflação estrutural.
Núcleo EX3 (Código 16122)
- É a versão mais restritiva e refinada. Além de excluir alimentos, combustíveis e monitorados, aplica metodologias estatísticas avançadas para capturar apenas a inflação persistente.
- Objetivo: Isolar ao máximo os choques transitórios e destacar apenas a inflação de médio e longo prazo.
Conclusão
Este texto foi elaborado com o objetivo de apresentar de forma clara e prática as diferenças entre o IPCA e seus núcleos, além de demonstrar como utilizar Python para coletar e analisar essas informações. É importante ressaltar que este é um texto informal, voltado para facilitar o entendimento e incentivar o uso dessas ferramentas por estudantes, pesquisadores e interessados no tema.
No entanto, é essencial que os leitores consultem regularmente as fontes oficiais para verificar se a metodologia do Banco Central ou do IBGE foi atualizada, já que os cálculos e interpretações dos índices podem ser ajustados ao longo do tempo.
Se você identificou algo que pode ser melhorado ou deseja sugerir correções, fique à vontade para compartilhar suas ideias! O aprendizado contínuo é parte essencial do processo.
Para mais informações sobre o IPCA e outros índices, visite:
- Banco Central do Brasil: https://www.bcb.gov.br/
- IBGE (Instituto Brasileiro de Geografia e Estatística): https://www.ibge.gov.br/
Agradeço por sua leitura e espero que este conteúdo tenha sido útil para ampliar sua compreensão sobre os indicadores de inflação no Brasil e suas aplicações práticas.
메타데이터
- post_id
- f4e939f9cde2
- slug
- ipca-e-núcleos-uma-análise-detalhada-e-prática-com-python-f4e939f9cde2
- url
- https://medium.com/@isaquemac4/ipca-e-n%C3%BAcleos-uma-an%C3%A1lise-detalhada-e-pr%C3%A1tica-com-python-f4e939f9cde2
- canonical_url
- https://medium.com/@isaquemac4/ipca-e-n%C3%BAcleos-uma-an%C3%A1lise-detalhada-e-pr%C3%A1tica-com-python-f4e939f9cde2
- author_url
- https://medium.com/@isaquemac4
- status
- ok
- fetched_at
- 2026-07-21 07:40:18