Breadth is doing the heavy lifting today. 268 advancers vs 141 decliners in the S&P 500 (A/D 1.90, 65.5% green) says this move in
$SPY is getting real participation, not just a couple megacaps cosplaying as a rally. New highs still beat new lows 13 to 8, and you’ve got 11 names ripping 4% versus 5 getting smoked. Only tell is the tape quality: up-on-volume is losing 1 to 2, and 30% of stocks are still stuck in Stage 4 while 49% sit in Stage 2. Healthy breadth, slightly suspect conviction. ✅