Weekly Stock Market Commentary 5/30/2025
$SPX gapped higher again this week, but the chart is only somewhat positive, and the internal signals continue to be mixed.
Last weekend, tariffs against Europe were postponed, and the stock market took that as a very favorable sign. When traders returned after the Memorial Day weekend, $SPX gapped higher on what turned out to be a very strong day for the big-cap stocks. The gap from that day extends down to 5830, and it would probably be a positive thing if that were filled. There are actually two gaps on the chart (circled in Figure 1), and the lower one extends down to the support level at 5700. A move below 5700 would be negative, but any pullbacks that held at or near 5700 would still be in the normal course of a bullish $SPX chart. There is resistance at last week’s highs near 5970 and also at the all-time highs of 6150.
Not all is bullish, though, and that is true of both the $SPX chart and the indicators in general. First of all, there is technically a lower high pattern, if one connects the February highs with the May highs. We had spoken of this possibility back when resistance at 5700 was overcome. If $SPX were above to move above 5970, that would eliminate this negative factor.
Another negative is that, when $SPX sold off sharply last Friday morning, it traded below 5795 and that was enough to confirm a new McMillan Volatility Band (MVB) sell signal. The previous signal – a buy, which took a long time to confirm – eventually was a profitable, but short-lived signal. The current sell signal has a target of the –4σ “modified Bollinger Band” (mBB), which is currently at 5560 and rising. On the other hand, if $SPX were to close above the +4σ Band, that would stop out the signal for a loss. That Band is at 6070 and rising.
Equity-only put-call ratios continue to decline, so these remain as bullish signals for the stock market. These ratios are beginning to reach the lower regions of their charts (Figures 2 and 3), but that is only an overbought condition and is by no means a sell signal.
Breadth has been in a fairly negative mode for the last couple of weeks. That had produced sell signals from our breadth oscillators. This week saw two days of positive breadth – especially the gap up day on May 27th. Despite that, the breadth oscillators remain on sell signals, for we require a two-day confirmation of any change of signal.
Cumulative Volume Breadth (CVB) made a new all-time high on May 27th, though. That was the third all-time high recently (see the Table on Page 1: yellow-filled rows indicate new highs for CVB). This is a longer-term buy signal which is predicting that $SPX will also follow along to new all-time highs of its own.
Neither New Highs nor New Lows on the NYSE have been able to exceed 100 issues on any day, so this indicator remains in a neutral state.
The other longer-term indicator that we have employed involves the difference between realized and implied volatility. That indicator gave a buy signal a couple of weeks ago, and it is still in place. Currently $VIX is trading near 19 and the 20-day historical volatility of $SPX (HV20) is at 17. So the difference is +2 now ($VIX minus HV20). This signal remains in place unless that difference falls to –10 or lower.
$VIX shot up to 25.53 last Friday (May 23rd) when the stock market opened sharply lower. $VIX then proceeded to retreat sharply that day, and by the end of the day had closed more than 3.00 points below that high. Thus a new “spike peak” buy signal was registered. It is still in place and will remain for 22 trading days, unless $VIX closes above 25.53 – which would stop out the trade.
That retreat from $VIX has continued this week, and it has closed below its 200-day Moving Average once again. That stops out the previous trend of $VIX sell signal. Even so, $VIX is not far below its 200-day moving average, so another trend of $VIX sell signal could emerge. But for now, there is not a trend of $VIX signal in place.
The construct of volatility derivatives remains slightly bullish for stocks. That is, the term structures of both the $VIX futures and of the Cboe Volatility Indices continue to slope upwards. That slope is not steep – especially in the $VIX futures – but as long as it is upwards, that’s a bullish sign for stocks. The $VIX futures are trading at a premium to $VIX, as well.
So, we have a generally mixed picture, with a slight weight of the evidence to the bullish side:
So, we are not holding a “core” position at this time. I suppose there are two ways to think of this: 1) the market is bullish but slightly exhausted after the large run-up from the April lows, or 2) there is more bearishness to come. A move above 5970 would confirm the bullish case, while a move below 5700 would bolster the bearish one.
Regardless, we will continue to trade confirmed signals as they appear. Roll deeply in-the-money positions to take partial profits and reduce risk of a reversal.