The Easiest Way to Track Sector Performance and Market Internals
Track all 11 S&P sectors and market internals in under one second using the free Utility Labels indicator for ThinkOrSwim. Covers sector rotation, breadth analysis, ThinkScript code, and combining sector data with the Volatility Box.
- Why Sector Analysis Matters for Every Trader
- The 11 S&P Sectors Explained
- Reading Sector Rotation Like a Professional
- Market Internals Overview: Beyond Price Action
- Breadth Indicators and What They Reveal
- Setting Up Sector Tracking on ThinkOrSwim
- The Utility Labels Indicator: Full Breakdown
- ThinkScript Code for Sector Stage Detection
- Combining Sector Data with the Volatility Box
- Practical Workflow: From Market Open to Trade Selection
- Tool Links and Free Downloads
- Frequently Asked Questions
Most traders spend 20 to 30 minutes each morning clicking through sector charts before placing a single trade. That routine is inefficient and leaves money on the table. The Utility Labels indicator for ThinkOrSwim compresses all 11 S&P sector readings, index performance data, and key market internals into a single color-coded label strip that updates in real time. One glance tells you which sectors are accelerating, which are decelerating, and where the highest-probability setups exist right now.
Why Sector Analysis Matters for Every Trader
Individual stock moves are driven by three forces: the broad market, the sector, and the company itself. Research from S&P Dow Jones Indices shows that sector allocation accounts for roughly 30% to 40% of total portfolio return variation. Ignoring sector context is like trading with one eye closed.
A strong stock in a weak sector often underperforms a mediocre stock in a strong sector. This relationship holds across all timeframes, from intraday scalps to multi-week swing trades. Sector analysis gives you a structural edge before you even look at a single chart pattern.
Professional trading desks monitor sector rotation as a primary input for position sizing and directional bias. Retail traders using thinkorswim indicators can replicate this workflow with the right tools. The Utility Labels indicator was built for exactly this purpose.
The 11 S&P Sectors Explained
The S&P 500 is divided into 11 sectors under the Global Industry Classification Standard (GICS). Each sector has a corresponding SPDR ETF that serves as the benchmark for tracking performance. Knowing these ETFs is essential for building any sector analysis workflow on ThinkOrSwim.
| Sector | ETF Symbol | Key Holdings | Weight in S&P 500 |
|---|---|---|---|
| Technology | XLK | AAPL, MSFT, NVDA | ~31% |
| Health Care | XLV | UNH, JNJ, LLY | ~12% |
| Financials | XLF | BRK.B, JPM, V | ~13% |
| Consumer Discretionary | XLY | AMZN, TSLA, HD | ~10% |
| Communication Services | XLC | META, GOOGL, NFLX | ~9% |
| Industrials | XLI | GE, CAT, UNP | ~8% |
| Consumer Staples | XLP | PG, KO, COST | ~6% |
| Energy | XLE | XOM, CVX, COP | ~4% |
| Utilities | XLU | NEE, SO, DUK | ~2% |
| Real Estate | XLRE | PLD, AMT, EQIX | ~2% |
| Materials | XLB | LIN, APD, SHW | ~2% |
Reading Sector Rotation Like a Professional
Sector rotation is the movement of capital from one sector to another based on the economic cycle, interest rate expectations, and risk appetite. It follows a predictable pattern tied to the business cycle. Early-cycle recoveries favor Financials and Consumer Discretionary. Late-cycle environments favor Energy, Materials, and defensive sectors like Utilities and Health Care.
The Utility Labels indicator makes rotation visible in real time. When defensive sectors (XLU, XLP, XLV) are in acceleration while cyclical sectors (XLY, XLF, XLI) are decelerating, that is a classic risk-off signal. The reverse pattern, with cyclicals leading, confirms risk-on behavior.
Tracking these shifts daily takes seconds with the Utility Labels. Without it, you would need to open 11 separate charts, compare percentage changes, and manually assess trend direction. The label strip condenses that entire workflow into a single visual scan.
Market Internals Overview: Beyond Price Action
Price action on SPY or QQQ tells you what happened. Market internals tell you why it happened and whether the move is likely to continue. Three critical internals are the TRIN (Arms Index), the advance/decline line, and the put/call ratio. Each one measures a different dimension of market participation and sentiment.
TRIN above 2.0 indicates heavy institutional selling pressure, which often marks short-term capitulation lows. TRIN below 0.5 signals excessive buying enthusiasm, a condition that frequently precedes pullbacks. The 10-day moving average of the put/call ratio above 1.0 suggests elevated fear (bullish contrarian signal), while readings below 0.85 suggest complacency (bearish contrarian signal).
The Utility Labels indicator integrates these readings alongside sector data. You get TRIN, put/call ratio, and all 11 sector stages in one horizontal label strip. No additional chart panels required. This is the same data institutional desks monitor, distilled into a format that works on a single ThinkOrSwim chart.
Breadth Indicators and What They Reveal
Market breadth measures how many stocks are participating in a given move. A rally driven by 400 of the 500 S&P components is far more sustainable than one driven by 10 mega-cap names. Breadth divergences, where the index makes new highs but fewer stocks participate, have preceded every major market top in the last 25 years.
The advance/decline line is the simplest breadth measure. Net advancing issues (advancers minus decliners) accumulated over time should confirm new index highs. When the S&P 500 prints a new high but the advance/decline line does not, that divergence is a red flag worth monitoring.
Sector breadth adds another layer. If 8 of 11 sectors are in acceleration while 3 are decelerating, the rally has broad support. If only 2 or 3 sectors are carrying the index higher, the advance is narrow and vulnerable to reversal. The Utility Labels indicator shows you this breadth picture instantly by color-coding each sector label according to its current market stage.
| Breadth Reading | Sectors in Acceleration | Market Condition | Suggested Bias |
|---|---|---|---|
| Strong Bullish | 8 to 11 | Broad participation rally | Aggressive long, calls |
| Moderate Bullish | 5 to 7 | Healthy uptrend with rotation | Selective long positions |
| Neutral / Choppy | 3 to 4 | Mixed signals, rotation heavy | Reduce size, neutral spreads |
| Weak / Bearish | 0 to 2 | Broad distribution or decline | Defensive, puts, cash |
Setting Up Sector Tracking on ThinkOrSwim
ThinkOrSwim provides native tools for sector analysis, but the default setup requires manual chart-switching. A more efficient approach uses the Utility Labels indicator to display all sector data as color-coded labels on a single chart. Here is the step-by-step process for configuring your workspace.
First, open any chart in ThinkOrSwim (SPY works well as a base chart). Go to Studies, then select Edit Studies. Search for the Utility Labels indicator (available as a free download from tosindicators.com/indicators). Add it to your chart. The indicator will populate labels across the top of your chart showing SPY, QQQ, and all 11 sector ETFs with their current market stage.
Each label is color-coded based on the four market stages: green for acceleration, orange for distribution, red for deceleration, and yellow for accumulation. This color system lets you assess the entire market in under one second. No scrolling, no chart switching, no manual calculations.
For additional context, consider adding a second panel below your main chart with the TRIN study. Reference $TRIN for the Arms Index and use a 10-period simple moving average of $PCALL for the put/call ratio. These two additions give you a complete market internals dashboard without cluttering your primary chart.
The Utility Labels Indicator: Full Breakdown
The Utility Labels indicator is the core tool featured in this analysis. It was designed to solve a specific problem: traders wasting time clicking through multiple charts to get a market overview. The indicator uses Volume Weighted Moving Averages (VWMA) at three periods (8, 21, and 34) to determine whether each symbol is in an acceleration, distribution, deceleration, or accumulation stage.
The four-stage classification is based on VWMA stacking order. When the 8-period VWMA is above the 21, and the 21 is above the 34, the trend is bullish (acceleration or distribution, depending on price relative to the Variable Moving Average). When the stacking is inverted (8 below 21 below 34), the trend is bearish (deceleration or accumulation).
The indicator displays labels for: SPY, QQQ, IWM (Russell 2000), and all 11 SPDR sector ETFs (XLK, XLV, XLF, XLY, XLC, XLI, XLP, XLE, XLU, XLRE, XLB). Each label shows the ticker symbol and its current stage, color-coded for instant recognition. The entire strip updates in real time across all timeframes.
Download the free Utility Labels indicator and the full Market Pulse study from the TOS Indicators library. Both are available at no cost and include complete ThinkScript source code.
ThinkScript Code for Sector Stage Detection
The logic behind sector stage classification uses Volume Weighted Moving Averages and a Variable Moving Average for confirmation. Below is a simplified ThinkScript snippet that demonstrates how the stage detection works for any given symbol. This code can be adapted as a thinkorswim scanner or used as a standalone label study.
# Sector Stage Detection - VWMA Method
# TOS Indicators | tosindicators.com
input symbolInput = "XLK";
input vwmaLen1 = 8;
input vwmaLen2 = 21;
input vwmaLen3 = 34;
input vmaLength = 21;
def symClose = close(symbolInput);
def symVolume = volume(symbolInput);
# Volume Weighted Moving Averages
def VWMA1 = Sum(symVolume * symClose, vwmaLen1) / Sum(symVolume, vwmaLen1);
def VWMA2 = Sum(symVolume * symClose, vwmaLen2) / Sum(symVolume, vwmaLen2);
def VWMA3 = Sum(symVolume * symClose, vwmaLen3) / Sum(symVolume, vwmaLen3);
# Variable Moving Average (volatility-adjusted)
def VMA = Average(symClose, vmaLength);
# Trend Direction
def bullish = VWMA1 > VWMA2 and VWMA2 > VWMA3;
def bearish = VWMA1 < VWMA2 and VWMA2 < VWMA3;
# Four Market Stages
def acceleration = bullish and symClose >= VMA;
def distribution = !bullish and !bearish and symClose >= VMA;
def deceleration = bearish and symClose <= VMA;
def accumulation = !bullish and !bearish and symClose < VMA;
# Label Output
AddLabel(yes, symbolInput + " " +
if acceleration then "ACCEL"
else if deceleration then "DECEL"
else if distribution then "DIST"
else "ACCUM",
if acceleration then Color.GREEN
else if deceleration then Color.RED
else if distribution then Color.ORANGE
else Color.YELLOW
);To scan for sector stage transitions (the highest-probability signals), modify the code to detect when a sector shifts from one stage to another. The transition from accumulation to acceleration is a strong bullish signal. The shift from distribution to deceleration is a strong bearish signal. These transition scans can be implemented as thinkorswim scanners to alert you the moment a sector changes character.
# Scan for Accumulation to Acceleration Transition
# Use in ThinkOrSwim Stock Hacker scanner
def VWMA8 = Sum(volume * close, 8) / Sum(volume, 8);
def VWMA21 = Sum(volume * close, 21) / Sum(volume, 21);
def VWMA34 = Sum(volume * close, 34) / Sum(volume, 34);
def VMA = Average(close, 21);
def bullishNow = VWMA8 > VWMA21 and VWMA21 > VWMA34;
def bullishPrev = VWMA8[1] > VWMA21[1] and VWMA21[1] > VWMA34[1];
# Signal: just entered acceleration
plot signal = bullishNow and close >= VMA and !bullishPrev;These thinkorswim scripts for day trading and swing trading can be applied to individual stocks as well as sector ETFs. Run the transition scanner on a watchlist of the 11 sector ETFs to get daily alerts when any sector shifts stage. Pair these alerts with the Utility Labels for a complete sector monitoring system.
Combining Sector Data with the Volatility Box
Sector analysis tells you where to look. The Volatility Box tells you where to enter. Combining both tools creates a two-step filtering process that dramatically reduces noise and improves trade selection. Sector data narrows your focus to the highest-probability areas of the market, while the Volatility Box provides precise support and resistance levels for timing entries and exits.
For example, the Utility Labels show XLK (Technology) in acceleration and XLE (Energy) in deceleration. You decide to focus long setups on tech stocks and short setups on energy names. Next, open the Stock Volatility Box on your chosen tickers. The Volatility Box plots dynamic support and resistance zones based on statistical models across multiple timeframes. Entries near Volatility Box support in an accelerating sector carry the strongest edge.
This workflow (sector direction from Utility Labels plus precise levels from the Volatility Box) is the same structure professional desks use. Macro view first, then micro execution. Most retail traders skip the macro step entirely and wonder why their technical setups fail. The sector context is what separates consistent traders from those who rely on hope.
Practical Workflow: From Market Open to Trade Selection
Here is a repeatable morning workflow that takes under 60 seconds and uses the tools discussed in this article. This process works for day traders, swing traders, and options traders alike.
Step 1: Check the Utility Labels (5 seconds). Open your SPY chart with the Utility Labels indicator loaded. Count the sectors in acceleration versus deceleration. If 7 or more sectors are green, your bias is bullish. If 7 or more are red, your bias is bearish. Mixed readings call for smaller position sizes or neutral strategies.
Step 2: Identify the strongest and weakest sectors (10 seconds). Scan the labels for green (acceleration) sectors. These are your long candidates. Scan for red (deceleration) sectors. These are your short or avoid list. Note any recent stage transitions, as these carry the highest momentum.
Step 3: Check TRIN and put/call ratio (10 seconds). If TRIN is at an extreme (above 2.0 or below 0.5), factor that into your sizing. Extreme TRIN readings often mark intraday reversal points. The 10-day put/call average provides a broader sentiment backdrop.
Step 4: Open the Volatility Box on your selected tickers (30 seconds). Within the strongest or weakest sectors, pull up specific stocks on the Volatility Box. Look for entries near dynamic support (for longs) or dynamic resistance (for shorts). These levels give you defined risk and clear invalidation points.
| Workflow Step | Tool Used | Time Required | Output |
|---|---|---|---|
| Market Bias | Utility Labels | 5 seconds | Bullish / Bearish / Neutral |
| Sector Selection | Utility Labels | 10 seconds | Strongest and weakest sectors |
| Sentiment Check | TRIN + Put/Call | 10 seconds | Extreme readings flagged |
| Entry Timing | Volatility Box | 30 seconds | Precise support/resistance levels |
Tool Links and Free Downloads
All of the tools referenced in this article are available through TOS Indicators. The Utility Labels indicator is a free download that includes full ThinkScript source code, installation instructions, and a video tutorial. The Volatility Box products are premium tools with live scanners and multi-timeframe support.
The free indicators library includes 39+ downloadable ThinkOrSwim studies covering volume analysis, moving average systems, squeeze indicators, earnings tools, and more. Each indicator comes with source code and a setup tutorial. For traders who want precise support and resistance levels, the Stock Volatility Box and Futures Volatility Box provide institutional-grade volatility models on ThinkOrSwim and TradingView.
Frequently Asked Questions
What is the Utility Labels indicator and how does it work on ThinkOrSwim?
The Utility Labels indicator is a free ThinkOrSwim study that displays color-coded labels for SPY, QQQ, IWM, and all 11 S&P sector ETFs on a single chart. It uses Volume Weighted Moving Averages (8, 21, and 34 periods) to classify each symbol into one of four market stages: acceleration (green), distribution (orange), deceleration (red), or accumulation (yellow). The indicator updates in real time on any timeframe, giving you a complete market overview in under one second without switching charts.
How do I use sector performance data to pick better trades?
Focus your long trades on stocks within sectors showing acceleration (green labels) and your short trades on stocks within sectors showing deceleration (red labels). A stock in an accelerating sector has a structural tailwind that increases the probability of a successful trade. Avoid taking long positions in decelerating sectors, even if the individual chart pattern looks attractive. Sector momentum acts as a filter that removes low-probability setups before you risk capital.
Can I use the Utility Labels as a ThinkOrSwim scanner?
The Utility Labels indicator is designed as a chart label study, not a scanner. However, the underlying ThinkScript logic (VWMA stacking and stage detection) can be adapted into thinkorswim scanners. Use the transition scanner code provided in this article to detect when sector ETFs shift from accumulation to acceleration or from distribution to deceleration. These stage transition scans identify high-probability momentum entries across all 11 sectors.
What are the four market stages and what do the label colors mean?
The four stages are: Acceleration (green) indicates a strong bullish trend with VWMAs stacked upward and price above the Variable Moving Average. Distribution (orange) signals a transition phase where the bullish stacking breaks down. Deceleration (red) indicates a strong bearish trend with VWMAs stacked downward and price below the Variable Moving Average. Accumulation (yellow) is a consolidation phase where selling pressure is fading but a new uptrend has not yet been confirmed.
How does the Volatility Box complement sector analysis?
The Volatility Box provides precise, model-driven support and resistance levels for individual stocks and ETFs. Sector analysis via the Utility Labels tells you which areas of the market have the strongest momentum. Combining both tools creates a two-layer filter: sector direction narrows your focus, and Volatility Box levels give you exact entry and exit prices. This combination reduces noise, defines risk clearly, and aligns your trades with the dominant market forces.
Is the Utility Labels indicator free and does it work on all timeframes?
Yes, the Utility Labels indicator is completely free to download from TOS Indicators. It includes full ThinkScript source code and works on every timeframe available in ThinkOrSwim, including 1-minute, 5-minute, hourly, daily, and weekly charts. The VWMA calculations adapt automatically to whatever timeframe your chart displays. Daily timeframes are recommended for swing trading analysis, while hourly or shorter timeframes work well for intraday sector monitoring.
Ready to Trade With an Edge?
Join 40,000+ traders using institutional-grade tools for ThinkOrSwim.
Get the Bundle