apps2 · 401k buying pressure vs SPX

a mechanical, price-insensitive equity bid, estimated from the wage base — does it co-move with, or lead, the market? hubcohortsinflationfundamentalsdecoupratio401k loading…
401k buying pressure vs SPX — composite & every macro series (lines) Each line = one series, normalized so differently-scaled metrics compare on ONE axis. 401k buying pressure (the composite) is one line among many; every constituent and macro correlate is here too and individually toggleable — no aggregate-only view. Impulse z (default) = σ vs the visible-window mean (best for divergence; +2σ = same rarity for every line); full stretch to fit = each line 0→1 across the window (shape); % change = from the window start. Adjust reprices the $-denominated lines (and the SPX/NAS100 baselines) into real terms ÷CPI or ÷M2 before normalizing (most meaningful for the dollar series; a historical viz, not a signal). SPX + NAS100 baselines are solid, dark and NEVER muted (both default on; Bold baselines thickens them). Click a line to identify it (dims the others, its tooltip alone); click empty space to dismiss; shift-click for the all-series dateline. Re-frame history with the zoom presets / View(months) slider / drag-pan / wheel.
loading universe…
The composite is an estimate401k buying pressure = Wages × contribution rate × participation × equity allocation × adoption(t).
Shape is realdriven by real aggregate wages (FRED A576RC1) + a documented auto-enrollment adoption glide.
Level is modeledthe contribution/participation/equity scalars set the dollar level — adjust them with the sliders below.
Composite AND constituentswages, adoption and the IRS limit are charted too — the estimate never replaces its parts.
Select all Deselect all Bold baselines Retail P/C ref
Modeled assumptions — the shape is real wage data; these scalars set the level The composite’s shape is real (aggregate wages × a documented adoption glide); these three scalars set its dollar level. Move them and the 401k buying pressure line above recomputes live. Note: because the scalars are constant multipliers, they change the level only — the growth-rate correlations below are unchanged by them.
Contribution rate R — employee deferral + employer match, effective 10.0%
Participation P — share of workers contributing 62%
Equity allocation A — share of contributions in equities 70%
Estimated 401k equity bid ≈ —
Formula: BP401k = Wages × R × P × A × adoption(t) · wages are real; R/P/A are your assumptions.
Modeled bid vs observed flows — how the estimate compares to money that actually moves Does the estimated 401k bid line up with the cash that actually flows in? The modeled bid (from the sliders above) is GROSS equity allocation of contributions. The observed DC/401k net flow (Fed Financial Accounts, ×4 to annualize) is NET of retiree withdrawals & distributions — so observed (≈$147B/yr net) sits far below the modeled gross (≈$581B/yr). Different quantities; both true. Household equity net buys (all households, ×4) and the DC / all-pension asset levels (right axis) give scale. Flows are quarterly (forward-filled to the monthly grid). Zoom / pan / Y-stretch the chart, click for the synced dateline, and toggle each line.
Observed flowscomputing…
Modeled = GROSSthe modeled bid is contributions × equity share — before any withdrawals. An upper-bound gross equity bid.
Observed DC = NETDC/401k net flow (Fed Z.1) is contributions minus retiree distributions & withdrawals — the actual net cash into the plans.
Why the gapa large, mature system pays retirees out while workers pay in, so NET (≈$147B/yr) is far below GROSS (≈$581B/yr). Both measure different things correctly.
Household equity net buysall households’ net equity purchases (not just 401k), ×4 to annualize — a broader flow, for scale.
Levels (right axis)DC/401k plan assets vs all US pension assets — the stock these flows accrete to (shown dashed on the right ÷T axis).
Cadenceflows are quarterly (Fed Financial Accounts), forward-filled to the monthly grid; ×4 annualizes a quarter.
loading… Select all Deselect all
Payday timing — modeled bid by day-of-month vs SPX turn-of-month seasonality US retirement contributions land on paydays — mostly the 1st, the 15th and month-end. The bars show the modeled share of the monthly 401k bid by calendar day (from the US pay-frequency mix). The line (right axis) shows the observed average SPX daily % return by calendar day-of-month over the full daily record — the “turn-of-the-month” effect. Do the market’s strong days line up with when the modeled bid lands? Facts only; days 29–31 trade in fewer months (sample count n shown per day — read those with more caution).
Turn-of-month readcomputing…
Modeled = pay-frequency mixshare of the monthly bid by day, from weekly / biweekly (≈uniform) + semimonthly (1st & 15th) + monthly (month-end) pay schedules. Not the observed timing of trades.
Observed = daily SPXaverage SPX daily % return by calendar day-of-month over the full daily record — the turn-of-month effect often attributed to payroll / pension inflows.
Sample counts (n)days 29–31 occur in fewer months, so their averages rest on fewer observations (day 31 n≈175 vs ≈300 mid-month). Hover any day for its n.
Facts onlya historical average, not a prediction; whether modeled paydays line up with observed strength is descriptive.
Correlation table — each metric’s growth vs SPX and vs the 401k estimate Correlation of each metric’s year-over-year growth with SPX and with the 401k estimate. +1 = move together, −1 = opposite, 0 = no linear relationship. Levels all trend up, so growth rates are used (correlating raw levels is spurious). Click any column header to sort (toggles ascending / descending). Each cell shows the correlation r on a per-column green(+)↔red(−) heat.
−1 opposite+1 together cells show the correlation r · “—” = fewer than 12 overlapping months

Correlation of each metric’s year-over-year growth with SPX and with the 401k estimate. +1 = move together, −1 = opposite. Levels all trend up, so growth rates are used.

computing correlations…
Lead-lag heatmap — who turns before whom, vs SPX Cross-correlation of each series’ year-over-year growth against SPX growth at lags of −12 to +12 months. Positive lag = the metric turns before SPX (it leads); negative lag = it lags; the outlined peak cell is the strongest relationship. The 401k buying pressure row is pinned on top — does the mechanical bid lead the market? Each cell shows r×100.
−1+1 cells = correlation × 100 · outlined = each row’s strongest (peak |r|) lag

Positive lag = metric turns before SPX (leads); negative = lags; peak cell = strongest relationship. Computed on year-over-year growth over the full overlapping history.

computing lead-lag…
What this isapps2/401k · a modeled estimate of the mechanical 401k / defined-contribution equity bid, ranked against the macro series that co-move with (or lead) it and SPX.
Modeled vs observedthe composite LEVEL is a modeled estimate; its SHAPE is real wage data. Every other line is observed (FRED / Yahoo). Correlations use year-over-year growth (levels are non-stationary).
Adjust÷CPI = real purchasing power (value ÷ CPIAUCSL of its month); ÷M2 = vs money printing (value ÷ M2SL). Applied before normalize; a historical viz, not a tradeable signal.
SourcesFRED (fredgraph.csv, key-free) + Yahoo Finance daily closes, joined onto a monthly as-of grid (last observation ≤ month-end).
Data spanloading…
Ramp startsloading…