Boletim de Fechamento
Boletim diário oficial com o close de ~155 moedas e metais preciosos vs BRL. Fonte canônica do OBM para cobertura ampla de câmbio.
O Boletim de Fechamento é a publicação oficial diária com o close de ~155 moedas + metais preciosos (XAU é o que aparece com mais frequência) vs BRL, com cotação compra/venda e paridade compra/venda vs USD. Publicado entre ~16h e 19h BRT em todo dia útil.
Por que existe
O PTAX strict só cobre 10 moedas — as que são consultadas diretamente com dealers de câmbio. Para o resto do mundo (rúpia indiana, peso argentino, renminbi chinês, won coreano, etc.), a paridade vs USD é calculada a partir de fontes externas e publicada já convertida em BRL no boletim diário.
Schema do arquivo
CSV semicolon-delimited, encoding latin-1, sem header. 8 colunas:
data;código;tipo;simbolo;cotacaoCompra;cotacaoVenda;paridadeCompra;paridadeVenda
30/04/2026;220;A;USD;5,67400000;5,67460000;1,00000000;1,00000000
30/04/2026;978;B;EUR;6,42500000;6,42560000;1,13234000;1,13235000
Decimal pt-BR (vírgula). cotacaoVenda é o close canônico em BRL/moeda — é esse o número que vai para asset_prices.value no OBM.
Cuidados
- Em feriados e fim de semana a resposta vem como 404. Ingest do OBM detecta por tamanho/content-type e ignora sem quebrar.
- Moedas hyperinflacionadas (VES, ARS) sofrem redenominações periódicas. Quando o código troca (VEB → VEF → VES), a série antiga fica truncada. O OBM mantém o histórico só do código corrente.
No OBM
A ingest diária roda às 19:30 BRT (sync-fx-daily em app/tasks/fx.py). Backfill histórico (backfill_fx_history) faz dia-a-dia o mesmo arquivo desde 2015-01-05 (limite real do retentor histórico), cobrindo todas as ~155 moedas — 30-50min one-shot na ativação. Para USD anterior a 2015, consumir o benchmark PTAX_USD (M1).