BIS debt-service stress signals (debt-burden z-scores, stress flags)
Quarterly financial-stress signals derived from BIS debt service ratios (keyless SDMX, WS_DSR, ~30 economies, 1999 ->): the DSR (interest + amortisation over income, %) for households, non-financial corporations and the private non-financial sector, with quarter-on-quarter and year-on-year changes, 30-quarter change volatility, 3-sigma anomaly flags vs a trailing-12-quarter baseline, drift forecasts, per-quarter cross-country volatility ranks, 10-year DSR z-scores, high-stress and rising-burden flags, and the household-minus-corporate sectoral spread. The debt-burden-stress companion to the credit-cycle gap signals. Country codes normalized to ISO alpha-3. Raw data: Bank for International Settlements.
Quality
Attribution
Bank for International Settlements (derived signals by Frontier Data Hub)
Schema
| Column | Type | Description |
|---|---|---|
| date | string | First day of the reference quarter (BIS SDMX TIME_PERIOD, e.g. 2026-Q1 -> 2026-01-01). |
| country | string | Economy short name (BIS CL_AREA label, normalized via the shared layer). |
| country_code | string | ISO 3166-1 alpha-3 code mapped from the BIS REF_AREA code (e.g. US -> USA, HK -> HKG). |
| series_id | string | BIS REF_AREA code plus the borrower suffix: .H for households & NPISHs, .N for non-financial corporations, .P for the private non-financial sector (official CL_AREA and DSR_BORROWERS codelists). |
| series_label | string | Borrower-sector label plus the BIS CL_AREA economy name (e.g. 'Households & NPISHs — United States'). |
| value | float | Debt service ratio in percent — interest payments plus amortisations relative to income — as published in the BIS WS_DSR dataflow. |
| qoq_change_pp | float | |
| yoy_change_pp | float | |
| volatility_30d | float | |
| momentum_3m | float | |
| anomaly_flag | integer | |
| forecast_1m | float | |
| rank | integer | |
| dsr_z_10y | float | |
| high_stress_flag | integer | |
| rising_flag | integer | |
| household_corporate_spread | float |
Sample rows
| date | country | country_code | series_id | series_label | value | qoq_change_pp | yoy_change_pp | volatility_30d | momentum_3m | anomaly_flag | forecast_1m | rank | dsr_z_10y | high_stress_flag | rising_flag | household_corporate_spread |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1999-01-01 | Australia | AUS | AU.H | Households & NPISHs — Australia | 10 | — | — | — | — | 0 | — | — | — | 0 | 0 | -34.3 |
| 1999-04-01 | Australia | AUS | AU.H | Households & NPISHs — Australia | 10.1 | 0.09999999999999964 | — | — | 0.09999999999999964 | 0 | — | — | — | 0 | 1 | -33.4 |
| 1999-07-01 | Australia | AUS | AU.H | Households & NPISHs — Australia | 10.3 | 0.20000000000000107 | — | — | 0.20000000000000107 | 0 | — | — | — | 0 | 1 | -34 |
| 1999-10-01 | Australia | AUS | AU.H | Households & NPISHs — Australia | 10.5 | 0.1999999999999993 | — | — | 0.1999999999999993 | 0 | — | — | — | 0 | 1 | -34.8 |
| 2000-01-01 | Australia | AUS | AU.H | Households & NPISHs — Australia | 10.8 | 0.3000000000000007 | 0.8000000000000007 | — | 0.3000000000000007 | 0 | — | — | — | 0 | 1 | -35.599999999999994 |
Download sample data
Download the full sample snapshot for this dataset (sample rows, not the complete dataset).
Use with an LLM
Point any LLM at the metadata endpoint — the documentation above is machine-readable too (JSON-LD + Croissant).
cURL
curl "https://datazimuts.com/v1/datasets/dsr_stress_signals/bis_debt_service_stress_signals" | jq '{title, rows, columns_count, license}'Python
import requests
ds = requests.get("https://datazimuts.com/v1/datasets/dsr_stress_signals/bis_debt_service_stress_signals").json()
print(ds["title"], ds["rows"], "rows")
# Sample rows for an LLM context window
for row in ds.get("sample_rows", [])[:5]:
print(row)API endpoint: https://datazimuts.com/v1/datasets/dsr_stress_signals/bis_debt_service_stress_signals
Tip: fetch /llms.txt for the full machine-readable catalog.