Núcleos de Inflação seguem bem comportados

Ontem, comentei aqui nesse espaço sobre o cenário benigno para a inflação e como isso estava garantindo uma taxa básica de juros abaixo de 5% no final do ano. Hoje, vou detalhar um pouco melhor esse ponto a partir dos núcleos de inflação. A ideia de um núcleo é capturar a tendência da inflação ao longo do tempo, retirando assim variações idiossincráticas. Em outros palavras, busca capturar a persistência do aumento de preços ao longo do tempo. De modo a ilustrar, considere, por exemplo, que o preço de um bem/serviço {i} varie de acordo com a equação \pi_{i,t} = \pi_t + \mu_{i,t}, onde \pi_t representa uma tendência e \mu_{i,t} uma idiossincracia. Desse modo, para {n} bens/serviços, o núcleo será dado por:

(1)   \begin{align*} \pi_t^{nucleo} = \sum_{i=1}^{n} \omega_{i}\pi_{i,t} - \sum_{i=1}^{n} \omega_{i}\mu_{i,t} \end{align*}

Em outras palavras, o objetivo do núcleo é reconhecer e retirar a parte idissiocrática, \sum_{i=1}^{n} \omega_{i}\mu_{i,t}, concentrando-se na verdadeira tendência da variação dos preços ao longo do tempo. Não à toa, Bancos Centrais de todo o mundo procuram construir e acompanhar medidas de núcleo de inflação. No Brasil, em particular, temos atualmente sete medidas de núcleo. Para uma explicação completa sobre os núcleos de inflação construídos pelo BCB, ver o Estudo Especial 17/2018 Novas Medidas de Núcleos de Inflação.

De modo a ilustrar o comportamento da média desses núcleos ao longo do tempo, bem como comparar com a inflação cheia, vamos criar um gráfico com o comportamento de ambas as séries. Para isso, precisaremos primeiro carregar alguns pacotes, como abaixo.

1
2
3
4
5
6
7
8
9
10
## Carregar pacotes
library(tidyverse)
library(readxl)
library(sidrar)
library(ggplot2)
library(forecast)
library(tstools)
library(scales)
library(png)
library(grid)

Vamos baixar o número-índice do IPCA a partir do pacote sidrar e posteriormente podemos criar a inflação mensal e a acumulada em 12 meses. O código abaixo implementa.

1
2
3
4
5
## Criar Inflação mensal e acumulada em 12 meses
ipca_indice = get_sidra(api='/t/1737/n1/all/v/2266/p/all/d/v2266%2013')
ipca_indice = ts(ipca_indice$Valor, start=c(1979,12), freq=12)
ipca_mensal = round((ipca_indice/stats::lag(ipca_indice,-1)-1)*100,2)
ipca_anual = round((ipca_indice/stats::lag(ipca_indice,-12)-1)*100,2)

O número-índice do IPCA tem início em dezembro de 1979, pegando assim toda a hiperinflação da década de 80. Não queremos isso, então pegamos apenas uma amostra dos dados, começando em junho de 2007, quando os choques provenientes da eleição do ex-presidente Lula já haviam se dissipado.

1
2
3
4
## Criar amostras
ipca_indice_subamostra = window(ipca_indice, start=c(2007,06))
ipca_mensal_subamostra = window(ipca_mensal, start=c(2007,06))
ipca_anual_subamostra = window(ipca_anual, start=c(2007,06))

Uma vez que tenhamos a inflação acumulada em 12 meses, vamos agora pegar os núcleos de inflação. Você pode baixar os dados no Sistema de Séries Temporais do Banco Central e depois importar para o R como abaixo. Observe que o código utiliza pipes, de modo já a acumular os dados em 12 meses e se concentrar na amostra que queremos.

1
2
3
4
5
6
## Núcleos
nucleos_12m = read_excel('nucleos.xlsx')[,-1] %>%
ts(start=c(1999,06), freq=12) %>%
acum_p(12) %>%
ts(start=c(1999,06), freq=12) %>%
window(start=c(2007,06))

De posse de todos os dados, podemos agora construir o nosso gráfico com o pacote ggplot2, como no código a seguir.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
## Gráfico
media.nucleos = rowMeans(nucleos_12m)
meta = c(rep(4.5, length(media.nucleos)-8), rep(4.25, 8))
time = seq(as.Date('2007-06-01'), as.Date('2019-08-01'), by='1 month')
df = data.frame(time=time, meta=meta, nucleos=round(media.nucleos,2),
inflacao=ipca_anual_subamostra)
 
