Macro Regimes, Not Macro Prints: A Growth × Inflation Framework for Equity Allocation
Measured unconditionally, an individual macro indicator's level carries almost no forward equity-return information: across 2000–2026 the largest absolute correlation with the forward 3-month S&P return is 0.20 (initial claims), and on the overlap-corrected effective sample it is barely distinguishable from zero — with the 'wrong', reaction-function sign. What sorts returns is the growth×inflation regime. Built on real-time (expanding-window) standardization to defeat look-ahead, the only robust claim is binary: stagflation is the one quadrant that doesn't pay. Non-stagflation regimes beat it by +3.4pp per quarter (Newey-West t = 2.5), stable across all thirteen robustness variants — while the four-way ranking is within noise (the bootstrap intervals overlap). A regime-driven allocation lifts the Sharpe from 0.54 to 0.68 and halves the drawdown (−32% vs −52%), almost entirely by de-risking the stagflation corner. The model reads reflation today, but at low confidence — growth is only +0.1σ into acceleration.
00Executive summary
An equity investor is handed a firehose of macro — payrolls, CPI, core PCE, jobless claims, retail sales, ISM, sentiment — each release moving the tape for an afternoon. This piece makes two claims and is careful about the difference between them. Negative claim: measured unconditionally, an individual macro indicator's level carries almost no information about the forward three-month equity return. Positive claim: the joint regime — whether growth is accelerating and whether inflation is rising — does sort forward returns, but the only statistically defensible statement is binary: stagflation is the one quadrant that does not pay. Everything here is built on real-time (expanding-window) standardization, so the regime label at month uses only data available at — the result is not an artifact of look-ahead.
- 01Unconditionally, prints are weak. The largest absolute correlation between any indicator level and the forward 3-month S&P return is 0.20 (initial claims); corrected for the overlap in monthly-sampled 3-month returns (effective n ≈ 105), even that is marginal (t ≈ 2.1) — and carries the “wrong”, reaction-function sign.
- 02Regime sorts returns, but the robust result is binary. Stagflation is the only quadrant with a negative mean (−0.8%, 49% hit); the other three pay +2.1% to +3%. Their bootstrap 95% intervals overlap heavily, so the four-way ranking is within noise — do not over-read “reflation is best.”
- 03The spread is real and survives the look-ahead fix. Non-stagflation regimes beat stagflation by +3.44pp per quarter (Newey-West t = 2.5); the expanding-window estimate (−0.8%) matches the full-sample one (−0.7%), and stagflation is last in all 13 robustness variants.
- 04Today is reflation but low-confidence — growth is only 0.11σ into acceleration. Core PCE re-accelerating to 3.3% is the swing variable; consumer sentiment sits 1.8σ below trend against solid hard data, the widest non-recession hard/soft gap.
01Macro prints are weak standalone signals
Start with the negative result, because it motivates everything after. For each indicator I compute the Pearson correlation between its current reading and the subsequentthree-month S&P 500 return, 2000–2026 (Fig. 1, Table 1). Every correlation is small: the largest magnitude is 0.20, for initial claims. And the signs are perverse — the only positive “leaders” are the bad-news indicators (claims, unemployment, VIX). That is not macro momentum; it is the reaction function: weak data and fear pull forward policy easing and compress risk premia, which lift subsequent returns. The growth and inflation series investors actually trade — retail sales, industrial production, core CPI — cluster at or below zero.
Two refinements make the point sharper rather than softer. First, the effective sample is far smaller than it looks. Forward 3-month returns sampled monthly overlap by two-thirds, so the 314 monthly observations behave like ≈105 independent ones. On that corrected sample even the strongest correlation (0.2) has a t-stat of only ≈2.1 (Table 1) — the honest reading is “indistinguishable from noise,” which strengthens the thesis. Second, levels are not the only transform. Three-month changes do no better; the one with any signal is financial conditions (NFCI), whose Δ3m correlation of −0.28 is still small and, again, reaction-function-signed. The precise claim is therefore not “macro is noise” but: raw indicator levels contain little unconditional forward-return information; their value is in whether they move the regime, the policy path, or the risk premium.
| Indicator | corr (level) | corr (Δ3m) | n | n eff. | t (eff.) |
|---|---|---|---|---|---|
| Initial claims | +0.20 | +0.09 | 314 | 105 | +2.1 |
| Unemployment rate | +0.18 | +0.07 | 313 | 104 | +1.8 |
| VIX | +0.06 | −0.03 | 314 | 105 | +0.6 |
| Retail sales YoY | −0.06 | +0.06 | 314 | 105 | −0.6 |
| Industrial prod. YoY | −0.07 | +0.03 | 314 | 105 | −0.7 |
| Michigan sentiment | −0.10 | −0.02 | 314 | 105 | −1.0 |
| Core CPI YoY | −0.12 | −0.09 | 313 | 104 | −1.2 |
| Payrolls YoY | −0.15 | −0.04 | 314 | 105 | −1.5 |
| Fin. conditions (NFCI) | −0.15 | −0.28 | 314 | 105 | −1.5 |
Table 1. Unconditional correlation with the forward 3-month SPY return, 2000–2026. Effective n ≈ n/3 corrects for the overlap in monthly-sampled 3-month returns; t (eff.) is the corresponding correlation t-statistic. Source: Federal Reserve Economic Data (FRED), St. Louis Fed, Yahoo Finance (SPY, S&P 500 TR, sector/factor ETFs); author's calculations.
Is the perverse sign really the reaction function, or just state-dependent risk premia (high VIX → high subsequent returns is, after all, the equity risk premium being mean-reverting)? The two are partly separable: if it is the policy reaction function, the effect should weaken after 2022, when the Fed was hiking into weak sentiment rather than easing to rescue it. It does. The claims–return correlation falls from +0.23 pre-2022 to +0.03 after; the VIX correlation flips from +0.09 to −0.16. The bad-news-is-good-news channel is conditional on an easing-biased Fed — exactly what you would expect if it is the reaction function and not a mechanical risk-premium constant.
02The current macro dashboard
Table 2 is the current state — latest reading, the value a year ago, a trailing-10-year z-score, and a one-line read. The economy is late-cycle but not recessionary: unemployment low at 4.3%, claims subdued near 215k, industrial-production growth back positive, the Sahm rule dormant at 0.13 (trigger 0.50), and the Fed easing (funds 3.6%, −70bp y/y). The two notes of tension: core PCE has re-accelerated to 3.3%, and consumer sentiment sits at a −1.8σ extreme the hard data flatly contradicts (§07).
| Indicator | Latest | 1y ago | z (10y) | Read |
|---|---|---|---|---|
| Core CPI % YoY | 2.70 | 2.80 | −0.25 | above the 2% target |
| Core PCE % YoY | 3.30 | 2.60 | +0.41 | re-accelerating |
| CPI % YoY | 3.80 | 2.30 | +0.29 | headline sticky |
| Unemployment % | 4.30 | 4.20 | −0.16 | cooling, not breaking |
| Initial claims k | 215 | 244 | −0.26 | labor stress low |
| Payrolls % MoM | 0.07 | 0.07 | −0.01 | still adding jobs |
| Retail sales % YoY | 4.90 | 5.00 | −0.08 | consumer resilient |
| Industrial prod. % YoY | 1.40 | 0.90 | +0.28 | goods cycle positive |
| Mfg pulse (Philly) idx | −0 | −1 | −0.61 | factory soft |
| Sahm rule pp | 0.13 | 0.30 | −0.26 | recession trigger dormant |
| Fed funds % | 3.63 | 4.33 | +0.69 | easing cycle |
| Fin. conditions idx | −0 | −0 | −0.26 | accommodative |
| Michigan sent. idx | 50 | 52 | −1.76 | soft-data stress |
| VIX | 15.30 | 18.60 | −0.47 | risk calm |
Table 2. Macro dashboard, as of 2026-05-30. z = standardized vs the trailing 10 years (as-of-date). The 10y–3m curve is omitted when FRED rate-limits its daily series. Source: Federal Reserve Economic Data (FRED), St. Louis Fed; author's calculations.
03Building the regime: growth × inflation, in real time
I summarize growth with a composite of the standardized year-over-year change of three hard series — industrial production, payrolls, and retail sales — and classify each month by whether the composite is rising and whether core inflation is rising:
The detail that matters is the superscript on the z-score. The standardization is expanding-window: at each month the mean and standard deviation use only observations through . This is the fix for the original version's central flaw. With full-sample standardization, a month in 2004 is labeled “growth accelerating” partly using the series mean and variance computed through 2026 — information that did not exist yet — and since the entire result is “regime sorts forward returns,” the sort would be partly mechanical. Expanding-window standardization removes that contamination; the regime label is one an investor could actually have assigned in real time. FRED data is fetched back to 1990 so that by the 2000 sample start each z-score already has a decade of history. Figure 2 plots the two regime axes — the real-time growth composite and the 3-month change in core-CPI inflation — whose signs define the quadrant.
04Regime returns: stagflation is the only quadrant that doesn’t pay
Sort the forward 3-month SPY return by real-time quadrant (Fig. 3, Table 3). The headline is deliberately binary. Stagflation — growth decelerating into rising inflation — is the only quadrant with a negative mean (−0.8%, a 49% hit rate, barely a coin flip). The other three all pay, between +2.1% and +3%. I resist ranking them, and so should the reader: the bootstrap 95% intervals (Table 3) overlap almost completely — reflation’s [1.6, 4.3] sits inside slowdown’s [1, 4.5], which sits inside goldilocks’s [-0.6, 4.7]. With regimes that persist for many months and returns that overlap, the effective sample is perhaps 15–25 independent episodes, not the 312 months printed. “Reflation is the best quadrant” is not a claim the data can support. “Stagflation is the only bad quadrant” is.
| Regime | mean | 95% CI | hit | n |
|---|---|---|---|---|
| Reflation | +3.0% | [1.6, 4.3] | 77% | 73 |
| Slowdown | +2.8% | [1, 4.5] | 75% | 89 |
| Goldilocks | +2.1% | [-0.6, 4.7] | 64% | 73 |
| Stagflation | −0.8% | [-3.6, 2] | 49% | 77 |
| Contrast vs stagflation | estimate | HAC t |
|---|---|---|
| Reflation | +3.78pp | 2.7 |
| Slowdown | +3.59pp | 2.7 |
| Goldilocks | +2.91pp | 1.5 |
| Non-stagflation (joint) | +3.44pp | 2.5 |
Table 3. Left: cell means with circular block-bootstrap 95% intervals (block = 6 months, 3,000 resamples). Right: , stagflation omitted; Newey-West HAC t (lag 6, for the 3-month overlap). Source: Federal Reserve Economic Data (FRED), St. Louis Fed, Yahoo Finance (SPY, S&P 500 TR, sector/factor ETFs); author's calculations.
The regression makes the binary claim precise. With stagflation as the omitted category, its own mean (−0.77%) is statistically indistinguishable from zero (t = -0.6), reflation and slowdown sit +3.78pp (t = 2.7) and +3.59pp (t = 2.7) above it, while goldilocks — at +2.91pp (t = 1.5) — is not reliably different, a useful honesty check on the “every other quadrant pays” story. Pooling the three, non-stagflation beats stagflation by +3.44pp per quarter with a HAC t of 2.5. The economically interesting half is why slowdown pays at all: falling growth into falling inflation pulls forward easing and lower discount rates, so a cooling economy is bullish for equities right up until inflation refuses to cool with it. The swing variable is inflation, not growth.
05Robustness: does the binary result survive the discretionary choices?
The construction has arbitrary choices — a 3-month momentum window, exactly three equally weighted growth series, core CPI, a hard sign cut, full-history standardization. Table 4 re-runs the quadrant means under thirteen perturbations. The pattern is the point: stagflation is the lowest-returning quadrant in every single variant, and the only one with a negative mean in 12 of 13. It survives a 6-month window, core PCE instead of core CPI, 3-month-annualized instead of YoY growth, a PCA-weighted composite, dropping any one growth series, total-return instead of price, and excluding either COVID or the GFC. Most importantly it survives the standardization swap: expanding-window (−0.8%) and full-sample (−0.7%) give nearly identical stagflation means — confirming the original result was real, not a look-ahead artifact, while still earning the right to call the signal real-time.
| Robustness variant | Refl | Gold | Slow | Stag | stag last? |
|---|---|---|---|---|---|
| Baseline (expanding z, 3m, YoY, EW, core CPI, price) | +3.0% | +2.1% | +2.8% | −0.8% | ✓ <0 |
| 6-month growth/inflation momentum | +1.5% | +3.8% | +2.9% | −1.1% | ✓ <0 |
| Inflation = core PCE | +2.1% | +3.3% | +2.5% | −0.4% | ✓ <0 |
| Growth = 3-month annualized | +2.3% | +1.9% | +3.0% | −0.2% | ✓ <0 |
| Growth composite = PCA-weighted | +3.3% | +2.3% | +2.7% | −1.0% | ✓ <0 |
| Full-sample z (look-ahead) | +3.1% | +1.9% | +3.0% | −0.7% | ✓ <0 |
| Rolling 10-year z | +3.4% | +2.3% | +2.7% | −1.0% | ✓ <0 |
| Ex-COVID (drop 2020-02…2021-04) | +2.7% | +1.8% | +2.3% | −0.8% | ✓ <0 |
| Ex-GFC (drop 2008-06…2009-12) | +2.7% | +1.8% | +3.2% | +0.1% | ✓ |
| S&P 500 total return | +3.5% | +2.6% | +3.3% | −0.3% | ✓ <0 |
| Drop industrial production | +2.5% | +3.1% | +2.0% | −0.2% | ✓ <0 |
| Drop payrolls | +3.1% | +2.7% | +2.3% | −0.6% | ✓ <0 |
| Drop retail sales | +3.0% | +1.6% | +3.3% | −0.7% | ✓ <0 |
Table 4. Mean forward 3-month return by quadrant under each perturbation; “stag last?” ✓ if stagflation is the lowest-returning quadrant, “<0” if it is also the only negative one. Baseline row shaded. Source: Federal Reserve Economic Data (FRED), St. Louis Fed, Yahoo Finance (SPY, S&P 500 TR, sector/factor ETFs); author's calculations.
06Current regime and transition risk
A hard classifier returns a label; a useful one returns a label and a confidence. The model places us in Reflation — growth firming, core inflation rising — historically among the better quadrants. But the classification is low confidence (Table 5). The growth signal is only 0.11σ into acceleration (weak) and sits close to the zero boundary, so a single data revision could flip the growth sign and tip the label toward goldilocks (disinflation) or, if inflation keeps climbing while growth rolls over, into the one quadrant that doesn’t pay. The inflation signal is firmer (+0.57σ, moderate). The honest statement is: reflation, but a small-margin reflation whose stability rests on the distance of two signals from their zero thresholds.
| Component | direction | distance from boundary | strength |
|---|---|---|---|
| Growth composite, 3m change | accelerating | +0.11σ | weak |
| Core-CPI YoY, 3m change | rising | +0.57σ | moderate |
| Regime label → Reflation | confidence (lower of the two percentiles) | low · 30% | |
Table 5. Real-time classification of the latest month (2026-04). Distance from boundary in standard deviations of the historical 3-month change; strength is the percentile of |change| in its own history. Source: Federal Reserve Economic Data (FRED), St. Louis Fed; author's calculations.
Inflation is the variable to watch because it is the one moving against the favorable label. Core PCE has lifted from 2.6% to 3.3% over the past year and headline CPI from 2.3% to 3.8% (Fig. 4). A further leg higher that stalls the goods recovery would rotate the book from reflation straight into stagflation — the transition, not the current state, is the risk.
07The hard/soft divergence as its own factor
The most unusual feature of the current dashboard deserves its own test. Consumer sentiment is −1.8σ below trend while the hard data is broadly fine — the widest hard/soft gap outside a recession. Does that gap carry forward-return information? Define a hard-data composite (real-time z of industrial production, payrolls, retail sales, and inverted unemployment and claims) and subtract the z of Michigan sentiment; sort the gap into quintiles (Table 6). The relationship is not monotone, but the tails are informative: the lowest-gap quintile — sentiment running ahead of the hard data, i.e. complacency — is the only one that fails to pay (0.4%, 58% hit), while the highest-gap quintile — depressed sentiment against solid hard data — returns +2.4% (67% hit). Today’s reading sits in that top bucket: a gap of +2.61 (hard z +0.18, Michigan z −2.43). The intuition is the classic one — when expectations are already on the floor and the hard data refuses to confirm them, the bar for positive surprise is low.
| Hard − soft gap quintile | gap range | fwd 3m return | hit | n |
|---|---|---|---|---|
| Q1 — sentiment ahead of hard data | [-5.42, -0.49] | +0.4% | 58% | 62 |
| Q2 | [-0.49, -0.14] | +2.4% | 71% | 62 |
| Q3 | [-0.14, 0.54] | +2.5% | 69% | 62 |
| Q4 | [0.55, 1.31] | +1.5% | 69% | 62 |
| Q5 — sentiment below hard data (today) | [1.32, 3.7] | +2.4% | 67% | 66 |
Table 6. Forward 3-month SPY return by hard/soft-gap quintile, 2000–2026. Gap = z(hard composite) − z(Michigan sentiment), real-time standardized; quintile breakpoints are in-sample (descriptive). Source: Federal Reserve Economic Data (FRED), St. Louis Fed, Yahoo Finance (SPY, S&P 500 TR, sector/factor ETFs); author's calculations.
08Portfolio implications: factor tilts and a regime-driven allocation
Regimes matter more for relative performance than for index direction, so the actionable output is the cross-section. Table 7 reports the forward 3-month return of four long-short spreads conditioned on the real-time regime, plus the best and worst single sector in each quadrant. The tilts line up with theory: cyclicals over defensives in every quadrant except stagflation (where defensives win, +1.3% goldilocks vs −1.2% stagflation); value over growth only in stagflation (+1.1%), where inflation protection is scarce, with growth leading in the disinflationary quadrants; and at the sector level Technology leads goldilocks (+3.1%) while Utilities is the only sector that pays in stagflation (+1.1%) and Materials is the worst (−2.3%). The single instruction a PM can take from the framework: in the stagflation corner, rotate from cyclicals and growth into defensives, value, and the rate-insensitive end of the curve.
| Long − short spread (fwd 3m) | Refl | Gold | Slow | Stag |
|---|---|---|---|---|
| Value − Growth (IWD−IWF) | +0.0% | −1.0% | −1.7% | +1.1% |
| Small − Large (IWM−IWB) | +0.4% | −0.6% | +0.9% | +0.1% |
| Cyclicals − Defensives | +0.4% | +1.3% | +1.4% | −1.2% |
| Equal-wt − Cap-wt (RSP−SPY) | +0.2% | +0.1% | +0.2% | −0.4% |
| best / worst sector | XLV / XLU | XLK / XLU | XLB / XLF | XLU / XLB |
Table 7. Forward 3-month relative return of each spread by real-time regime; columns Refl/Gold/Slow/Stag. Style/size from IWD-IWF, IWM-IWB, RSP-SPY; cyclicals = XLY/XLF/XLI/XLB/XLE, defensives = XLP/XLU/XLV. Pure momentum/quality/min-vol ETFs have post-2013 histories too short to condition reliably and are omitted. Source: Yahoo Finance (SPY, S&P 500 TR, sector/factor ETFs), Federal Reserve Economic Data (FRED), St. Louis Fed; author's calculations.
Finally, does the framework improve outcomes, or is it merely descriptive? Table 8 and Figure 5 run a deliberately simple, fully real-time rule: the regime label at month (expanding-window, so tradeable) sets the next month’s allocation — 100% equity in reflation and goldilocks, 75/25 equity/Treasuries in slowdown, and a defensive 40/20/20/20 equity/Treasuries/gold/cash in stagflation. Versus buy-and-hold SPY (2005–2026, the span over which all sleeves exist), the overlay raises the Sharpe from 0.54 to 0.68 and roughly halves the worst drawdown (-31.9% vs -52.2%) for a similar CAGR (9.5% vs 9.1%), at modest turnover (15%/mo).
| Strategy | CAGR | vol | Sharpe | max DD | worst 12m | ’05–09 | ’10–19 | ’20–26 |
|---|---|---|---|---|---|---|---|---|
| Regime allocation | 9.5% | 12% | 0.68 | −31.9% | −28.5% | +4.3% | +10.6% | +11.9% |
| Buy-and-hold SPY | 9.1% | 15% | 0.54 | −52.2% | −44.8% | −1.2% | +11.2% | +14.2% |
Table 8. Monthly, 2005–2026; risk-free ≈ 1.7% (avg 3m T-bill). CAGR/Sharpe annualized; columns ’05–09 etc. are per-period CAGR. Source: Yahoo Finance (SPY, S&P 500 TR, sector/factor ETFs), Federal Reserve Economic Data (FRED), St. Louis Fed; author's calculations.
Read it honestly: almost the entire edge is the GFC de-risk. In 2005–09 the overlay returns +4.3% a year versus SPY’s −1.2%, because slowdown and stagflation labels pulled the book out of equities into 2008; in the two bull decades since, the defensive sleeves are a drag and pure SPY wins on CAGR (14.2% vs 11.9% in the 2020s). The framework is therefore best understood as risk management — a structural improvement in drawdown and Sharpe by avoiding the stagflation corner — not as an alpha engine. That is the defensible claim, and it is the one the statistics support.
09Conclusion
The macro edge is not in the prints. Individually, indicator levels carry almost no forward-return information, and what little they have runs through the policy reaction function — backwards to the naïve reading. The information is in the regime, and even there the disciplined claim is narrow: built in real time so it could actually have been traded, the growth×inflation quadrant sorts forward equity returns in exactly one robust way — stagflation is the only quadrant that doesn’t pay, by +3.44pp a quarter (HAC t 2.5), stable across all 13 robustness cuts, while the finer ranking among the paying quadrants is within noise. Converted into an allocation, that single distinction earns its keep as drawdown control, not return enhancement. Today the model reads reflation, but at low confidence and with inflation — the swing variable — leaning the wrong way; the question for an equity book is not “what was CPI” but “how far are we from the stagflation corner,” which is also where the rate-sensitive sectors hurt most.
AData & method
Sample. FRED series are fetched from 1990 to provide a ≥10-year burn-in for the expanding-window standardization; the analysis — regime classification, forward returns, regressions, factor sorts — is restricted to 2000-01 → 2026-05 (the allocation backtest to 2005-01, once the Treasury/gold/cash sleeves exist). Daily/weekly series resampled to month-end; equities to monthly close.
Sources. FRED (no key): PAYEMS, UNRATE, ICSA, CPIAUCSL, CPILFESL, PCEPI, PCEPILFE, RSAFS, INDPRO, FEDFUNDS, NFCI, UMCSENT, SAHMCURRENT, TB3MS, the Philly Fed manufacturing index, and (when not rate-limited) T10Y3M. VIX from Yahoo ^VIX. Equities/ETFs Yahoo monthly: SPY, ^SP500TR, IWF/IWD, IWM/IWB, RSP, IEF, GLD, and eleven SPDR sectors.
Regime. Growth composite = equal-weight mean of expanding-window z-scores of YoY INDPRO, PAYEMS, RSAFS; growth direction = sign of its 3-month change; inflation direction = sign of the 3-month change in core-CPI YoY. The expanding window standardizes each month using only data through that month — no look-ahead. Full-sample and rolling-10y standardizations appear only as robustness rows.
Inference. Cell means carry circular block-bootstrap 95% intervals (block 6 months, 3,000 resamples) to respect regime persistence and return overlap. The regime regression uses Newey-West HAC standard errors (Bartlett, 6 monthly lags) covering the 3-month-return overlap and persistence. Unconditional correlations report an effective n ≈ n/3 and the corresponding t.
Caveats. Classification uses revised FRED vintages, not real-time releases, so the “real-time” label refers to standardization, not data revisions — a genuine limitation for the backtest. ISM PMI is excluded (not freely redistributable); the Philly Fed survey is a directional proxy, not numerically equivalent. Factor spreads are tradeable-ETF returns, not pure factors; pure momentum/quality/min-vol ETFs post-date 2013 and are omitted from the regime conditioning. Reproducible via analysis/macro_regime.py.
This is research, not investment advice.