Parameters, response columns and types are generated from the SQL catalog and
render under Endpoints → Macro in the sidebar. This page carries what a schema
cannot: what each unit means and the three series that are easy to misread.
Overview
Two functions over BACEN data Silo already ingests daily. Nothing is derived — no annualisation, compounding, averaging, mid rate or fill. IPCA is not here: it isinflation, with its own units and caveats.
macro_series(p_series, p_from, p_to)— one SGS series, oldest first.ptax(p_currency, p_from, p_to)— PTAX buy and sell for one currency.
The series
p_series takes the label or the SGS code. Read unit on every row before doing
arithmetic.
An IPCA label or code is refused with a pointer to
inflation; anything else
unknown raises 22023 listing the nine. Default window: 12 months for the daily
series, 120 for the monthly ones.
Three series that are easy to misread
SELIC_METAis published ahead. BACEN dates the target per calendar day and carries it forward to the next Copom meeting (on 2026-09-25 the series already ran to 2026-11-04). The default window ends today; an explicitp_toafter today can return those forward-dated rows.CDIandSELIC_DIARIAare per business day.0.050788is % per day, not per year. Compounding it to an annual rate is your calculation — do it in the notebook and say so.POUPANCAis the old-rule return, per anniversary day. SGS 25 is BACEN’s Depósitos de poupança até 03.05.2012 – Rentabilidade no período: one value per anniversary day, each the return over the month that starts on that date. It is not a calendar-month figure and not the return of deposits made after 2012-05-03.
PTAX
One row per currency and business day:buy_rate (compra) and sell_rate
(venda), BRL per one unit of the currency — JPY and ARS included. The
currencies are the ones Silo ingests (USD, EUR, GBP, JPY, ARS); an unknown code
raises 22023 listing the ones held.
BACEN prints up to five bulletins a day (opening, three intermediate, closing).
Silo keeps the last one it received, which for a completed day is the closing
PTAX — measured on 2026-09-22/23, the stored USD sell rate equals SGS 1 and
BACEN’s Fechamento bulletin to four decimals. The bulletin type is not stored.
A holiday has no row; nothing is filled.
Freshness
coverage() has a macro_series row (the newest elapsed
observation of any of the nine — their cadences differ, so read a monthly
series’ own last row before calling it late) and a ptax row. Each landed_at
is its own ingest: an SGS run never reports as PTAX freshness, or the reverse.
Limits
Both refuse above one 1,000-row page (22023); narrow p_from / p_to. A daily
series fits about three years per call.