---
id: financeiros/indexadores-oficiais
industria: Serviços financeiros
uso: específico
esforco: baixo
grao: Dia útil x índice (curvas diárias); mês x índice (séries mensais); dia x moeda (câmbio)
---

# Indexadores oficiais

CDI, Selic, IPCA, IGP-M, expectativas Focus e PTAX lidos direto do Banco Central, com dias úteis, realizado e previsto marcados, prontos para corrigir valores, acumular juros e converter moeda sem planilha.

## Resumo executivo

**Para quem:** Empresas de crédito, plataformas de funding, gestoras e escritórios de investimento que calculam juros, rendimento ou correção atrelados a índice.

**O que resolve**

- Os índices vêm da fonte oficial todo dia, sem arquivo manual que para de ser atualizado.
- Acumulado entre duas datas é calculado sempre do mesmo jeito, com dias úteis e feriados.
- Previsto e realizado ficam na mesma série, marcados, e o realizado substitui o previsto quando sai.

**Por que importa:** Juros pós-fixados, dividendos, dívida e correção monetária dependem de um índice numa data exata. Quando cada planilha usa uma taxa, uma convenção de dias e uma data de referência, o mesmo contrato dá valores diferentes no financeiro, no comercial e no relatório ao investidor. Uma dimensão única de índices é o que permite projetar juros e conferir o que foi cobrado.

**Perguntas de negócio que responde**

- Qual o CDI acumulado entre a data do aporte e hoje?
- Qual a Selic prevista para dezembro segundo o Focus?
- Quanto rende este contrato a 100% do CDI e a CDI mais 2% ao ano até o vencimento?
- Qual a PTAX de venda usada para converter as comissões em dólar do mês?
- Qual o IPCA acumulado em 12 meses para reajustar este contrato?
- A série de câmbio parou de atualizar em algum dia útil?

**O que você precisa**

- Fontes REST para o SGS, o Focus e a PTAX do Banco Central configuradas na Nekt
- Uma tabela calendário com feriados nacionais e a marca de dia útil
- Para cada contrato ou produto: índice, percentual ou spread, convenção de dias e data de referência

**O que você recebe**

- Curvas diárias por dia útil com taxa ao dia, ao ano, status e fonte
- Séries mensais de inflação e expectativas, com realizado e previsto
- Câmbio de fechamento por dia, pronto para o cruzamento
- Um agente de IA que responde sobre índices com a convenção certa

## Detalhado

### O problema

A taxa do CDI vem ao dia, a Selic do Focus vem ao ano e por ano de referência, o IPCA vem como variação do mês e a PTAX tem vários boletins por dia. Quem soma taxas diárias, mistura base 252 com 365 ou pega o câmbio da hora errada chega a um juro que não bate com o extrato. E quando a fonte é um arquivo baixado à mão, ele para de ser atualizado num dia qualquer e as contas seguem rodando com o último valor.

### Regras de negócio

