OBM agora ingere a família IMA: o benchmark canônico de renda fixa pública brasileira
Sete sub-índices IMA (IMA-B, IMA-B 5, IMA-B 5+, IRF-M, IRF-M 1, IRF-M 1+, IMA-S) servidos diariamente pela API. Histórico desde 2001, mesma fonte usada pelo mercado para marcação a mercado.
Lançamos hoje a cobertura completa da família IMA no OBM. Sete sub-índices — IMA-B, IMA-B 5, IMA-B 5+, IRF-M, IRF-M 1, IRF-M 1+ e IMA-S — agora têm página própria com cotação diária, gráfico histórico desde a inception (mais antigo: 2001-12-03 para IMA-S) e API pública.
Por que IMA importa
Comparar fundo de pré-fixado contra CDI é o erro mais comum do mercado retail. Em ciclo de Copom subindo, todo pré perde do CDI — não porque o gestor é ruim, mas porque é o que pré faz quando a curva sobe. O benchmark correto é IRF-M, que mede uma carteira teórica de LTN + NTN-F ponderada por valor de mercado. A diferença entre IRF-M e CDI em um ano vale facilmente 5 pontos percentuais — em 2019 o IRF-M fechou +13,9% em um ciclo de queda de juros, enquanto o CDI rodou ~6%; em 2021 fez -2,7% em um ciclo de alta. Sem essa série na mão, qualquer review de fundo pré é narrativo, não quantitativo.
Mesma lógica para fundos atrelados a IPCA (benchmark = IMA-B) e fundos DI puro / Tesouro Selic (benchmark = IMA-S). Os três cobrem o universo público de renda fixa brasileira — qualquer alocação em Tesouro Direto, e qualquer fundo que se proponha a "render IPCA + alguma coisa", se mede contra um deles.
O que entrou na cobertura
| Code | Universo | Inception |
|---|---|---|
| IMA-B | NTN-B (Tesouro IPCA+) | 2003-09-16 |
| IMA-B 5 | NTN-B prazo até 5 anos | 2008-01-02 |
| IMA-B 5+ | NTN-B prazo > 5 anos | 2008-01-02 |
| IRF-M | LTN + NTN-F (pré-fixados) | 2003-09-16 |
| IRF-M 1 | Pré-fixados prazo até 1 ano | 2008-01-02 |
| IRF-M 1+ | Pré-fixados prazo > 1 ano | 2008-01-02 |
| IMA-S | LFTs (Tesouro Selic) | 2001-12-03 |
22+ anos de série diária para os mais antigos, ~6000 linhas por código. Atualização por volta das 19h BRT, depois do fechamento dos preços de marcação a mercado das NTN-B. Nosso scheduler roda no mesmo intervalo (19:00–19:30 BRT, escalonado por código para não herd-fail uma família inteira em caso de hiccup).
Como consultar
Listagem: /benchmarks. Card grid mobile-first com último valor e link para detalhe — IMAs aparecem agrupados na nova subcategoria "Renda Fixa Pública".
Detalhe por sub-índice: /benchmarks/ima-b, /benchmarks/ima-s, etc.
API:
curl -H "X-API-Key: $API_KEY" \
"$API/v1/assets/benchmarks/IMA_S/prices?start_date=2026-01-01"
Resposta — mesmo contrato JSON que CDI e IPCA:
{
"code": "IMA_S",
"quotes": [
{
"date": "2026-05-05",
"value": 0,
"daily_factor": 1.00010715,
"index_number": 8518.852543,
"is_projected": false
}
]
}
index_number é o "Número Índice" cumulativo (base 1000 na inception). daily_factor é o quociente diário (today / prev) — útil para compor retornos custom sem ter que reprocessar a série inteira. value fica zero para essas séries (sem taxa diária canônica como CDI tem).
O que ficou de fora
Cinco sub-índices IMA adicionais — IMA-Geral, IMA-Geral ex-C, IRF-M P2, IRF-M P3, IMA-B 5 P2 — têm uso retail mais residual. Adicioná-los é uma migration de seed pura (zero código novo) quando a demanda surgir.
Curvas a termo (DI Futuro, cupom IPCA, cupom cambial, ETTJ NTN-B real) ficaram fora deste milestone. Tracking em milestone próprio para quando aparecer caso de uso retail concreto puxando.