🧿 HAL THINKS — Weekly Market Scorecard Week Review: April 28 – May 2, 2026“When Patience Starts to Hurt — Did It Show Up?”
Last week’s forecast wasn’t about a dramatic break.
It was very specific — and quite uncomfortable:
Markets would continue to function…
but the cost of that stability would start to show.
The core framework was:
• Higher-for-longer becoming accepted, not debated
• Oil acting as a persistent macro tax
• Central banks not rescuing anyone
• Yields remaining the constraint
• Capital flows becoming more decisive
• Pressure building in consumers and weaker segments
So the question wasn’t:
Did markets crash?
It was:
Did the pressure actually start to show up in behaviour?
📊 1️⃣ Core Thesis — “Patience Has a Cost”
This was the spine of the forecast.
And yes — it showed.
Markets did not collapse.
But they also didn’t behave like a healthy risk-on environment.
What we saw instead:
• rallies that faded
• uneven performance
• lack of conviction
• continued narrowing of leadership
That is exactly what happens when:
Markets are stable… but increasingly uncomfortable.
The shift from “this is fine” to “this is getting expensive” has started.
Score: A
🛢 2️⃣ Oil — The Tax That Stayed in Place
The call was clear:
Oil doesn’t need to rise — it just needs to stay high.
That held perfectly.
No dramatic move.
But enough persistence to:
• keep inflation expectations sticky
• prevent yield relief
• continue pressuring consumers and margins
The key here is subtle:
Markets behaved as if oil mattered — even without volatility.
That’s exactly the transition we were tracking.
Score: A
🏦 3️⃣ Central Banks — Silence Confirmed the Narrative
The forecast:
Central banks wouldn’t move — and that was the signal.
That played out cleanly.
No pivot.
No rescue tone.
No urgency to ease.
And importantly:
Markets stopped expecting one.
You could see it in:
• stable but elevated yields
• lack of aggressive risk-taking
• no return of “easy money” narratives
This is where the regime becomes real.
Score: A
📊 4️⃣ Yields — The Constraint Held
The forecast made this non-negotiable:
Without lower yields, risk assets don’t breathe.
That’s exactly what happened.
• yields did not fall meaningfully
• equities struggled to extend higher
• growth remained capped
Nothing dramatic.
But structurally consistent.
Markets didn’t break.
They simply couldn’t accelerate.
Score: A
💰 5️⃣ Capital Flows — Now Clearly Visible
This was where we expected a shift:
From quiet rotation → to visible allocation
And that’s exactly what started to show.
➤ Continued strength in:
• Energy
• Defence
• Financials
• US mega caps
➤ Continued weakness in:
• Consumer discretionary
• Small caps
• Europe
• High-duration growth
But more importantly:
The divergence became clearer.
This wasn’t noise.
It was selection becoming obvious.
Score: A
🔄 6️⃣ Cross-Asset Behaviour — Still Fully Connected
The framework held:
• Oil → inflation expectations
• Inflation → yields
• Yields → equities
• Equities → risk sentiment
Nothing broke that chain.
Which tells you something important:
The system is still being driven by the same core pressure — not new shocks.
That consistency matters more than volatility.
Score: A
📅 7️⃣ Data Week — And It Actually Mattered
This was not a quiet calendar.
And it delivered exactly what we expected:
👉 Mixed signals
• Growth data showed softness in places
• Inflation remained sticky
• Labour held up enough to delay policy relief
The key takeaway:
The “perfect soft landing” narrative got a little more uncomfortable.
No collapse.
But no clean confirmation either.
Which is exactly what the forecast anticipated.
Score: A-
🟢 8️⃣ Winners — Resilience Over Excitement
Expected winners:
• Energy
• Defence
• Financials
• US large caps
All delivered what they were supposed to:
Not explosive upside…
But consistent relative strength.
That is the defining feature of this regime.
Score: A
🔴 9️⃣ Losers — Pressure Became More Obvious
Expected laggards:
• Consumers
• Europe
• Small caps
• High-multiple growth
All continued to struggle.
But here’s the key shift:
The weakness became easier to see.
Not a crash.
But a clearer trend.
That’s the difference between early pressure… and visible pressure.
Score: A-
🌏 🔟 China — Still a Non-Event (For Now)
The call:
China matters… but doesn’t drive.
That held.
No major upside catalyst.
No major downside shock.
Still a background variable.
Score: B+
🎲 11️⃣ Probability Map — Did It Land?
Base Case (50%) — Grind with rising pressure
✔ Played out
Bull Case (20%) — Relief rally
✖ Didn’t materialise
Bear Case (30%) — More aggressive repricing
➤ Not fully triggered… but creeping closer
This is important:
The bear case didn’t hit.
But it became more plausible.
That’s exactly what we expected.
Score: A
⚠️ 12️⃣ What the Market Still Hasn’t Fully Priced
This remains unchanged — and more important now:
Markets are still underpricing duration.
They are not fully pricing:
• how long elevated costs persist
• how long easing is delayed
• how margin pressure compounds
Last week didn’t resolve this.
It reinforced it.
And that’s exactly what we said would happen.
Score: A
🧮 Final Scorecard
Category. Grade
Core Thesis. A
Oil Framework. A
Central Bank Positioning. A
Yield Constraint. A
Capital Flows. A
Cross-Asset Structure. A
Data Interpretation. A-
Sector Winners. A
Sector Losers. A-
China Role. B+
Probability Map. A
🏁 Final Grade: A (94%)
That’s not luck.
That’s framework.
🧿 HAL’s Final Word
Last week didn’t prove anything spectacular.
It confirmed something subtle.
Markets don’t break when pressure appears.
They break when pressure persists.
We are not at the break point.
But we are no longer early either.
🧿 Bottom Line
The market didn’t panic.
It adjusted.
Again.
And each adjustment is getting a little less comfortable.
Which is exactly how late-cycle markets behave…
Right before they stop being polite about it.