1. **Fonte oficial por API, nunca arquivo manual.** Leia as séries direto do SGS e do Olinda do Banco Central, com carga diária. Um arquivo de câmbio mantido numa pasta parou de ser alimentado e os cálculos seguiram com o último valor por meses. Séries longas podem vir particionadas por período (por década, por exemplo); junte tudo numa tabela sem duplicar a fronteira. (Evite: Copiar a taxa do site para uma planilha compartilhada.)
2. **Uma linha por dia útil, com calendário próprio.** As curvas diárias têm uma linha por dia útil, pela tabela calendário com feriados nacionais fixos e móveis (Carnaval, Sexta-feira Santa e Corpus Christi calculados pela Páscoa). Dia útil sem publicação dentro do período realizado repete o último valor publicado, com a marca de preenchido. Fim de semana e feriado não têm linha. (Evite: Gerar uma linha por dia corrido, ou deixar buraco em dia útil sem publicação.)
3. **Taxa ao dia e ao ano pela base 252.** CDI e Selic diários do SGS vêm em percentual ao dia. Taxa ao ano = (1 + taxa ao dia)^252 - 1; taxa ao dia = (1 + taxa ao ano)^(1/252) - 1. Sempre que uma taxa anual for ajustada (por exemplo, com spread), recalcule a diária depois do ajuste, nunca antes. (Evite: Dividir a taxa anual por 252 ou por 365.)
4. **Acumulado é produto, nunca soma.** O fator entre duas datas é o produto de (1 + taxa ao dia) em cada dia útil do intervalo, com a data inicial incluída e a final excluída, ou a convenção do contrato. Percentual do CDI aplica o percentual à taxa diária antes do produto; CDI mais spread compõe o spread anual convertido para diário. Inflação mensal acumula pelo produto de (1 + variação do mês). (Evite: Somar as taxas diárias ou mensais, ou usar a média do período.)
5. **Convenção de dias declarada por produto.** Pós-fixado em CDI e Selic usa dias úteis sobre 252. Alguns sistemas calculam pré-fixado em dias corridos sobre 365. O mesmo título dá valores diferentes nas duas convenções. Guarde a convenção junto do produto e use a mesma em todos os relatórios. (Evite: Aplicar dias corridos a um contrato em dias úteis, ou o contrário.)
6. **Realizado tem prioridade sobre previsto.** A série consolidada junta realizado e previsto com status e fonte em cada linha. Previsto da Selic vem da última mediana do Focus por ano de referência, levada a trilha mensal em degraus de 0,50 ou 0,25 ponto percentual nos meses de reunião do Copom; depois do último ano do Focus, o último nível fica constante. CDI previsto = Selic prevista menos 0,10 ponto percentual ao ano. Quando sai o realizado, ele substitui o previsto daquela data. (Evite: Guardar previsto e realizado em tabelas soltas, ou deixar o previsto depois de publicado o realizado.)
7. **A data de referência é regra do contrato.** Cada contrato diz qual valor do índice usar: a Selic do mês anterior, a observação do dia 20 (ou a mais próxima) para um ciclo mensal, o IPCA da competência ou o acumulado de 12 meses. Correção monetária e juros podem usar índices diferentes na mesma verba, cada um com sua competência. Grave a regra no contrato e faça o cruzamento pela data de referência, não pela data do cálculo. (Evite: Usar o índice do dia em que o cálculo rodou.)
8. **Spread, percentual e limitador depois do índice.** Pós-fixado é índice mais spread ou percentual do índice, e alguns contratos têm teto: aplica-se o menor entre a taxa calculada e o limitador. Não confunda CDI mais spread com percentual do CDI. Em relatórios de corretora, o campo que distingue os dois costuma estar certo só para CDI e repetir o índice para os demais. (Evite: Tratar 110% do CDI e CDI + 1,10% como a mesma taxa.)
9. **Câmbio: PTAX de venda de fechamento, um valor por dia.** Da PTAX, use a cotação de venda do boletim de fechamento, o último do dia. Deduplique por dia antes de qualquer cruzamento, para não multiplicar linhas. Converta cada valor pelo câmbio da data do fato e guarde o valor original, a moeda, a taxa e a data da taxa. Quando a fonte já traz o câmbio usado (comissão em dólar com câmbio de fechamento), use o dela. (Evite: Cruzar com todos os boletins do dia, ou converter o mês inteiro pela taxa de hoje.)

### Séries e onde buscar

Banco Central, com o código da série e a unidade em que ela chega.

- **SGS 12, % ao dia, por dia útil** → CDI diário (`sgs 12`)
- **SGS 4391, % no mês** → CDI acumulado no mês (`sgs 4391`)
- **SGS 11, % ao dia, anualizar com 252** → Selic diária (`sgs 11`)
- **SGS 4390, % no mês** → Selic acumulada no mês (`sgs 4390`)
- **SGS 433, variação % do mês** → IPCA (`sgs 433`)
- **SGS 189, variação % do mês** → IGP-M (`sgs 189`)
- **Olinda Expectativas, mediana anual por ano de referência** → Focus (`ExpectativasMercadoAnuais`)
- **Olinda PTAX, cotacaoVenda do último boletim do dia** → Dólar PTAX (`CotacaoDolarPeriodo`)

### Definições

| Métrica | Definição |
|---|---|
| Taxa ao dia | taxa diária publicada no SGS em decimal, ou (1 + taxa ao ano)^(1/252) - 1 quando a origem é anual |
| Taxa ao ano | (1 + taxa ao dia)^252 - 1, por dia útil |
| Fator acumulado | produto de (1 + taxa ao dia) nos dias úteis entre a data inicial e a final, pela convenção do contrato |
| Percentual do CDI | fator acumulado com (1 + percentual x CDI ao dia) em cada dia útil |
| CDI mais spread | fator acumulado com (1 + CDI ao dia) x (1 + spread ao dia) em cada dia útil, com o spread anual convertido pela base 252 |
| Selic do mês (ciclo mensal) | Selic anualizada na observação do dia 20 ou na mais próxima, realizada quando houver, prevista quando não |
| Inflação acumulada em 12 meses | produto de (1 + variação mensal) dos 12 meses de competência anteriores à referência, menos 1 |
| PTAX do dia | cotação de venda do último boletim de fechamento publicado no dia |

