NFP moves gold in the exact opposite direction it moves the dollar — and the mirror is remarkably clean
195 NFP releases on XAUUSD (gold) since 2010, split into the five surprise buckets, measured at 15 minutes. Big miss: median +79 pips, 89% of prints up. Big beat: median -108 pips, 8% of prints up. Every bucket in between sits in the correct order.
The pattern is cleaner and more monotonic than the same event against EURUSD, and unlike some NFP-on-USD-pair patterns it builds through the first hour instead of fading. The reason is the same reason gold has always been the odd instrument out on US data: both mechanical channels — dollar direction AND real yields — pull the same way.

The bucket table
| Bucket | n | 15m median | 1h median | EOD median | Pct up (15m) |
|---|---|---|---|---|---|
| big_miss | 9 | +78.6 | +114.3 | +139.1 | 89% |
| small_miss | 38 | +56.0 | +59.1 | +88.3 | 92% |
| in_line | 88 | +2.3 | +10.6 | +12.0 | 52% |
| small_beat | 47 | −49.3 | −31.5 | −38.8 | 32% |
| big_beat | 13 | −108.3 | −75.6 | −91.0 | 8% |
A few things worth staring at. First, 92% of the 38 small_miss prints and 89% of the 9 big_miss prints had gold higher 15 minutes later — near-unanimous directional agreement on both miss buckets. Second, the same is true in mirror image on the beat side: 32% up on small_beat (68% down) and 8% up on big_beat. Third, look across the row for big_miss: +79 → +114 → +139. The big-miss response growsas time passes, it doesn’t fade.
Compared to NFP on EURUSD
The natural comparison is NFP on EURUSD, which the Stats for Traders #2 and #3 posts both used. Same event, same window, different instrument:
| Bucket | EURUSD 15m | XAUUSD 15m | Ratio (XAU/EUR) |
|---|---|---|---|
| big_miss | +11.7 | +78.6 | 6.7x |
| small_miss | +12.1 | +56.0 | 4.6x |
| in_line | −2.7 | +2.3 | — |
| small_beat | −28.5 | −49.3 | 1.7x |
| big_beat | −34.6 | −108.3 | 3.1x |
Two caveats before reading these ratios: XAUUSD pip-size is 0.1 and EURUSD pip-size is 0.0001, so “pips” on the two instruments aren’t the same physical quantity. And the two markets have very different typical daily ranges. What the ratio column does show clearly is the shape: EURUSD’s response is much larger in magnitude on the beat side than on the miss side (asymmetric), but XAUUSD’s response is symmetric — big-miss and big-beat medians are both around 100 pips in absolute value.
The symmetric shape is a hint about what’s driving the move. If it were purely a “risk-on / risk-off” response to the surprise, we’d expect asymmetry (risk-on flows are typically faster and more decisive than risk-off). The symmetry on gold is more consistent with the mechanical yield-differential story: both channels flip cleanly around the surprise threshold.
Why the mirror is so clean on gold
A US growth surprise pulls two levers, both of which work against gold on a beat and both of which support it on a miss.
Channel 1: dollar direction. Gold is quoted in dollars. A stronger dollar mechanically reprices gold lower (approximately — the actual translation involves cross-market arbitrage, but as a first-order approximation the effect is immediate). NFP beat → dollar strengthens → gold priced in that stronger dollar falls.
Channel 2: real yields. A hot NFP pushes Treasury yields higher. Gold has no yield of its own, so its opportunity-cost benchmark just rose. Higher real yields make holding gold relatively more expensive, so gold price falls. NFP beat → real yields rise → gold falls.
Both channels push the same direction, which is why the pattern on XAUUSD is so clean. On EURUSD only Channel 1 is active, and it’s being pushed against by whatever the EUR-domestic macro backdrop is on the day. On XAUUSD there is no “other side of the trade” that could be pushing back — both channels reinforce.
The tail buckets are small — the direction is not
big_miss n=9 and big_beat n=13 are tail buckets, and — per Stats for Traders #3 — the precise median values on tail buckets carry wide confidence intervals. The +79 pip big_miss median at 15m has substantial uncertainty around it; trust the sign, be less confident about the exact magnitude.
The direction is what’s well-supported: 8 of 9 big-miss prints had gold higher 15 minutes later, 1 of 13big-beat prints did. Directional unanimity on both tail buckets, on a stock of 195 releases spanning 2010 through mid-2026, is unusual enough that it’s the load-bearing finding of this post — not any specific magnitude number.
What this doesn’t say
It doesn’t say gold always trades opposite to the dollar. This post is about the NFP-driven component. On any given non-NFP day, gold and the dollar can and do move together (when both are getting bid as safe havens in a risk-off flight, for example). The mirror is specific to growth-and-yield surprises where both channels activate at once.
It doesn’t hold past a week. At the 3D and 5D windows (available in the tool but not shown in the table above) the bucket ordering compresses toward zero as other events accumulate between the NFP print and the measurement point. This is a 15m-through-EOD signal.
The 4h and EOD n counts are smaller than 15m and 1h. Some recent releases don’t yet have full 4h/EOD windows available, and the tool’s non_contaminated population filter drops any window whose measurement period would overlap with the next tier-3 event. That’s why big_miss shrinks from n=10 (1h) to n=6 (4h/EOD). Direction still holds; magnitudes on those two windows are on the thin side.
Open the tool → Free forever. No signup. No email required.