Historic return rates from bonds available at https://bundesschatz.at, shown as a chart and table in a Next.js app.
- Interactive chart and data table for multiple bond terms.
- Date-range filtering and tabbed chart/table views.
- Data sourced automatically from https://bundesschatz.at every weekday via a scheduled GitHub Actions workflow.
- Node.js 24 (see
.nvmrc/.node-version). - pnpm (see
package.jsonpackageManagerentry).
Install dependencies:
pnpm installRun the dev server:
pnpm devBuild for production (static page output is in out directory):
pnpm buildLint:
pnpm lint- Uses Next.js output
exportoption. - Static page is deployed to GitHub Pages.
The app reads bundesschatz.csv at build time and transforms it into chart/table rows.
CSV columns:
"Product Key","Period Interval","Period Value","Date","Interest Rate","Green"
Period IntervalisM(months) orY(years).Period Value+Period Intervalmap to the bond keys used in the UI (e.g.1M,4Y).
There is a small fetcher script that appends new rows from the public Bundesschatz API:
node data-fetcher/index.cjsIt only adds rows that are not already present in bundesschatz.csv and sorts new rows by date before appending.
Bundesschatz Archive is an independent, privately operated information project. It is not affiliated with, endorsed by, or operated on behalf of Bundesschatz.