Datasets
Point-in-time macro data API (vintage series)
Macro series are revised, and most databases quietly keep only the latest value. That is fine for a chart and fatal for a backtest. A strategy that reads today's revised GDP for a date years ago is trading on information nobody had, and the resulting equity curve is fiction that looks like alpha.
Hindcast stores macro series bitemporally: each observation has the period it describes and the date it was released, so every historical vintage stays queryable. Ask for a series as of a past date and you get the numbers a desk would have had on the terminal that morning, including the first print that later got revised away.
This is the dataset the product is named after. A hindcast — replaying history using only what was knowable at each moment — is impossible without vintages, which is why they are the foundation rather than a feature. Coverage starts with the headline US and Brazilian series and extends in the order the waitlist votes for.
hindcast — session
previewhindcast> US GDP growth for 2023-Q4 as it stood on 2024-01-25
→ tool: macro_series { series:"us_gdp_growth", period:"2023-Q4", as_of:"2024-01-25" }
✓ the advance estimate, not the later revision
source: BEA release calendar — every vintage retained separately
What's covered
- Every release vintage retained, including first prints later revised
- Observation date and release date stored separately on each value
- US headline series: output, prices, employment, activity surveys
- Brazilian series from BCB and IBGE on the same vintage model
- Release calendars so an agent knows what was scheduled and when
- Revision history queryable directly — see how a print moved over time
Join the waitlist — this page's dataset is already selected.
Questions
How is this different from a normal macro API?
A normal API answers what is the value now. This one answers what was the value believed to be on a given date. The second question is the one a backtest and an agent both need, and it cannot be reconstructed after the fact if only the latest value was stored.
Does this cover benchmark revisions and rebasings?
Yes — a rebasing is just another release, so it becomes a new vintage rather than a rewrite of history. The old basis stays queryable at the dates it was current.
Related
Join the waitlist. Vote the roadmap. First in, first served.