Market Analysis for The Week of 5/31
No Paywall this Week
If you are looking to join the Discord please see here: JOIN THE DISCORD Please email help@pharmdcapital.com if there are any technical issues. The daily and weekly plans are posted in the Discord so the Discord option includes Substack content, but a new Substack subscription does not include Discord access.
Be sure you have read the Starter Kit, including the free section even if you’re a paid subscriber. Trading Doggy Style Starter Kit
The 2026 Equity Markets Year Ahead can be seen here: 2026 Equity Markets Year Ahead
JOIN THE DISCORD for the intro course, weekly and daily plans, real time commentary and trade setups and swing trade alerts.
If you aren’t in the Discord or otherwise don’t have the indicator script it can be found here: PharmD_KS Indicator.
If you are in the Discord please see the TV-Indicator room for the script. It is pinned in that room
Add it to your favorites and follow the instructions (copy/paste daily and weekly levels into the respective sections) and use the converter to SPY/SPX/QQQ if you like.
Bold/Asterisked levels mean stronger and/or more important.
ES Levels/Ranges:
Will add higher if needed
7738-7741*
7716-7719
7696-7699*
7674-7677
7653-7656*
7631-7634
7610-7613
7569-7572* monitor for LBAF
7549-7552*
7515-7519*
7476-7480 Monitor for LBAF
7454-7457* Monitor for LBAF
7398-7403*
See last week’s levels for lower
NQ Levels/Ranges:
Will add higher if needed
31527-31545
31400-31420
31269-31288
31125-31143
31000-31018
30869-30886
30732-30750
30600-30617
30448-30469*
30242-30269* monitor for LBAF
30187-30192
30110-30129*
29848-29869* Monitor for LBAF
29769
29711-29730
29583-29600
29469-29487*
29378-29397* Monitor for LBAF
29101-29127* Monitor for LBAF
See last week’s levels for lower
COMMENTARY:
On both ES and NQ value gapped higher for the month of May and for this past week as the prior two-week balance was broken to the upside. ES struggled with the breakout for a couple of days while NQ held two ETH back tests almost perfectly. There is nothing bearish about this. On both ES and NQ the weekly profile was a double distribution to the upside. There is nothing bearish about this. To end the week we started to see some rotation into software with semis weak at times, but SMH still gapped value higher for the week and sits in a 4-day balance. I mentioned during the week that I expected this rotation and that it would likely mean brief periods of weakness in NQ, but that until/unless there is significant technical damage the dips will be bought. We’ll certainly need to keep an eye on SMH this week as a downside break of this 4-day balance (this past week’s range) would shift short time frames bearish on SMH and rotation into software and other names may or may not be sufficient to fully offset this weakness in NQ due to market cap weighting. There isn’t much more to say about the big picture. As I’ve stated for weeks, intermediate time frames don’t shift bearish until/unless there is a multi-week balance break to the downside. Last week took out the prior week’s low to potentially bring the weekly timeframe into balance, but we were prepared for the bullish engulfing week on QQQ and compound 2-week engulf on SPY. Short time frames can only shift bearish with a downside break of a multi-day balance.
PRICE:
ES:
The ES double distribution profile isn’t the cleanest to me. I’m going to use 7549-7552 and 7569-7572 as the most informative levels for next week. I’ll probably keep this past week’s 7590-7593 level as a daily level for Monday but I don’t see it as a durable weekly level. I’ve already established that there is nothing bearish. As always, this perhaps ironically means spending more time on the downside scenario as trading higher speaks for itself. We were ready for the “down then up” scenario the week of 5/17 through our extensive preparation and I will continue to have us prepared for the more difficult scenarios. Everyone (except stubborn perma bears perhaps) is a genius in an “up only” regime
Trading Higher:
While taking out Friday’s low would bring the daily timeframe into balance, I generally believe there is clarity in strength above 7569-7572. If lost it would be a key reclaim and we’ll be on watch for a quick LBAF or a reclaim later on after initial weakness.
Taking out and sustaining above this past week’s high (which sits in this past week’s 7610-7613 level) speaks for itself. The 7631-7634 level remains an upside target for me from the two-week balance, with a stretch target of 7738-7741 not unreasonable. That is well beyond the weekly expected move, but this market has been anything but “expected.” Regardless, we’ll be long biased above this past week’s high at least until a multi-day balance forms. The untested upside levels have been very good, but they are there as a general guide and certainly aren’t for randomly shorting without a damn good reason.
Trading Lower:
For all of the below, if we trade lower first this week then I tend to expect buyers to be more active than if we trade higher first, fail above this past week’s high and then trade lower. That said, buyers will ultimately step in on any weakness until sellers do meaningful technical damage which to me doesn’t take place until at least this past week’s low is taken out with continuation.
If 7569-7572 is lost (monitor for LBAF) it will be a key reclaim all week. The area between 7569-7572 and 7549-7552 should be controlled by buyers but there are some aspects of Thursday’s trend day structure that leave me unconvinced. There is no clarity within that range, but buyers should generally be favored.
The first pass below 7549-7552, like other weekly and daily plans, has me on watch for responsive buyers. Again, on ES I am less convinced than I am for NQ but I still won’t let my guard down on the short side on the first pass. Wednesday’s high sits at 47, the prior 2-week balance high sits at 40, and Thursday’s trend day left single prints running from 37-51. That is quite a bit to get through. As long as 49-52 and 69-72 are reclaimed, it will look like a trap. The more volume that builds above 7569-7572 before a downside break, the more likely it is that sellers may defend a lower high following a reactive bid from 49-52 or lower.
To me this can be summarized to suggest: Trading lower first early in the week is the least bearish, consolidating above 69-72 early in the week but without popping this past week’s high is slightly more bearish (but not meaningfully), and failing above this past week’s high and putting in volume above 7569-7572 before a break lower is the most bearish (but still not terribly so) outcome.
Persistent weakness below 7549-7552 is needed (again, careful that first past) to find a rotation down to 7515-7519 which includes this past week’s RTH low. If sellers take out this past week’s low and don’t have it bullish engulf in their faces, then the weekly timeframe will be in balance. The risk of a bullish engulfing week (or 2-week compound engulf like we just saw) would increase dramatically back above 7569-7572 in the even that 7515 is taken out first.
Meaningful traction below this past week’s low (lol I know) would have ES in a short time frame downtrend. Once again, it is reasonable to assume that this would be in search of a daily higher low. The profile from the week of 5/17 is relatively thin down to about 7454-7457 which I would expect to be supportive. If not, then I would consider it to be a bit of a red flag.
NQ:
NQ was a cleaner double distribution to the upside as compared to ES. I’ll use 30242-30269 and 30110-30129 (keeping both from this past week as is) as the most informative levels for the week. I mentioned above the possibility that we continue to see some rotation away from semis, but unless the SMH 4-day balance breaks to the downside with continuation it will remain well-bid. We’ve been long NOW in the Discord from the 88s ahead of this recent chase back into software. There’s no telling how long or how aggressive this rotation will be, but I think select names in software ultimately have a lot of room higher.
Trading Higher:
There is clarity in strength above 30242-30269 inclusive of a LBAF. Friday’s RTH low was 270 so NQ was a bit more cooperative than ES. This past week’s 369-386 level was extremely reactive until Friday abused it a bit, but plan to have it as a daily level to start the week.
Friday’s high acted a bit like an excess high above 448-469 which is part of why I’ve used it as a weekly level. It would also serve as a trappy back test of this past week’s high from above if we trade higher. Sustaining above 448-469 makes a run for Friday’s high and above there we simply continue “wen moon, wen lambo” mode until buyers properly exhaust out. Remember, short sellers don’t cause swing highs at an all-time high to form. It is buyers being done buying. My ultimate upside target from last week was the 30700s-30800s and I just didn’t think we would get there in one week. NQ cooperated in closing right at my last weekly level.
Trading Lower:
I have more confidence in NQ buyers defending the area between 110-129 and 242-269 and decided to leave 187-192 as a weekly level in the range. We had used it as a daily level for Friday and it remains untested. NQ had single prints on Thursday running 192-238. Those singles were tested on Thursday night producing our long setup, but they remain untested during cash hours. I tend to like to at least see the ETH lowq (216.5) taken out, but anywhere 187-238 has potential to be reactive. I’ll add one caveat to the above regarding my confidence in buyers. If SMH breaks its 4-day balance to the downside with continuation then I will be proceeding with more caution on NQ. The analysis still holds, but to remain fully long biased I would prefer to see SMH LBAF its 4-day balance at worst.
If buyers don’t control the range between 110-129 to 242-269 I still would expect 110-129 to be supportive at least on first touch (inclusive of a LBAF). Additionally, unlike ES, NQ left behind some significant demand on Thursday (call it 29990-30056. This has me even more cautious on the short side than for ES on a first pass below 110-129. It is risky to plan to bid this area directly as a long but I would plan to take profit on a short for sure and depending on what the daily session is telling us in the Discord I may look for a long knowing it must reclaim 110-129 and ultimately 242-269.
Persistent weakness below 110-129 after a test down to 29980-29990 or so opens additional weakness. This past week’s 29980-30000 was highly reactive on first touch and ended up a clear support/resistance, but given this past week’s VPOC was left there I plan to use something in that range as a daily level instead of a weekly level. A rotation to 29848-29869 (I kept the same weekly level from this past week but an argument can be made for up to the 880s which we used intraweek) is in the cards if 110-129 flips to firm resistance absent a reactive bid in the area mentioned above.
As long as 848-869 holds (or is later reclaimed with or without taking this past week’s low) a rotation right back to 30110-30129 is reasonable to expect.
I still need to see sellers find traction below 29711-29730 for me to give them any credit. Until then we’ll monitor for a LBAF of this past week’s low again with 848-869 (probably up to 880 in this scenario) being the first major reclaim. Sellers would be under pressure to defend 110-129 from below, and would arguably be fully deceased back above 242-269.
Like for ES (though perhaps to a lesser extent) the profile from the week of 5/17 is pretty thin down to about 29378-29397 but I left two weekly levels in between. I see 378-397 (I’ll probably have 317-338 as a daily level if needed) as being the strongest and most critical to hold.
I won’t cover any further as any discussion of downside has proven to be excessive planning outside of the week of the 17th. After this past week’s profile it would be quite a change in character to even see below 30110-30129 NQ and 7549-7552 outside of a quick trap. The daily plans will be absolutely critical if this plays out.
Video Supplement: Week of May 31 2026
—

