US CPI m/m on XAUUSD: the 15-minute directional walk is monotonic — and the big-beat median FLIPS sign by 4 hours (from -16 pips to +52)
198 non-contaminated US CPI m/m releases against gold since 2010, split into the five surprise buckets. At 15 minutes the median walk is +23 / +20 / +5 / -1 / -16 pips (big_miss → big_beat) and the pct-up walk is 83% / 70% / 58% / 49% / 43%. Both descend cleanly across all five buckets. At 4 hours the big-beat median has flipped sign — from -16 pips at 15m to +52 pips at 4h, with 67% of the 14 big beats now UP.
Same event, same instrument, same sample. Two different macro stories, priced at two different timescales.

The 15-minute walk (clean and monotonic)
| Bucket | n | 15m median | Pct up | p25 / p75 |
|---|---|---|---|---|
| big_miss | 12 | +23.5 | 83% | +5.8 / +93.5 |
| small_miss | 57 | +20.0 | 70% | -3.0 / +60.0 |
| in_line | 78 | +4.6 | 58% | -20.4 / +43.2 |
| small_beat | 37 | −1.4 | 49% | -56.5 / +23.7 |
| big_beat | 14 | −15.9 | 43% | -30.3 / +22.7 |
Every column walks monotonically bucket-by-bucket. Median +23.5 → +20.0 → +4.6 → −1.4 → −15.9. Pct-up 83 → 70 → 58 → 49 → 43. The reading at 15 minutes is the one everyone expects: US inflation prints hot, dollar strengthens, gold priced in that stronger dollar falls. Cool print, gold rises.
Notice that the big_miss and small_miss medians are almost the same magnitude (+23 vs +20pips) — the miss side is very flat past the small-miss threshold. That’s consistent with a “dollar mechanical” story: past a certain surprise size the immediate move is bounded by liquidity and half-a-standard- deviation of dollar strength, so the median doesn’t keep growing linearly with z. The pct-up column tells a cleaner story here — 83% up-rate on n=12 big_miss is meaningfully higher than 70% up-rate on n=57 small_miss, even though the medians are only 3 pips apart.
What happens next: the 4-hour flip
Windows past 15 minutes tell a different story. Here’s the big-beat median across all six windows the tool exposes:
| Window | big_miss median | big_beat median | big_beat pct up |
|---|---|---|---|
| 15m | +23.5 | −15.9 | 43% |
| 30m | +11.2 | +1.7 | 53% |
| 1h | +6.5 | −6.6 | 40% |
| 4h | +42.2 | +51.6 | 67% |
The big-beat median swings from -15.9 pips at 15m (dollar-mechanical story) to +1.7 by 30 minutes (essentially zero — the initial pop has been fully retraced) to -6.6 at 1h (a brief dip back toward the initial direction) and then to +51.6 pips at 4h. The pct-up column tells the same story: 43% → 53% → 40% → 67%. By 4 hours, both tail buckets (big_miss AND big_beat) have gold in positive territory — +42p and +52p respectively, with the beat side pct-up at 67% and the miss side at 58%.
Why the flip: two channels, two timescales
Channel 1 (dominates 0-15m): dollar mechanical. Gold is quoted in dollars. A US CPI beat pushes short-end rates and the dollar up. Gold priced in the newly-stronger dollar falls, one-for-one at the mechanical margin. This is fast, algorithmic, and settles inside 15 minutes. It’s the reading everyone knows.
Channel 2 (dominates 1h-4h): real yields. Once the market has had time to think about what the CPI print means for policy path, it re-prices the entire yield curve. If the Fed is expected to only partially match the higher inflation with rate hikes, then real yields (nominal minus inflation expectations) come out LOWER than they were before the print. Lower real yields raise the relative attractiveness of a zero-yield asset like gold. So the same CPI beat that made gold fall at 15m makes it rise at 4h — because the two windows are pricing two different things.
The miss side is more subtle: the immediate 15m response is a weaker-dollar move (miss → dollar down → gold up). Then at 4h, the same inflation-hedge story that lifts the beat side ALSO lifts the miss side, because a “dovish inflation” surprise is also a real-yield-lowering surprise if the market thinks the Fed will react faster on the dovish side than the hawkish side. Both channels line up on the miss side in the same direction; only on the beat side do they briefly disagree and create the flip.
What this doesn’t say
It doesn’t say every CPI print flips the same way. The 4h column is a bucket median across n=15 big-beat prints. Individual prints can and do cut through the flip in the other direction — most notably during episodes where the Fed is credibly hiking fast enough to keep real yields rising alongside inflation, in which case the 4h response stays negative like the 15m did.
It doesn’t hold past a few hours. By EOD and 3D/5D, other events accumulate between the CPI print and the measurement point, and the bucket ordering compresses toward zero. This is a 15m-through-4h finding.
The tail buckets are small. n=12 big_miss and n=14-15 big_beat carry wider confidence bands than the mid-tier buckets. Trust the direction of the flip (well-supported by n=15 and by the 67% pct-up reading); be less confident about the exact +52-pip magnitude.
Gold responds differently to different US data. On NFP (see the 2026-08-03 nfp-gold-mirror post) gold trades a much cleaner dollar-mirror pattern with no 4h flip — both the magnitude and the direction hold through EOD. That’s because NFP is primarily a growth-vs-labour surprise (single channel: dollar direction, both mechanical and real-yield- linked in the same direction), while CPI is primarily an inflation-vs-real-yield surprise (two channels that can disagree). Which channel dominates at which timescale is the pedagogy point.
Open the tool → Free forever. No signup. No email required.