The 30-year fixed enters Memorial Day week at 6.65% — the highest level since August 2025 and 20 basis points above where it closed the prior week. That's not a gradual drift; that's a week that fundamentally repriced the market. The 10-year Treasury, which drives most mortgage pricing, closed Friday at 4.56% after hitting a weekly high of 4.62% on Thursday. The modest Friday pullback came on renewed optimism around an Iran diplomatic signal that briefly took crude oil off its highs, but the relief was thin. Freddie Mac's PMMS confirmed the 30-year at 6.51% for the week of May 21 — its highest official weekly read since last summer — while some daily indices were tracking closer to 6.65% by the end of the week.
The macro backdrop is unambiguous. CPI is running at 3.8% — the hottest print since May 2023. Fed Governor Waller stated publicly just last Friday that inflation is "not headed in the right direction," and FOMC minutes released Wednesday confirmed what markets suspected: zero rate cuts are coming in 2026, the hike scenario has been explicitly discussed, and the committee is deeply divided. Kevin Warsh officially took the reins from Jerome Powell on May 18 and has been consistent in his hawkish posture. The fed funds target is parked at 3.50%–3.75% with no movement expected through year-end, and Bank of America has pushed its first-cut forecast out to Q3 2027.
For brokers, the practical setup this week is about two days: Thursday May 29 and Friday May 30. Thursday brings Q1 GDP's second estimate, Advance Durable Goods, and Initial Jobless Claims — a triple-data-point event with real repricing potential. Friday delivers April PCE, the Fed's preferred inflation gauge and the single most important data release in weeks. If core PCE prints at 0.3% month-over-month or higher, expect the 10-year to push above 4.65% and 30-year rates to test 6.75%+. A soft 0.1–0.2% read could produce the best rate-improvement day of the year. Everything floating in the pipeline that can realistically lock before Thursday morning close should be locked.