Além da euforia: é possível manter o juro baixo no Brasil?

Há uma euforia no mercado financeiro brasileiro com os juros básicos na mínima histórica. O investidor mediano que mantinha seu portfólio aplicado basicamente em renda fixa viu seu rendimento cair substancialmente nos últimos anos. Com efeito, muitos desses migraram para o mercado de capitais, impulsionando a criação de novas gestoras e assets país à fora. A maior consequência dessa euforia talvez seja o avanço do índice Bovespa, mesmo com o crescimento econômico ainda bastante aquém do esperado.

Sabemos da evidência empírica que existe uma correlação negativa entre o índice Bovespa e o juro real. Isto é, menos juro reais estão associados a maiores níveis do índice Bovespa. Isso pode ser facilmente ilustrado com um código de R simples. Abaixo, faço um exemplo.


## Pacotes utilizados nesse comentário
library(tidyverse)
library(sidrar)
library(scales)
library(png)
library(grid)
library(zoo)
library(rbcb)
library(ggrepel)
library(gridExtra)
library(readxl)
library(xts)
library(grDevices)
library(ggalt)
library(quantmod)
library(Quandl)

O script desse comentário começa, como de hábito, com os pacotes que utilizaremos. A seguir, importo o ibovespa, o juro nominal (Selic) e a expectativa de inflação.


## Ibovespa
env <- new.env()
getSymbols("^BVSP",src="yahoo",
env=env,
from=as.Date('2008-12-01'))
ibovespa = env$BVSP[,4]
ibovespa = ibovespa[complete.cases(ibovespa)]

## Juro Real
selic = Quandl('BCB/1178', order='asc', start_date='2008-12-01')
expinf = get_twelve_months_inflation_expectations('IPCA',
start_date = '2008-12-01')

Com as variáveis importadas, é preciso criar o juro real. Isso é feito na sequência.


selic = xts(selic$Value, order.by = selic$Date)
expinf12 = xts(expinf$mean[expinf$smoothed=='S'],
order.by = expinf$date[expinf$smoothed=='S'])
dataex = cbind(selic, expinf12)
dataex = dataex[complete.cases(dataex),]
juro_ex = (((1+(dataex[,1]/100))/(1+(dataex[,2]/100)))-1)*100

Por fim, eu posso colocá-las em um tibble para gerar um gráfico de correlação como no código abaixo.


## Juntar dados
df01 = cbind(ibovespa, juro_ex)
df01 = df01[complete.cases(df01),]
df01 = tibble(ibovespa=df01[,1], juroreal=df01[,2])

E o gráfico de correlação é posto abaixo.


ggplot(df01, aes(x=juroreal, y=ibovespa/1000))+
geom_point(size=.8, colour='darkblue')+
geom_smooth(method='lm', se=FALSE, colour='red')+
labs(x='Juro Real (% a.a.)', y='Ibovespa (Mil Pontos)',
title='Juro Real vs. Ibovespa',
caption='Fonte: analisemacro.com.br')

Como dito, há uma correlação negativa entre o índice Bovespa e o juro real. Aí está, basicamente, a raiz da euforia que temos visto no mercado financeiro brasileiro, a despeito do crescimento econômico ainda bastante aquém do desejado. O ponto principal, por suposto, é saber até quando vai essa euforia. E isso passa por saber se o atual nível de juro real será mantido no futuro próximo.

Ao longo dos últimos anos, vimos a aprovação de um conjunto importante de reformas estruturais. Em particular, como visto na edição 71 do Clube do Código, a aprovação do teto de gastos teve como efeito reduzir o juro neutro da economia brasileira - o nível de juro real compatível com hiato do produto nulo em uma Curva IS estacionária.

Um ponto importante, entretanto, é saber o quanto essas reformas irão afetar a capacidade de poupança da economia brasileira. Isto porque, sabemos da teoria e da evidência que a taxa de poupança é um dos fatores mais importantes para determinar o nível de juro do país - ver, por exemplo, The Puzzle of Brazil's High Interest Rates. Infelizmente, como se sabe, a taxa de poupança brasileira é não só baixa como cadente nos últimos anos.

