Como foi feito

Nada aqui fica guardado em servidor. A cada acesso, o seu navegador chama a API pública da PTAX do Banco Central, que libera chamadas de qualquer site (CORS), e monta os gráficos na hora. São três chamadas:

1. Fechamentos de uma moeda num período

GET https://olinda.bcb.gov.br/olinda/servico/PTAX/versao/v1/odata/CotacaoMoedaPeriodo(moeda=@moeda,dataInicial=@dataInicial,dataFinalCotacao=@dataFinalCotacao)
    ?@moeda='USD'
    &@dataInicial='10-21-2026'
    &@dataFinalCotacao='10-28-2026'
    &$filter=tipoBoletim eq 'Fechamento'
    &$format=json

2. Os boletins de um dia

GET https://olinda.bcb.gov.br/olinda/servico/PTAX/versao/v1/odata/CotacaoMoedaDia(moeda=@moeda,dataCotacao=@dataCotacao)
    ?@moeda='USD'
    &@dataCotacao='10-28-2026'
    &$format=json

3. A lista de moedas

GET https://olinda.bcb.gov.br/olinda/servico/PTAX/versao/v1/odata/Moedas?$format=json

Cada registro traz cotacaoCompra, cotacaoVenda, paridadeCompra, paridadeVenda, dataHoraCotacao e tipoBoletim.

As regras da API que o dashboard respeita

  • Datas no formato MM-DD-AAAA, entre aspas simples. No formato AAAA-MM-DD a API não dá erro: devolve uma lista vazia.
  • Fim de semana e feriado não têm PTAX. O período volta sem esses dias, e um período só de fim de semana volta vazio.
  • Data inicial depois da final também volta vazio, sem erro. Uma data que não existe (mês 13) volta erro 500. Por isso o dashboard valida as datas antes de chamar.
  • A partir de 01/07/1994. A API tem dólar desde 1984, mas antes do Real os valores estão em cruzeiros e cruzados e não se comparam com os de hoje. O euro começa em 31/12/1998.
  • Cinco boletins por dia: abertura (por volta das 10h), intermediários (11h, 12h e 13h) e o fechamento. A PTAX de fechamento é a média das 4 consultas.
  • O nome do fechamento muda conforme a chamada: Fechamento na busca por período e Fechamento PTAX na busca do dia.
  • Um dia pode vir duplicado (aconteceu em 23/04/2025). O dashboard usa um valor por dia: o último.

Os cálculos

  • Variação: (valor final − valor inicial) ÷ valor inicial.
  • No ano: contra o último fechamento do ano anterior. Em 12 meses: contra o último fechamento até 365 dias antes.
  • Média de 21 dias úteis: média dos 21 fechamentos anteriores, incluindo o dia (cerca de um mês de pregões).
  • Volatilidade: desvio padrão dos retornos diários (logaritmo de hoje ÷ ontem) multiplicado por √252, os dias úteis de um ano.
  • Moedas frente ao real: cada moeda dividida pelo seu primeiro valor no período, × 100.

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