Como foi feito

Nada aqui fica guardado em servidor. A cada acesso, o seu navegador chama a API pública de Expectativas de Mercado do Banco Central, a mesma do Relatório Focus, que libera chamadas de qualquer site (CORS), e monta os gráficos na hora. São cinco chamadas:

1. A evolução de um indicador

GET https://olinda.bcb.gov.br/olinda/servico/Expectativas/versao/v1/odata/ExpectativasMercadoAnuais
    ?$filter=Indicador eq 'IPCA' and baseCalculo eq 0
        and Data ge '2025-11-06' and Data le '2026-11-06'
        and DataReferencia ge '2026' and DataReferencia le '2029'
    &$select=Data,DataReferencia,Mediana,Minimo,Maximo,numeroRespondentes
    &$orderby=Data&$top=100000&$format=json

2. O Focus de um dia, para o resumo e a dispersão

GET https://olinda.bcb.gov.br/olinda/servico/Expectativas/versao/v1/odata/ExpectativasMercadoAnuais
    ?$filter=baseCalculo eq 0 and Data ge '2026-07-24' and Data le '2026-10-30'
        and (DataReferencia eq '2026' or DataReferencia eq '2027')
        and (Indicador eq 'IPCA' or Indicador eq 'PIB Total' or Indicador eq 'Câmbio' or ...)
    &$select=Indicador,IndicadorDetalhe,Data,DataReferencia,Mediana&$format=json

3. A Selic reunião a reunião

GET https://olinda.bcb.gov.br/olinda/servico/Expectativas/versao/v1/odata/ExpectativasMercadoSelic
    ?$filter=baseCalculo eq 0 and Data ge '2026-09-25' and Data le '2026-10-30'
    &$format=json

4. As projeções mês a mês

GET https://olinda.bcb.gov.br/olinda/servico/Expectativas/versao/v1/odata/ExpectativaMercadoMensais
    ?$filter=baseCalculo eq 0 and Data eq '2026-10-30'
    &$format=json

5. A meta Selic vigente (série 432 do SGS)

GET https://api.bcb.gov.br/dados/serie/bcdata.sgs.432/dados?formato=json&dataInicial=20/09/2026&dataFinal=30/10/2026

Cada registro traz Mediana, Media, DesvioPadrao, Minimo, Maximo e numeroRespondentes: são estatísticas das projeções das instituições, não a projeção de cada uma.

As regras da API que o dashboard respeita

  • A data é texto, no formato AAAA-MM-DD e entre aspas simples. Em dd/mm/aaaa a API não dá erro: devolve uma lista vazia. Sem as aspas, responde 400 (The types 'Edm.String' and 'Edm.Date' are not compatible).
  • Fim de semana, feriado, data futura, data que não existe e intervalo invertido voltam vazios, sem erro. Por isso o dashboard valida o período antes de chamar.
  • O Focus sai uma vez por semana. As estatísticas são de cada dia útil, mas a semana inteira entra no primeiro dia útil da semana seguinte, junto com o relatório: numa sexta-feira, o dado mais recente ainda é o da sexta anterior.
  • O nome do indicador tem que ser exato, com acento e maiúsculas: 'Câmbio', 'PIB Total', 'Dívida líquida do setor público'. Com 'ipca', a lista volta vazia.
  • O recurso mensal tem o nome no singular (ExpectativaMercadoMensais); os outros estão no plural (ExpectativasMercadoAnuais, ExpectativasMercadoSelic). Trocar um pelo outro dá erro 400.
  • Base de cálculo: baseCalculo eq 0 usa as respostas dos últimos 30 dias, a base do relatório; 1 usa só as dos últimos 5 dias úteis e reage mais rápido. A base 0 começa em 03/01/2000; a 1, em 02/01/2014 (na Selic por reunião, em 31/03/2021).
  • Cada ano entra na pesquisa quatro anos antes e sai no começo do janeiro seguinte: as projeções para 2026 começaram em 11/01/2022, e as de 2025 foram até 08/01/2026.
  • A balança comercial vem em três linhas, separadas pelo campo IndicadorDetalhe: Saldo, Exportações e Importações. O resumo usa o saldo.
  • Cada recurso tem os seus campos: no anual, DataReferencia é o ano ('2026'); no mensal, mês e ano ('10/2026'); o da Selic troca esse campo por Reuniao ('R7/2026', a 7ª reunião do Copom no ano).
  • $top grande não é problema: 14.640 registros voltam em menos de um segundo, e cinco anos de um indicador somam cerca de 400 KB.
  • A SGS às vezes responde 304 sem corpo, mesmo a um pedido que não perguntou se o dado mudou: aconteceu em 06/11/2026 com uma janela de datas da série 432, para qualquer cliente. O dashboard pede a meta Selic sem cache e, num 304, tenta outra janela de datas, que para o servidor é outra URL.

Os cálculos

  • Na semana e em 4 semanas: a mediana mais recente contra a última até 7 e até 28 dias antes. No resumo, as três colunas de cada ano são essas mesmas datas.
  • Mudança: em pontos percentuais (p.p.) para taxas (%, % ao ano, % do PIB); em % para o câmbio; em US$ bilhões para conta corrente, balança e investimento direto, que podem ser negativos.
  • Semana: compara a mediana com a da semana anterior, arredondada a 2 casas como aparece na tabela; o número entre parênteses conta há quantas semanas seguidas o movimento se repete (até 13).
  • Selic em degraus: a taxa decidida numa reunião vale até a reunião seguinte. O ponto "Atual" é a meta vigente, da série 432 do SGS.
  • Mês a mês: a cor vai do azul (deflação) ao laranja (inflação), com a escala até o maior valor das linhas de inflação; câmbio e desocupação ficam sem cor.

Documentação oficial: API de Expectativas de Mercado (Olinda) e Dados Abertos do Banco Central.