Para ilustrar esse ponto, podemos pegar os dados das Contas Nacionais Trimestrais através do pacote sidrar. O código abaixo implementa.


tab1 = get_sidra(api='/t/2072/n1/all/v/933,940/p/all')
pib = tab1$Valor[tab1$`Variável (Código)`==933]
poupanca = tab1$Valor[tab1$`Variável (Código)`==940]
fbcf = get_sidra(api='/t/1846/n1/all/v/all/p/all/c11255/93406/d/v585%200')$Valor

Com o código acima, pegamos os dados do PIB, da Poupança Bruta e da Formação Bruta de Capital Fixo. A seguir, nós tratamos os dados, de modo a colocar em um tibble as taxas de poupança e de investimento acumuladas em quatro trimestres.


dates_1 = seq(as.Date('1996-01-01'), as.Date('2019-09-01'),
by='3 month')
dates_2 = seq(as.Date('2000-01-01'), as.Date('2019-09-01'),
by='3 month')

df1 = tibble(dates=dates_1, fbcf=fbcf)
df2 = tibble(dates=dates_2, pib=pib, poupanca=poupanca)

data = inner_join(df1, df2, by='dates') %>%
mutate(tx_poupanca = (poupanca+lag(poupanca,1)+lag(poupanca,2)+
lag(poupanca,3))/(pib+lag(pib,1)+lag(pib,2)+lag(pib,3))*100) %>%
mutate(tx_investimento = (fbcf+lag(fbcf,1)+lag(fbcf,2)+
lag(fbcf,3))/(pib+lag(pib,1)+lag(pib,2)+lag(pib,3))*100) %>%
transform(dates = as.yearqtr(dates))

Com os dados prontos, podemos construir o gráfico a seguir.

Como se vê, temos um nível de poupança bastante baixo, mesmo se comparado a outros países de mesmo nível de renda per capita. Há muitas explicações para isso, como a existência de uma ampla rede de proteção social no país, incluindo aí a previdência pública, que desincentivaria a necessidade de poupança para a velhice ou a existência de universidades estatais subsidiadas para a classe média, dentre outras.

A dúvida, portanto, é se as reformas aprovadas ao longo dos últimos anos, bem como as que estão ainda em andamento no Congresso serão suficientes para mudar essa questão institucional estrutural, incentivando as famílias e o governo a aumentarem a poupança no médio e longo prazo. Esse ponto é crucial para saber se o juro que estamos experimentando no momento é de fato permanente ou há risco de voltarmos a flertar com juros nominais de um dígito quando a economia conseguir reduzir a ociosidade.

Não é uma questão simples de responder posto que envolve uma economia política bastante complexa. Em particular, passa pela continuação dos avanços reformistas que vivemos nos últimos anos. E isso não é nada trivial.

A conferir...

__________________________



(*) O código completo desse comentário estará logo mais no Clube do Código.

(**) Aprenda a fazer análises como essa com nossos Cursos Aplicados de R.

📩 Quem lê o dado decide melhor

Inflação, juros e atividade não se leem no olho — se leem com método. No Boletim AM eu mostro, todo dia, a estatística, a econometria e a IA por trás da leitura de conjuntura. Com a fonte, com a ressalva e com o código quando ele importa.

Receber o Boletim AM → Todo dia no seu e-mail. Gratuito, e sai num clique.

Compartilhe esse artigo

Facebook
Twitter
LinkedIn
WhatsApp
Telegram
Email
Print
Análise Macro © 2011 / 2026

comercial@analisemacro.com.br – Rua Visconde de Pirajá, 414, Sala 718
Ipanema, Rio de Janeiro – RJ – CEP: 22410-002

como podemos ajudar?

Preencha os seus dados abaixo e fale conosco no WhatsApp