US mortgage-rate signals (affordability shock & spread gauges)
Weekly US mortgage-rate signals from the Freddie Mac Primary Mortgage Market Survey (redistributed by FRED, 1971 ->): 30-year and 15-year fixed rates with 13-week momentum, 30-week change volatility, 3-sigma anomaly flags vs a trailing 52-week baseline, 4-week drift forecasts, cross-series ranks, the mortgage-minus-10y-Treasury spread, a 52-week rate-shock gauge, high/low rate flags, and a 10-year affordability z-score. All rows are normalized to country_code USA so they join cleanly with US macro data. Raw series: Federal Reserve Bank of St. Louis (FRED); underlying data: Freddie Mac, U.S. Department of the Treasury.
Quality
Attribution
Federal Reserve Bank of St. Louis (FRED; underlying data: Freddie Mac and U.S. Department of the Treasury; derived signals by Frontier Data Hub)
Schema
| Column | Type | Description |
|---|---|---|
| date | string | Observation date (FRED API field date; YYYY-MM-DD, weekly). |
| country | string | |
| country_code | string | |
| series_id | string | FRED series ID: MORTGAGE30US (30-Year Fixed Rate Mortgage Average in the United States, Freddie Mac) or MORTGAGE15US (15-Year Fixed Rate Mortgage Average in the United States, Freddie Mac). |
| series_label | string | Official FRED series title as published for the series. |
| value | float | Contract interest rate on commitments for fixed-rate first mortgages, percent (Freddie Mac Primary Mortgage Market Survey, via FRED). |
| momentum_3m | float | |
| volatility_30d | float | |
| anomaly_flag | integer | |
| forecast_1m | float | |
| rank | integer | |
| mortgage_10y_spread | float | |
| rate_shock_52w_pp | float | |
| high_rate_flag | integer | |
| low_rate_flag | integer | |
| affordability_z_10y | float |
Sample rows
| date | country | country_code | series_id | series_label | value | momentum_3m | volatility_30d | anomaly_flag | forecast_1m | rank | mortgage_10y_spread | rate_shock_52w_pp | high_rate_flag | low_rate_flag | affordability_z_10y |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1991-08-30 | United States | USA | MORTGAGE15US | 15-Year Fixed Rate Mortgage Average in the United States | 8.77 | — | — | 0 | — | 1 | 1.33 | -1.0899999999999999 | 1 | 0 | -1.1587163225430812 |
| 1991-09-06 | United States | USA | MORTGAGE15US | 15-Year Fixed Rate Mortgage Average in the United States | 8.79 | — | — | 0 | — | 1 | 1.3800000000000008 | -1.049999999999999 | 1 | 0 | -1.1622562468628026 |
| 1991-09-13 | United States | USA | MORTGAGE15US | 15-Year Fixed Rate Mortgage Average in the United States | 8.68 | — | — | 0 | — | 1 | 1.3599999999999994 | -1.1100000000000012 | 1 | 0 | -1.2130582019448624 |
| 1991-09-20 | United States | USA | MORTGAGE15US | 15-Year Fixed Rate Mortgage Average in the United States | 8.62 | — | — | 0 | — | 1 | 1.379999999999999 | -1.2100000000000009 | 1 | 0 | -1.2427097140199916 |
| 1991-09-27 | United States | USA | MORTGAGE15US | 15-Year Fixed Rate Mortgage Average in the United States | 8.59 | — | — | 0 | — | 1 | 1.4299999999999997 | -1.3000000000000007 | 1 | 0 | -1.2561776364269785 |
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/fred_mortgage_signals/us_mortgage_rate_signals" | jq '{title, rows, columns_count, license}'Python
import requests
ds = requests.get("https://datazimuts.com/v1/datasets/fred_mortgage_signals/us_mortgage_rate_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/fred_mortgage_signals/us_mortgage_rate_signals
Tip: fetch /llms.txt for the full machine-readable catalog.