About
What this site is, where the data comes from, and how the charts are built.
What is this
realrates.ai is a macro monitoring dashboard. Six domain pages — inflation, rates, growth, housing, financial conditions, and labor — track the data series that govern real interest rates and the credit cycle. Three synthesis pages go further: Trend vs Baseline fits pre-pandemic regressions forward to show the structural price-level gap that opened in 2021–2022; Regime places the current economy in a 2×2 growth-inflation quadrant updated monthly; Regime Returns shows historical asset return distributions conditional on regime, with the closest historical analogs to the current reading.
Real interest rates — nominal rates minus expected inflation — are the price of capital. They determine what borrowing costs, what saving returns, and how risk is priced across every asset class. Understanding them requires a clear view of the inflation component, but inflation itself is downstream of growth, labor, credit, and monetary conditions. The site is built to track all of it together.
Data sources
Most data is pulled from FRED, the Federal Reserve Bank of St. Louis's economic data service. Gold and the Bloomberg Commodity proxy are sourced via yfinance. Series used:
Inflation
- CPIAUCNS — CPI All Items, Not Seasonally Adjusted
- CPIAUCSL — CPI All Items, Seasonally Adjusted
- CUUR0000SACL1E — CPI Commodities Less Food and Energy
- CUUR0000SASLE — CPI Services Less Energy Services
- CPILFESL — Core CPI, All Items Less Food and Energy
- PCEPILFE — Core PCE Price Index (Fed's preferred measure)
- PPIFID — PPI Final Demand
- IR — Import Price Index, All Commodities
- M2SL — M2 Money Stock
- T5YIE — 5-Year Breakeven Inflation Rate
Rates
- DFII5 — 5-Year TIPS Real Yield
- DFII10 — 10-Year TIPS Real Yield
- DGS1 — 1-Year Treasury Constant Maturity
- GS2 — 2-Year Treasury Constant Maturity
- DTB3 — 3-Month Treasury Bill Rate
- GS5 — 5-Year Treasury Constant Maturity
- GS10 — 10-Year Treasury Constant Maturity
- T10Y2Y — 10-Year minus 2-Year Treasury Spread
- FEDFUNDS — Effective Federal Funds Rate
Growth
- GDPC1 — Real GDP (Quarterly, SAAR)
- LB0000031Q020SBEA — Real Final Sales to Private Domestic Purchasers (Quarterly)
- INDPRO — Industrial Production Index
- RSAFS — Advance Retail Sales: Retail Trade and Food Services
- CFNAI — Chicago Fed National Activity Index (85-indicator composite)
- TOTBKCR — Total Bank Credit of All Commercial Banks
Labor
- PAYEMS — Nonfarm Payrolls, Total
- UNRATE — Unemployment Rate (U3)
- U6RATE — Unemployment Rate (U6, Broad)
- IC4WSA — Initial Jobless Claims, 4-Week Moving Average
- CIVPART — Labor Force Participation Rate
- CES0500000003 — Average Hourly Earnings, Total Private
- JTSQUR — Quits Rate (JOLTS)
- CIS1020000000000I — Employment Cost Index: Wages and Salaries
Housing
- MORTGAGE30US — 30-Year Fixed Mortgage Rate
- PERMIT — New Privately-Owned Housing Units Authorized by Building Permits
- HOUST — Housing Starts, Total: New Privately Owned
- EXHOSLUSM495S — Existing Home Sales
- CSUSHPINSA — S&P CoreLogic Case-Shiller US National Home Price Index NSA
- MSACSR — Monthly Supply of New Houses
Financial conditions
- NFCI — Chicago Fed National Financial Conditions Index
- WALCL — Federal Reserve Total Assets
- BAMLH0A0HYM2 — High Yield OAS Spread
- BAMLC0A0CM — Investment Grade OAS Spread
- BAMLC0A4CBBB — BBB OAS Spread
- BAA10Y — Moody's Baa Corporate Spread Over 10-Year Treasury
Commodities
- PALLFNFINDEXM — IMF Global Price Index of All Commodities
- PNRGINDEXM — IMF Energy Price Index
- PMETAINDEXM — IMF Metals Price Index
- DCOILWTICO — WTI Crude Oil Price
- GC=F — Gold Continuous Futures (via yfinance)
- DJP — iPath Bloomberg Commodity Index ETF, proxy for BCOM (via yfinance)
Methodology
Charts are produced by a Python pipeline using pandas, statsmodels, scikit-learn, and Plotly. The main methods:
- Year-over-year % change — standard 12-month percent change.
-
6-month annualized rate — computed as
(value_t / value_{t−6})² − 1, which compounds the 6-month ratio to an annual rate. - Trend regressions — log-linear OLS fitted over a specified pre-pandemic baseline (2010–2019 or 2000–2019 depending on the series) and projected forward. The gap between actual and projected shows how far prices or output have deviated from trend.
- Macro regime model — monthly observations are placed in a 2×2 quadrant using two normalized axes: CFNAI on the growth axis (zero equals trend growth by construction) and Core PCE YoY on the inflation axis (standardized against its January 1991–December 2019 mean of 1.88% and standard deviation of 0.57 percentage points). The four quadrants are labeled Boom, Stagflation, Contraction, and Disinflationary Expansion. The 1991–2019 baseline is frozen — it represents the post-Volcker era in which the inflation target was credible and policy was broadly rules-based. The Regime page displays the trailing 24-month arc; trail direction carries as much information as the current position.
- TIPS market-implied CPI — each live TIPS bond is priced against a comparable nominal Treasury to extract the breakeven inflation rate for its holding period. The term structure is then bootstrapped to decompose aggregate breakevens into period-by-period forward rates, so each bond marker reflects expected CPI inflation over a specific future window rather than averaging across the full holding period. Results are expressed as YoY percent change at each bond's BLS effective date (maturity minus two months) and plotted as a continuation of the realized CPI series.
- Regime returns — monthly returns on equities, bonds, T-bills, and commodities are classified by which of the four regime quadrants the economy occupied that month, producing conditional return distributions across more than five decades of history. An analog-matching algorithm identifies the closest historical readings to the current CFNAI × Core PCE Z-score coordinate, weighted by distance in the regime space.
-
Multiplicative seasonal decomposition — statsmodels
seasonal_decomposewithmodel='multiplicative', separating observed CPI into trend, seasonal, and residual components. - Hodrick-Prescott filter — applied to log CPI with smoothing parameter λ = 129,600 (the standard value for monthly data).
- Christiano-Fitzgerald bandpass filter — isolates business-cycle frequencies from log CPI, goods, and services (1975–present).
Update frequency
Series in the dataset update at different frequencies. Financial series — Treasury yields, TIPS real yields, credit spreads, fed funds, gold — update daily. Initial jobless claims, NFCI, and mortgage rates update weekly. The majority of macro series — CPI, Core PCE, PPI, import prices, M2, payrolls, unemployment, housing starts and permits, retail sales, CFNAI, and Case-Shiller — are monthly. Real GDP, real final sales, and the Employment Cost Index are quarterly.
The pipeline is run manually after major data releases. The primary triggers are the monthly BLS CPI release and the BEA PCE release; growth and labor pages are refreshed on the same cycle or when a significant data revision warrants it.
Tools
Python · pandas · numpy · statsmodels · scikit-learn · Plotly · plain HTML and CSS. No JavaScript frameworks. Data is embedded directly in each chart file via the Plotly CDN.
Partial to Austrian thinking and the classic Chicago school.
Designed and built with Claude Code — a demonstration of what AI-assisted development makes possible.