img <- readPNG('logo.png')
g <- rasterGrob(img, interpolate=TRUE)
 
ggplot(df, aes(x=time))+
annotate("rect", fill = "gray", alpha = 0.6,
xmin = as.Date('2016-01-01'),
xmax = as.Date('2019-08-01'),
ymin = -Inf, ymax = Inf)+
geom_line(aes(y=inflacao, colour='Inflação 12 meses'), size=.8)+
geom_line(aes(y=meta, colour='Meta de Inflação'), size=.8)+
geom_line(aes(y=nucleos, colour='Média dos 7 Núcleos'), size=.8)+
scale_colour_manual('',
values=c('Inflação 12 meses'='darkblue',
'Meta de Inflação'='red',
'Média dos 7 Núcleos'='#56B4E9'))+
theme(legend.position = 'top')+
scale_x_date(breaks = date_breaks("1 years"),
labels = date_format("%Y"))+
xlab('')+ylab('% a.a.')+
labs(title='Inflação vs. Núcleos de Inflação',
caption='Fonte: analisemacro.com.br com dados do BCB.')+
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.position = c(.2,.8),
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('2016-06-01'),
xmax=as.Date('2019-06-01'),
ymin=8.5, ymax=11)

E assim temos um gráfico com o comportamento da inflação cheia e a média dos 7 núcleos construídos e divulgados pelo Banco Central.

Como é possível observar no gráfico acima, a média dos 7 núcleos segue bem comportada na margem - 3,17% no acumulado até agosto -, bem abaixo da meta de inflação para esse ano, que é de 4,25%. Mesmo a inflação cheia também está abaixo da meta e a expectativa, como notei ontem, é que feche próximo a 3,42% no final de 2019. Se os núcleos de inflação forem bons preditores para a inflação no curto prazo - ver, por exemplo, Forecasting inflation in Latin America with core measures, publicado no International Journal of Forecasting - podemos considerar que na ausência de choques relevantes - principalmente, em relação ao câmbio - a inflação tanto esse quanto no próximo ano dá sinais de ficar mesmo abaixo da meta, abrindo caminho para mais cortes na taxa básica de juros nas próximas reuniões do COPOM.

___________________

(*) O script completo do exercício estará disponível logo mais no Clube do Código.

(**) No nosso Curso de Análise de Conjuntura usando o R, nós destrinchamos o IPCA na parte de inflação.

Compartilhe esse artigo

Facebook
Twitter
LinkedIn
WhatsApp
Telegram
Email
Print

Comente o que achou desse artigo

Outros artigos relacionados

Como usar automação com Python e IA na análise de ações

No cenário atual, profissionais de finanças buscam formas mais rápidas, eficientes e precisas para analisar dados e tomar decisões. Uma das grandes revoluções para isso é o uso combinado de Python, automação e modelos de linguagem grande (LLMs), como o Google Gemini. O dashboard que criamos é um ótimo exemplo prático dessa integração, reunindo dados, cálculos, visualizações e análise textual em um único ambiente.

Análise de ações com IA - um guia inicial

Neste artigo, você vai aprender a integrar IA na análise de ações de forma automatizada utilizando Python. Ao final, você terá um pipeline completo capaz de coletar dados de mercado, gerar gráficos, elaborar relatórios com linguagem natural.

Quais são as ferramentas de IA?

Um aspecto crucial dos Agentes de IA é a sua capacidade de tomar ações, que acontecem por meio do uso de Ferramentas (Tools). Neste artigo, vamos aprender o que são Tools, como defini-las de forma eficaz e como integrá-las ao seu Agente por meio da System Prompt. Ao fornecer as Tools certas para o seu Agente — e ao descrever claramente como essas Tools funcionam — você pode aumentar drasticamente o que sua IA é capaz de realizar.

Boletim AM

Receba diretamente em seu e-mail gratuitamente nossas promoções especiais e conteúdos exclusivos sobre Análise de Dados!

Boletim AM

Receba diretamente em seu e-mail gratuitamente nossas promoções especiais e conteúdos exclusivos sobre Análise de Dados!

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.