Global house price signals (BIS real residential property prices)
Quarterly housing-market signals derived from the BIS selected residential property price indices: real (inflation-deflated) house-price indices (2010 = 100) for ~60 economies and BIS aggregates, with year-on-year and quarter-on-quarter changes, 30-quarter annualized change volatility, 1-quarter momentum, 3-sigma anomaly flags vs a trailing 12-quarter baseline, naive-drift 1-quarter forecasts, a per-quarter cross-country volatility rank, a 10-year overvaluation z-score (froth gauge) and drawdown-from-decade-peak (correction gauge). Country codes are normalized to ISO alpha-3 (BIS aggregates keep stable codes) so rows join cleanly with other country-keyed datasets. Raw series: Bank for International Settlements (WS_SPP).
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 | |
| country_code | string | |
| series_id | string | BIS REF_AREA code for the economy or aggregate (official CL_AREA codelist, e.g. US, DE, XM for the euro area, XW for the world aggregate). |
| series_label | string | BIS CL_AREA English name plus the series definition: real residential property prices (CL_VALUE code R = Real, i.e. deflated). |
| value | float | Real residential property price index (BIS UNIT_MEASURE code 628 = Index, 2010 = 100) as published in the BIS WS_SPP dataflow. |
| yoy_change_pct | float | |
| qoq_change_pct | float | |
| volatility_30d | float | |
| momentum_3m | float | |
| anomaly_flag | integer | |
| forecast_1m | float | |
| rank | integer | |
| overvaluation_z_10y | float | |
| drawdown_from_peak_pct | float |
Sample rows
| date | country | country_code | series_id | series_label | value | yoy_change_pct | qoq_change_pct | volatility_30d | momentum_3m | anomaly_flag | forecast_1m | rank | overvaluation_z_10y | drawdown_from_peak_pct |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1947-01-01 | Italy | ITA | IT | Italy — Real residential property prices | 32.0416 | — | — | — | — | 0 | — | — | — | — |
| 1947-04-01 | Italy | ITA | IT | Italy — Real residential property prices | 29.9313 | — | -6.586125536802168 | — | -2.1103000000000023 | 0 | — | — | — | — |
| 1947-07-01 | Italy | ITA | IT | Italy — Real residential property prices | 27.9126 | — | -6.744444778542857 | — | -2.018699999999999 | 0 | — | — | — | — |
| 1947-10-01 | Italy | ITA | IT | Italy — Real residential property prices | 29.1209 | — | 4.328869399482671 | — | 1.2082999999999977 | 0 | — | — | — | — |
| 1948-01-01 | Italy | ITA | IT | Italy — Real residential property prices | 33.8255 | 5.5674498152401775 | 16.155407284802315 | — | 4.704599999999999 | 0 | — | — | — | — |
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/bis_property_signals/global_house_price_signals" | jq '{title, rows, columns_count, license}'Python
import requests
ds = requests.get("https://datazimuts.com/v1/datasets/bis_property_signals/global_house_price_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/bis_property_signals/global_house_price_signals
Tip: fetch /llms.txt for the full machine-readable catalog.