Relative Strength vs Benchmark measures how an asset performs against an index — not on an absolute basis, but relative to the market. When the RS line rises, the asset is gaining ground on the benchmark. When it falls, the asset is lagging even if price is moving up.
Section 1: Core Mechanics
Relative Strength vs Benchmark is not RSI (Relative Strength Index). It is a ratio comparison — the asset price divided by the benchmark price — displayed as a continuous line beneath the price chart. A rising RS line means the asset is outperforming the benchmark. A falling RS line means underperformance, even when price is rising in absolute terms.
Formula
Normalize to 1.0 at the start of the comparison period for visualization:
The IBD RS Rating is a proprietary percentile version: the asset's 12-month price performance (with the last 3 months weighted more heavily — approximately 40% of the score) ranked against all stocks in the database on a 1–99 scale. An RS Rating of 90 means the stock outperformed 90% of all other stocks over the past year.
Inputs
- Asset price: Daily closing price of the stock, ETF, or sector
- Benchmark price: Daily closing price of the comparison index (S&P 500 via SPY for US equities; XLK for tech sector; DIA for Dow)
- Start date: Normalize both series to 1.0 at the same start date for the comparison window
Parameters
| Parameter | Default | Range | Impact |
|---|---|---|---|
| Benchmark | S&P 500 (SPY) | Any liquid ETF or index | Changes what "outperformance" is measured against |
| Lookback for normalization | Rolling 12 months | 3–24 months | Shorter = more reactive to recent moves; longer = smoothed trend |
| Smoothing (optional) | None | 3–21 day SMA | Adding a moving average to the RS line smooths noise but adds lag |
Output Range
The RS Line is a ratio — values above 1.0 (or above the baseline) mean outperformance; values below mean underperformance. The absolute value is less important than the slope and recent trend.
Visual Behavior
Display the RS Line as a separate panel beneath the price chart. In strong bull markets, leaders show a rising RS line that makes new highs before or alongside price. RS divergence — price making new highs but RS line declining — signals distribution and fading leadership.
Section 2: Interpretation & Signals
RS Line Signal Zones
| RS Line Condition | Interpretation |
|---|---|
| RS Line rising and at new high | Asset is leading the market — buy candidates |
| RS Line rising before price makes new high | Early leadership signal — highest-conviction setup |
| RS Line flat while price rises | Underperforming the market — price move is weak |
| RS Line falling while price rises | Distribution — institutions rotating out |
| RS Line falling to new lows | Laggard — avoid or short in bear markets |
The Leadership Rule
The most powerful use of the RS Line is identifying which stocks lead before a price breakout. A stock whose RS Line makes a new high before price breaks out of a base pattern has been outperforming while consolidating — institutions are accumulating. This is the setup IBD calls an RS Line breakout, and it has historically preceded some of the strongest stock moves.
Sector Rotation via RS Lines
Sector RS Lines (each sector ETF vs. S&P 500) show where institutional money is flowing. Plot RS Lines for XLK (tech), XLV (healthcare), XLE (energy), XLF (financials), XLU (utilities). The sectors with rising RS Lines are in the current leadership cycle.
Standard business cycle rotation order:
- Recovery: Financials and Consumer Discretionary lead
- Expansion: Technology and Industrials lead
- Late Cycle: Energy and Materials lead
- Recession: Utilities and Consumer Staples lead
False Signals
Chart — RS Line Leading Price (SOX vs SPY, 2023)
Semiconductor Sector RS Line vs S&P 500 — 2023 (Normalized)
Section 3: Pass vs. Live — Real-Time Reliability
The RS Line updates once per day when both the asset and benchmark close. There is no intrabar noise. On a live bar, the RS Line shows the current intraday ratio, which will settle at close. The RS Line does not repaint — once both bars close, the value is permanent.
Section 4: Practical Use Cases
Setup: Calculate intraday RS vs. sector ETF on 5-minute bars Signal: Stock RS Line trending up while sector RS is flat = relative leader within the sector for the session Entry: Enter on the intraday pullback while the stock's RS stays above sector RS Exit: RS Line crosses back below the sector RS Line on 15m close Key rule: Intraday RS changes rapidly — use it as a bias filter, not a precise entry trigger
Setup: Plot daily RS Line vs. SPY for every watchlist stock Signal: RS Line makes a new 10-week high while price is still within 10% of its own new high Entry: Buy the next breakout from a valid base pattern (cup, flat base, double bottom) when RS is at new high Stop: Close below the base low — 7–8% below entry Target: 20–25% gain, or trail stop at the 8-week low under the new high
Setup: Weekly RS Line vs. S&P 500 for sector ETFs Signal: Three consecutive weekly closes with rising RS vs. benchmark = sector rotation underway Entry: Buy the leading sector ETF on the fourth week if RS continues; add individual leader stocks within the sector Exit: RS Line breaks its rising trendline on a weekly close Key rule: Portfolio should hold only sectors and stocks with RS Lines above their 10-week moving average
Real example: In January 2023, the Philadelphia Semiconductor Index (SOX) RS Line vs. S&P 500 turned up sharply from 0.91 to 1.08 by early March — a 19-point RS gain over 8 weeks. The sector then broke out in mid-March, delivering an additional 22% gain through May. The RS Line signal gave traders a 6-week head start before the price breakout was confirmed.
Section 5: Pseudo Code
INPUT: asset_prices[], benchmark_prices[], start_index=0
PROCESS:
Step 1: Normalize both series to 1.0 at start_index
asset_norm[i] = asset_prices[i] / asset_prices[start_index]
bench_norm[i] = benchmark_prices[i] / benchmark_prices[start_index]
Step 2: Calculate RS Line for each bar
rs_line[i] = asset_norm[i] / bench_norm[i]
Step 3: (Optional) Smooth with moving average
rs_smooth[i] = mean(rs_line[i - smooth_period + 1 : i + 1])
Step 4: Detect RS breakout (new N-week high in RS)
rs_high = max(rs_line[i - lookback : i])
if rs_line[i] > rs_high: signal = "RS New High"
OUTPUT: rs_line[] — ratio array; rs_smooth[] (optional); signals[]
EDGE CASES:
- If benchmark_prices contains a zero: skip (data error)
- If start dates differ between asset and benchmark: align on common start date
- NaN in either series: propagate NaN to rs_line for that bar
- Very short history (fewer than 20 bars): RS Line is valid but not meaningful — require minimum 52 bars
Section 6: Parameters & Optimization
Standard RS Line Conventions
| Setting | Common Use | Notes |
|---|---|---|
| Benchmark = SPY | US equity comparison | Default for all US stocks and ETFs |
| Benchmark = Sector ETF | Intra-sector leadership | XLK for tech stocks, XLE for energy, etc. |
| 12-month normalization | IBD-style RS comparison | Standard for leadership screening |
| 3-month normalization | Short-term rotation | Identifies recent momentum leaders |
Parameter Impact
| Change | Effect | When to Apply |
|---|---|---|
| Shorter normalization window | Reacts faster to recent outperformance | Active rotation, momentum strategies |
| Longer normalization window | Reflects sustained leadership over full cycle | Position trading, annual screening |
| Add 10-week MA to RS Line | Smooths noise, easier to identify slope direction | When raw RS Line is choppy |
Should I use SPY or the sector ETF as benchmark?
Use SPY for absolute market leadership — which stocks are outperforming the whole market. Use the sector ETF to find leaders within the sector — which stocks are beating their peers even when the sector is lagging the market. Both perspectives are useful. An ideal buy candidate has RS above both SPY and its own sector ETF.
What is the IBD RS Rating and how do I replicate it?
The IBD RS Rating (1–99) weights the most recent 3 months more than the prior 9 months — approximately 40% for the last quarter and 60% for the prior three quarters of the 12-month window. Calculate total return for each period, weight them, then rank the result against all other stocks in the universe. Values above 80 indicate a top-20% performer.
Section 7: Synergies & Conflicts
| Works Well With | Avoid Combining With | |
|---|---|---|
| Volume | Confirm RS Line strength with rising volume on up weeks and falling volume on down weeks | — |
| Base patterns | RS Line at new high entering a breakout from a cup or flat base = highest-confidence setup | — |
| Beta | A high-RS, high-Beta stock in a bull market = aggressive leader; size position accordingly | — |
| ADX | Rising ADX confirms the trend driving the RS Line — avoids acting on RS moves in choppy markets | — |
| RSI (Relative Strength Index) | — | Different tools despite the similar name — RSI measures momentum oscillation, RS Line measures comparative performance. Conflating them leads to analysis errors |
| Bollinger Bands | — | Bollinger Bands work on single-asset absolute price; combining with RS Line creates redundant clutter without adding signal |
| Static sector allocations | — | If your portfolio is fixed to equal sector weights, RS Line signals to rotate are useless — you need flexibility to overweight leaders |
Section 8: Common Mistakes
| Mistake | Root Cause | Solution |
|---|---|---|
| Confusing RS Line with RSI | Similar names, completely different calculations | RS Line = asset/benchmark ratio; RSI = momentum oscillator on single asset only |
| Buying a stock just because RS is at new high | RS alone is not sufficient — base quality and market conditions matter | Combine RS new high with a valid price base pattern and confirmed market uptrend |
| Using daily RS for sector rotation decisions | Sector rotation is a weekly and monthly phenomenon — daily RS is too noisy | Use weekly RS Line for sector rotation; daily RS for individual stock screening |
| Ignoring RS Line slope direction | An RS Line that is declining even if above 1.0 signals fading leadership | Focus on slope direction, not absolute RS level |
| Not anchoring the start date consistently | Comparing RS Lines with different start dates gives incomparable numbers | Always normalize all RS Lines to the same start date when comparing multiple assets |
Section 9: Cheat Sheet
USE WHEN: Screening for leadership stocks, identifying sector rotation, finding pair trade candidates, confirming breakout quality
AVOID WHEN: Markets are in a steep index downtrend — RS Line leaders in a bear market still decline, just less than the market
ENTRY SIGNAL: RS Line makes a new 10-week high while price is forming a valid base pattern; buy the base breakout
EXIT SIGNAL: RS Line breaks below its rising trendline on a weekly close, or asset underperforms benchmark for 3 consecutive weeks
PARAMETERS: Benchmark = SPY (default); normalize at 12-month lookback; add optional 10-week SMA for smoothing
CONFLUENCE: Combine with volume confirmation, ADX for trend strength, and base pattern analysis
RISK: RS leadership can reverse quickly on earnings — verify next earnings date before entering
BEST TIMEFRAME: Daily for stock screening; weekly for sector rotation decisions