The Model Says Buy
The fair value model — a rolling 252-day OLS of EUR/USD on the US-DE 2-year rate spread — has EUR/USD at 1.1720. Spot is at 1.1517. That's a 203-pip gap, or −2.16 standard deviations below model-implied value.
This is the widest dislocation since March 2nd, when the spread was still at 145bp and spot was grinding toward 1.1700. In two weeks, spot fell 200 pips while the rate spread only compressed 7 basis points. The model moved a little. Price moved a lot.
What the chart shows: spot and fair value tracked each other into late February. Then the Hormuz crisis hit, and they divorced. Spot cratered on risk-off flows. The rate spread — which should be the primary EUR/USD driver — barely moved. The 2Y US-DE spread went from 145bp to 138bp. That's a 7bp compression in a world where oil doubled.
The model's read: EUR/USD should be 1.1720 based on rate differentials alone. The 200-pip discount is pure war premium.
The Rate Story
The 2Y spread at 138bp is at the −1.27σ z-score — 64th percentile historically, compressing. It was 145bp at the start of March. The direction is EUR-supportive: the spread is narrowing as the market prices divergent paths (Fed on hold longer, ECB potentially hiking into oil inflation).
But the 20-day change is only −3bp. This is not a rate repricing driving EUR/USD — the rate spread is barely moving. What moved EUR/USD 200 pips in two weeks was pure risk premium. The rate correlation (rolling 60-day EUR/USD returns vs spread changes) is at −0.245 — weakly negative, meaning the rate channel is operating but dominated by other forces.
The German 10-2 curve is steeper than the US curve (66bp vs 55bp). This matters because it reflects the Bund market pricing in the German fiscal bazooka: €126.7 billion in 2026 investment, €500 billion infrastructure fund, defense spending up to 2.8% of GDP. The long end of the Bund curve is repricing for a Germany that borrows and spends. That's structurally EUR-positive.
Who's In the Trade
The TFF (Traders in Financial Futures) breakdown adds nuance. Asset managers are short (−7,727). Dealers are short (−1,538). Leveraged money is barely long (+2,290). But the headline non-commercial position — +105,144 — is still net long. What happened: the long base that built through January and February is being dismantled. Specs peaked near +157K in late February and have been cutting at −31K/week pace.
This is a liquidation story, not a crowding story. The z-score at −1.66 says the current long is 1.66 standard deviations below its 52-week average — an unusually aggressive unwind. War-driven flows forced longs to cut, and the contrarian signal at +0.80 says the cutting has gone too far.
Key level: the estimated pain threshold sits at 1.1447 — the 2% loss level for the remaining long base, whose average entry is 1.1680. Spot hit 1.1416 on Friday, breaking below pain. That means forced liquidation is already in play. The question is whether the last longs capitulate (driving EUR lower) or whether the liquidation is nearly exhausted (setting up a bounce). The contrarian model says the latter.
Vol Architecture
5-day realized vol at 9.76% annualized — that's a 50% premium over the 22-day window (6.46%). When short-dated vol spikes while medium-term vol stays low, it means the market is adjusting to a new information regime but hasn't fully repriced the range yet.
GARCH(1,1) conditional volatility at 7.30% confirms: the model expects vol to stay elevated but not explode. The vol-of-vol at 1.30 is above normal — volatility itself is unstable, which means the daily ranges this week (FOMC Wednesday, ECB Thursday) could be outsized in either direction.
VIX z-score at +0.83 tells us equity vol is modestly elevated but not panicking. This is consistent with the broader signal check from yesterday — fear is fading even as the war intensifies. That's the gap between realized geopolitical risk and priced-in financial risk.
What's Driving EUR — And What Isn't
The correlation map reveals something important: EUR/USD is not being driven by any single cross-asset relationship right now. The rate spread correlation is −0.245 — weak, and this is normally the primary driver. Brent is −0.154 — oil is hurting EUR but not dominating. VIX and Gold are near zero. DAX near zero — German equities have completely decoupled from EUR/USD.
When everything decouples simultaneously, it usually means a single dominant narrative is overriding all the structural relationships. That narrative is the war. EUR is being treated as a European risk asset: oil war → energy import shock → EUR sells. It doesn't matter that rate spreads are compressing (EUR-positive) or that German fiscal spending is steepening the Bund curve (EUR-positive) or that specs are already maximally short. The war is the only input.
This is the kind of environment where the model gets the direction right but the timing wrong. When the narrative breaks — ceasefire, escalation beyond what's priced, or just fatigue — the cross-asset correlations will reactivate and the fair value gap will close. The question is when, not if.
The Macro Under the War
HICP at 1.9% is below the ECB's 2% target — pre-oil-shock. This is the last print before Brent went from $70 to $100. The March and April HICP prints will be the ones that matter. If oil pass-through pushes headline HICP above 3%, the ECB has to react. Markets already price 85% odds of a July hike.
German business confidence at −15.2 is ugly. German economic sentiment at 93 (neutral is 100) is the weakest since the 2022 energy crisis. But German factory orders surged 40% annualized on three-month basis — driven by defense and infrastructure spending. The fiscal bazooka is arriving, but it takes quarters to flow through sentiment surveys.
The surprise differential at +0.35 (EMA) favors the US slightly — US data has been less bad than European data relative to expectations. But both are negative in absolute terms (US momentum −0.21, EZ momentum −0.22). Nobody is outperforming expectations. The world is surprising to the downside simultaneously.
Fragmentation Risk
No fragmentation stress. BTP-Bund at 71bp is well below crisis levels (it hit 250bp in the 2022 repricing). But the notable read here is OAT-Bund at 72bp — France is now trading wider than Italy. That's the Macron deficit premium. It's not a EUR crisis signal, but it's a structural credit story that sits beneath the surface.
The CIP basis proxy at −44bp is consistent with modest dollar funding premium — not stress, but not normal either. The ESTR-SOFR differential at −177bp reflects the rate divergence directly.
This Week: Fed Wednesday, ECB Thursday
The asymmetry here is interesting. The EUR-negative scenario (hawkish Fed + dovish ECB) requires both central banks to surprise against expectations simultaneously. The EUR-positive scenario (any combination that isn't both) has more paths. Dovish Fed alone = EUR up. Hawkish ECB alone = EUR up. Both dovish = mixed but positioning unwind favors EUR. Both hawkish = EUR up on rate compression.
The only clean EUR-negative outcome this week is a Fed that signals no cuts for the rest of 2026 combined with an ECB that explicitly pushes back on July hike pricing. That's a narrow path.
Synthesis
Five of eight signals lean EUR-positive. One is neutral, two flash caution on timing (vol and correlations). The model says this is a −2.16σ opportunity to buy EUR/USD — a dislocation that historically reverts. The long base that drove EUR higher in January is being liquidated hard, with the contrarian model saying the unwind has overshot. Rate spreads are compressing. The ECB is repricing hawkish while the Fed stands still. German fiscal spending is a structural EUR tailwind that hasn't been priced yet because everyone is staring at oil.
The catch: all of this was true yesterday too, and spot still fell to 1.1416 — breaking below the pain threshold for remaining longs. The war narrative overrides everything when it's active. The signal is "buy the dislocation" but the timing is "wait for the catalyst." That catalyst is most likely to arrive Thursday at 13:45 CET when Lagarde speaks.
Model invalidation: If the 2Y spread widens back above 150bp (i.e., rate divergence reasserts in the US direction), the fair value estimate drops and the −2.16σ read compresses. Watch for a hawkish FOMC SEP as the trigger.
Positioning invalidation: If spot breaks below 1.1380 (below Friday's 1.1416 low), it means the remaining longs are capitulating, not stabilizing. That's a momentum regime, not a reversion setup — the liquidation has further to run.
Narrative invalidation: If Lagarde explicitly pushes back on July hike pricing ("premature to discuss rate increases"), the hawkish ECB leg collapses and the asymmetry shifts. That's the scenario where being long EUR hurts.