### Armadilhas

- **Arquivo de câmbio parado.** A cotação vinha de um arquivo numa pasta compartilhada, que parou de ser atualizado. O preço médio em dólar seguiu calculado com uma taxa velha até alguém estranhar. Como evitar: Troque pela API oficial e alerte dia útil sem cotação.
- **Linhas multiplicadas no cruzamento.** A tabela de câmbio tinha mais de uma cotação por dia, e o cruzamento com as ordens duplicou posições. Como evitar: Uma cotação por dia antes do cruzamento.
- **Pós-fixado sem índice.** Uma visão de renda fixa calculava resgate só para pré-fixado e deixava o pós-fixado vazio, porque a Selic não estava na base. Como evitar: Cruze os papéis pós-fixados com a curva diária do índice.
- **Consulta que funciona e transformação que falha.** Uma consulta validada no editor falhou ao virar transformação, porque o motor de execução era outro e tratava funções de data e de array de outro jeito. Como evitar: Valide no mesmo motor em que a transformação vai rodar.
- **Horizonte curto demais.** Contratos de dívida vencem até dez anos à frente, depois do último ano coberto pelo Focus. Sem uma regra para esse trecho, o motor de juros fica sem taxa no fim do contrato. Como evitar: Gere a curva até o maior vencimento, com o último nível do Focus constante.

### Teste de aceitação

- [ ] A curva diária tem exatamente uma linha por dia útil do calendário no período, e nenhuma em fim de semana ou feriado.
- [ ] O CDI acumulado de um mês fechado pela curva diária bate com a série SGS 4391 do mesmo mês (diferença abaixo de 0,01 ponto percentual).
- [ ] Para toda data com realizado publicado, a série consolidada traz status realizado.
- [ ] A tabela de câmbio tem no máximo uma cotação por dia, e todo dia útil dos últimos 30 dias tem cotação ou alerta.
- [ ] Rodar a carga de novo não muda nenhum valor realizado já gravado.

### Context document

```text
Indexadores oficiais
- Fonte: API do Banco Central. CDI diário SGS 12, CDI no mês SGS 4391, Selic diária SGS 11, Selic no mês SGS 4390, IPCA SGS 433, IGP-M SGS 189, Focus em Olinda Expectativas, PTAX em Olinda.
- Curvas diárias: uma linha por dia útil da tabela calendário. Dia útil sem publicação repete o último valor, marcado.
- Taxa ao ano = (1 + taxa ao dia)^252 - 1. Taxa ao dia = (1 + taxa ao ano)^(1/252) - 1.
- Acumulado entre datas = produto de (1 + taxa ao dia) nos dias úteis. Nunca some taxas nem tire média.
- Percentual do CDI: aplique o percentual à taxa diária. CDI mais spread: componha o spread convertido para diário. Limitador: o menor entre a taxa calculada e o teto.
- Convenção de dias por produto: <DU/252 para pós-fixado; DC/365 para <produto>>.
- Série consolidada: realizado tem prioridade; previsto vem do Focus em degraus nos meses de Copom. CDI previsto = Selic prevista - 0,10 p.p.
- Data de referência: a do contrato (ex.: Selic do mês anterior, observação do dia 20). Nunca a data do cálculo.
- Câmbio: PTAX de venda do último boletim do dia, uma cotação por dia, pela data do fato. Guarde valor original, taxa e data da taxa.
- Sempre diga se o número é realizado ou previsto e qual a data da última publicação.
Exceções por cliente:
- <cliente>: o produto <produto> usa <índice> do <dia> do mês anterior, com teto de <x>% ao ano.
- <cliente>: comissões em dólar já chegam com o câmbio de fechamento da corretora; não reconverter.
```

### Variações

- **Correção monetária de créditos:** Verbas corrigidas por um índice de inflação até uma data e com juros pela Selic depois, cada parte com sua competência e seu acumulado.
- **Comissões e posições em dólar:** Receitas de mercado internacional convertidas pelo câmbio de fechamento da data, com o valor em dólar preservado.
- **Reajuste de contratos:** Aluguel, mensalidade ou parcela reajustados por IPCA ou IGP-M acumulado em 12 meses no aniversário do contrato.
