Você abre o jornal e lê: "Brasil tem o maior juro real do mundo". O que isso significa, e como calcular para sua carteira? A fórmula correta usa a equação de Fisher, não uma simples subtração. Mostramos como — e como automatizar usando a API da brapi.dev em uma única requisição.
Em 2026, com Selic a 14,5% e IPCA12m em ~4%, todo investidor brasileiro quer saber: quanto, de verdade, meu dinheiro está rendendo acima da inflação? A resposta é o juro real, e a maioria das pessoas calcula errado.
Este post explica a fórmula correta, mostra o erro comum, e dá o código pronto para você integrar a API da brapi.dev em sua calculadora ou dashboard.
Juro nominal vs. juro real
Juro nominal é a taxa que aparece no produto: Selic 14,5% a.a., CDB 110% do CDI, Tesouro Selic = Selic, etc.
Juro real é o que sobra depois de descontar a inflação. É o quanto seu poder de compra cresceu de verdade.
Exemplo intuitivo: se sua Selic rendeu 14,5% no ano e os preços subiram 4%, seu poder de compra cresceu aproximadamente 10,5% — mas a conta exata não é uma subtração simples.
A fórmula correta: equação de Fisher
A relação entre taxas nominais (i), reais (r) e inflação (π) é:
(1 + r) = (1 + i) / (1 + π)Isolando r:
r = ((1 + i) / (1 + π)) - 1Em código:
function juroReal(taxaNominal: number, inflacao: number): number {
// Ambas em % (ex: 14.5 e 4.14)
return ((1 + taxaNominal / 100) / (1 + inflacao / 100) - 1) * 100;
}
juroReal(14.5, 4.14); // 9.95 (aprox. 9,95% a.a.)Por que NÃO basta subtrair
A aproximação r ≈ i - π (chamada Fisher linearizada) só funciona com
inflações próximas de zero. Com IPCA acima de 4%, o erro pode chegar a 1
ponto percentual:
| Selic | IPCA | Subtração ingênua | Fisher correto | Diferença |
|---|---|---|---|---|
| 14,5% | 4,14% | 10,36% | 9,95% | 0,41 p.p. |
| 13% | 5% | 8,00% | 7,62% | 0,38 p.p. |
| 9% | 10% | -1,00% | -0,91% | 0,09 p.p. |
Para fundos profissionais, planilhas de risco e tarifas regulatórias, sempre use a fórmula completa.
Juro real ex-ante vs. ex-post
Existem dois "juros reais" e eles respondem perguntas diferentes:
Juro real ex-ante (a expectativa)
Calculado com a Selic atual e a inflação esperada (IPCA12m projetado pelo Focus, ou IPCA12m realizado como proxy). É o que o investidor olha para decidir entre Tesouro Selic e Tesouro IPCA+.
Juro real ex-post (o que de fato aconteceu)
Calculado depois do período, com a inflação realizada. É o que aparece no seu extrato no fim do ano.
A API da brapi.dev fornece ipca12m (acumulado em 12 meses, realizado),
que é a melhor proxy para o ex-ante quando você não tem assinatura do
relatório Focus. Para o ex-post mensal, use ipca (variação do mês) e
componha a inflação acumulada.
Cálculo em uma única requisição: API brapi.dev
A maneira mais limpa de obter Selic + IPCA12m simultaneamente é via
/api/v2/macro/latest. Uma única chamada, dois indicadores:
curl -H "Authorization: Bearer SEU_TOKEN" \
"https://brapi.dev/api/v2/macro/latest?symbols=selic,ipca12m"Resposta:
{
"results": [
{
"series": { "slug": "selic", "name": "Taxa Selic", "unit": "percentPerYear" },
"latest": { "date": "2026-04-30", "value": 14.5 }
},
{
"series": { "slug": "ipca12m", "name": "IPCA 12 meses", "unit": "percent" },
"latest": { "date": "2026-03-01", "value": 4.14 }
}
],
"requestedAt": "2026-04-30T12:00:00.000Z",
"took": 18
}TypeScript: calculadora pronta
type MacroLatest = {
results: Array<{
series: { slug: string; name: string; unit: string };
latest: { date: string; value: number } | null;
}>;
};
async function getJuroRealAtual() {
const res = await fetch(
'https://brapi.dev/api/v2/macro/latest?symbols=selic,ipca12m',
{ headers: { Authorization: `Bearer ${process.env.BRAPI_TOKEN}` } },
);
const data: MacroLatest = await res.json();
const selic = data.results.find((r) => r.series.slug === 'selic')?.latest?.value;
const ipca = data.results.find((r) => r.series.slug === 'ipca12m')?.latest?.value;
if (selic == null || ipca == null) {
throw new Error('Série indisponível');
}
const juroReal = ((1 + selic / 100) / (1 + ipca / 100) - 1) * 100;
return {
selic,
ipca12m: ipca,
juroRealEx_ante: Number(juroReal.toFixed(2)),
};
}Python
import os
import requests
def juro_real_atual() -> dict:
response = requests.get(
'https://brapi.dev/api/v2/macro/latest',
params={'symbols': 'selic,ipca12m'},
headers={'Authorization': f"Bearer {os.environ['BRAPI_TOKEN']}"},
)
response.raise_for_status()
series = {item['series']['slug']: item['latest']['value']
for item in response.json()['results']
if item['latest']}
selic = series['selic']
ipca = series['ipca12m']
juro_real = ((1 + selic / 100) / (1 + ipca / 100) - 1) * 100
return {
'selic': selic,
'ipca12m': ipca,
'juro_real_ex_ante': round(juro_real, 2),
}Análise histórica do juro real
Para comparar com o passado, traga séries históricas da Selic e do IPCA12m:
async function juroRealHistorico(years: number) {
const today = new Date().toISOString().slice(0, 10);
const from = new Date();
from.setFullYear(from.getFullYear() - years);
const startDate = from.toISOString().slice(0, 10);
const res = await fetch(
`https://brapi.dev/api/v2/macro?symbols=selic,ipca12m&startDate=${startDate}&endDate=${today}&sortOrder=asc&limit=10000`,
{ headers: { Authorization: `Bearer ${process.env.BRAPI_TOKEN}` } },
);
const { results } = await res.json();
const selic = results.find((r) => r.series.slug === 'selic').observations;
const ipca = results.find((r) => r.series.slug === 'ipca12m').observations;
// Selic é diária; IPCA12m é mensal. Use o IPCA do mês para cada ponto da Selic.
const ipcaByMonth = new Map<string, number>();
for (const o of ipca) {
ipcaByMonth.set(o.date.slice(0, 7), o.value);
}
return selic.map((s) => {
const ipcaVal = ipcaByMonth.get(s.date.slice(0, 7));
if (ipcaVal == null) return null;
return {
date: s.date,
selic: s.value,
ipca12m: ipcaVal,
juroReal: ((1 + s.value / 100) / (1 + ipcaVal / 100) - 1) * 100,
};
}).filter((x): x is NonNullable<typeof x> => x !== null);
}Plote o array juroReal em uma biblioteca de charting para ver a evolução
histórica. Em ciclos de aperto monetário (como 2022-2023 e 2025-2026), o
juro real brasileiro fica nas alturas (~9-10% a.a.); em ciclos de afrouxamento
ele cai para ~3-4%.
O juro real do Brasil é "alto" ou "normal"?
Para responder, compare com:
O juro neutro
O juro neutro é o nível de juros real que não estimula nem desacelera a economia. O BCB estima em ~5% a.a. para o Brasil (acima da média emergente, devido à carga fiscal e prêmio de risco).
- Juro real > 5%: política monetária contracionista (segura inflação, esfria atividade)
- Juro real ≈ 5%: neutro
- Juro real < 5%: política expansionista (estimula crédito e atividade)
Em maio de 2026, com juro real ex-ante de ~9,95%, estamos em território fortemente contracionista — coerente com a meta do COPOM de fazer o IPCA convergir.
Juro real internacional
| País | Juro real aprox. (2026) |
|---|---|
| Brasil | 9-10% |
| México | 5-6% |
| EUA | 1,5-2% |
| Zona do Euro | 0-0,5% |
| Japão | -1% |
Esse diferencial é o que atrai carry trade internacional para títulos soberanos brasileiros — e também o que torna a Selic um benchmark difícil de bater para investimentos em ações.
Implicações para sua carteira
| Cenário | Juro real ex-ante | Decisão tradicional |
|---|---|---|
| > 8% | Renda fixa pré-fixada e Tesouro Selic muito atrativos | Aumentar RF |
| 4-8% | Equilíbrio: renda fixa + ações faz sentido | Diversificar |
| < 4% | Renda variável e ativos reais ganham apelo relativo | Reduzir RF |
| Negativo | Cenário raro; foque em IPCA+ e ativos reais | Hedge contra inflação |
Tesouro IPCA+ vs. Tesouro Selic
Quando o juro real ex-ante está alto, o Tesouro IPCA+ longo trava esse juro alto por décadas. Já o Tesouro Selic acompanha as quedas futuras. Em 2026 (juro real ~10%), travar IPCA+ longo é uma das estratégias clássicas.
Erros comuns
- Subtrair em vez de aplicar Fisher. Erro de até 1 p.p. com inflação alta — significativo em comparações de produtos.
- Comparar Selic anual com IPCA mensal. Sempre use IPCA acumulado em
12 meses (
ipca12m), nunca o mensal (ipca). - Usar Selic Meta vs. Selic Overnight inconsistentemente. Para
benchmark de Tesouro Selic, use a Selic Meta (
selic). A Overnight (selicovernight) é para cálculos do CDI e do mercado interbancário. - Esquecer impostos. O juro real líquido considera IR sobre o rendimento. Em CDB, o IR regressivo (15-22,5%) reduz o juro real significativamente em prazos curtos.
- Usar IGP-M no lugar do IPCA. O IGP-M (
igpm) é mais volátil e reflete preços ao produtor. Para carteiras de varejo, use IPCA12m.
Endpoints relacionados
- 📊 API de Macroeconomia (
/api/v2/macro) - 📈 Documentação completa dos slugs (Selic, IPCA, CDI...)
- 💰 CDI histórico via API
- 🌎 API de Macroeconomia: 15 indicadores BCB
A próxima vez que alguém disser "o juro real do Brasil tá em X%", você saberá conferir em uma única requisição. Crie sua conta em brapi.dev e teste.
