Connors RSI is a proprietary three-component oscillator designed specifically for mean reversion in equity indices and liquid ETFs — combining price RSI, momentum streak RSI, and rate-of-change percentile into a single composite signal with documented historical edge.

Mean Reversion / Momentum
Category
Advanced
Difficulty
0 to 100
Output Range
RSI(3) + RSI(2) of streak + PercentRank(100) of 1-day ROC
Default Period
None — all components use closed bars only
Repaint Risk
Moderate — requires tracking consecutive up/down day streaks
Data Need
MEANREVERSION · MOMENTUM · OSCILLATOR · CODE_HEAVY · LAGGING · REAL_TIME
Tags

Section 1: Core Mechanics

Larry Connors designed ConnorsRSI to address a key weakness in standard RSI: a single RSI reading combines multiple different market phenomena — price distance from mean, momentum streak duration, and relative rate of change — into one number. ConnorsRSI separates and measures each component independently, then averages them.

Formula

Component 1 — Short RSI of price:

Standard RSI calculation over 3 periods. Captures whether price is overbought or oversold on a very short-term basis. RSI(3) is intentionally aggressive — it reaches extremes faster than the standard RSI(14).

Component 2 — Streak RSI:

First, compute the streak: the number of consecutive days price closed higher (positive integer) or lower (negative integer). Example: 3 consecutive up days = streak of +3. 2 consecutive down days = streak of -2. A reversal day resets the streak to ±1.

RSI applied to the streak series over 2 periods. This measures whether the current run of consecutive up/down days is extreme relative to recent streak history.

Component 3 — PercentRank of 1-day ROC:

Where is the 1-day percentage change, and PercentRank measures where today's ROC falls in the distribution of the past 100 daily ROC values. Output: 0 (lowest ever) to 100 (highest ever).

Final composite:

Inputs

  • Price source: Close price (standard)
  • RSI(3) period: Fixed at 3 — not typically varied
  • Streak RSI period: Fixed at 2 — not typically varied
  • PercentRank lookback: 100 days — the primary adjustable parameter

Parameters

Parameter Default Range Impact
RSI period (C1) 3 2–5 Shorter = faster signal, lower = more extreme extremes
Streak RSI period (C2) 2 1–3 2 is standard — rarely changed
PercentRank lookback (C3) 100 50–252 Longer = more statistical context for ROC ranking
Oversold threshold 10 5–15 Below this = long signal on S&P instruments
Overbought threshold 90 85–95 Above this = exit / short signal

Output Range and Meaning

ConnorsRSI outputs 0 to 100. Unlike standard RSI, the operative thresholds are much more extreme:

  • CRSI below 10 = extreme oversold — primary long signal for index ETFs
  • CRSI above 90 = extreme overbought — primary exit / short signal
  • CRSI at 50 = neutral — no signal

Visual Behavior

CRSI plots as a single smooth line between 0 and 100. It drops to extreme lows more frequently than RSI(14) but less frequently than StochRSI — representing a middle ground in sensitivity. In trending markets it will drift in one direction without reverting.


Section 2: Interpretation & Signals

Signal Zones

CRSI Level Interpretation
Below 5 Extreme capitulation — highest conviction mean reversion long on indices
5 to 10 Oversold — primary entry zone for SPY/QQQ mean reversion
10 to 30 Below neutral — consider reducing short exposure
30 to 70 Neutral range — no directional edge
70 to 90 Above neutral — consider reducing long exposure
90 to 95 Overbought — primary exit zone for longs / short entry zone
Above 95 Extreme stretch — highest conviction exit of long positions

Entry and Exit Rules

Long entry: CRSI drops below 10 on a confirmed daily bar close. Enter the next day's open. This is the primary signal for S&P 500 ETFs (SPY, QQQ, IWM), sector ETFs, and large-cap liquid stocks.

Hold period: Connors research showed optimal holds of 1 to 5 trading days. The mean reversion typically completes within this window. Do not hold longer — if CRSI does not rise above 30 within 5 days, the thesis has failed.

Exit: CRSI rises above 70 (conservative exit) or 90 (aggressive exit to capture full reversion). Most implementations use 70 as the standard exit threshold.

Short entry (more cautious): CRSI rises above 90 on a confirmed close. Enter short at next day's open. The short side is less reliable than the long side — indices have an upward drift bias.

Streak Component Deep Dive

The streak is the most unique element of ConnorsRSI. A streak of +5 means price closed higher for 5 consecutive days. RSI(2) of this streak series captures whether that streak length is extreme relative to recent streak history. A streak of +5 occurring when the 2-period average streak is only +1 produces a high RSI(2) of streak — adding to the overbought CRSI reading.

💡 TIP
The streak component is what distinguishes ConnorsRSI from regular RSI or StochRSI in one important way: it can identify situations where price has only moved modestly lower but has done so for an unusual number of consecutive days. A slow grinding 5-day decline may barely register in RSI(3) but produces an extreme streak RSI. This catches mean reversion setups that price-only oscillators miss.

Divergence

Standard divergence analysis is less applicable to CRSI than to price-based oscillators. Instead, watch for CRSI re-entry from above: CRSI drops below 10, price bounces back to neutral, then CRSI drops below 10 again. The second re-entry with a shallower price low (price not making a new low) is the stronger signal — momentum of selling is exhausted.

False Signals

⚠️ WARNING
ConnorsRSI was backtested primarily on the S&P 500 and related ETFs over a specific historical period (2000-2012). Applying it to individual volatile stocks, small-caps, or cryptocurrencies significantly degrades its performance. The documented 75% win rate is for index-level instruments in mean-reverting regimes. Do not extrapolate this rate to other asset classes without independent verification.

Best Market Conditions

CRSI is purpose-built for:

  • SPY, QQQ, IWM, XLF, and similar large-cap liquid ETFs
  • S&P 500 constituent large-cap stocks in correction phases
  • Range-bound or mild bear phases, not crash conditions (use market-regime filter)
⚠️ WARNING
During actual market crashes (S&P 500 down more than 15% from recent highs in under 3 months), CRSI below 10 becomes a dangerous signal. The mean reversion assumption breaks in crash dynamics. Apply a regime filter: only use CRSI signals when SPY is above its 200-day SMA to avoid catching falling knives in bear markets.

Chart Setup — ConnorsRSI Below 10 Entry Signal

ConnorsRSI Below 10 — Mean Reversion Entry on SPY


Section 3: Pass vs. Live — Real-Time Reliability

None — all three components use only closed bars
Repaint Risk
RSI(3) is fast but streak and PercentRank use 100+ bar lookback — regime changes are slow to register
Lag
Signal valid on bar close — all calculations use confirmed data
Confirmation Timing
Index ETF mean reversion with 1-5 day holds — specifically SPY, QQQ, sector ETFs
Best Use
Individual volatile stocks, crypto, small-caps, and markets in confirmed bear trend (SPY below 200-day SMA)
Avoid

All three components of ConnorsRSI are calculated on confirmed closed bars. The streak count updates only when a new bar closes — there is no intra-bar ambiguity. PercentRank compares today's confirmed ROC against the prior 100 confirmed daily closes. This makes ConnorsRSI one of the cleaner indicators for backtesting — no lookahead bias, no repaint risk.


Section 4: Practical Use Cases

Setup: CRSI is not recommended for intraday scalping — it was designed for daily bars Alternative: Use StochRSI or CCI for intraday mean reversion instead If forced to use: Apply CRSI only on completed hourly bars with all 3 components calculated on 1H closes — treat threshold as below 15 (not 10) due to reduced statistical significance on intraday data Key rule: Confirm with 4H trend direction before any intraday CRSI signal

Real example and documented performance: Larry Connors' research tested ConnorsRSI below 10 signals on the S&P 500 from 1995 through 2010. Over 1,100 tested signals with 1-to-5-day holds, the strategy showed approximately 74-76% winning trades with average gains of 0.8% per trade (annualized to approximately 15% net return). The edge decays significantly when applied to individual stocks — the index-level diversification effect is part of what makes CRSI work.


Section 5: Pseudo Code

INPUT: close_prices[], rsi_period=3, streak_rsi_period=2, pct_rank_period=100

PROCESS:
  Step 1: Calculate Component 1 — RSI(3) of close
            avg_gain, avg_loss via Wilder smoothing (RMA)
            c1[i] = RSI value at bar i using 3-period lookback

  Step 2: Calculate streak for each bar i:
            if close[i] > close[i-1]:
                if streak[i-1] > 0:
                    streak[i] = streak[i-1] + 1
                else:
                    streak[i] = 1
            elif close[i] < close[i-1]:
                if streak[i-1] < 0:
                    streak[i] = streak[i-1] - 1
                else:
                    streak[i] = -1
            else:
                streak[i] = 0  # flat day resets streak

  Step 3: Calculate Component 2 — RSI(2) of streak
            c2[i] = RSI value at bar i using streak[] series and 2-period lookback

  Step 4: Calculate Component 3 — PercentRank of 1-day ROC over 100 bars
            roc[i] = (close[i] - close[i-1]) / close[i-1] * 100
            window = roc[i - pct_rank_period + 1 : i + 1]
            rank = sum(1 for r in window if r <= roc[i])
            c3[i] = (rank / pct_rank_period) * 100

  Step 5: ConnorsRSI = average of three components
            crsi[i] = (c1[i] + c2[i] + c3[i]) / 3

OUTPUT:
  crsi[] — values 0 to 100
  buy_signal: crsi[i] < 10 and close[i-1] > sma_200[i-1] (regime filter)
  exit_signal: crsi[i] > 70

EDGE CASES:
  - Minimum bars: rsi_period + pct_rank_period + streak_rsi_period + buffer ≈ 110 bars
  - Flat close (close[i] == close[i-1]): streak = 0, treat as streak reset
  - Crash environment: disable when SPY below 200-day SMA — return DISABLED flag
  - PercentRank ties: count all bars with ROC equal to or less than current

Section 6: Parameters & Optimization

Standard Parameter Conventions

Parameter Connors Default Conservative Aggressive
RSI period 3 5 2
Streak RSI 2 3 2
PercentRank lookback 100 200 50
Buy threshold 10 8 15
Exit threshold 70 80 60

Parameter Impact

Change Effect When to Apply
Raise buy threshold to 15 More signals, lower average quality Highly liquid ETFs where false signal cost is low
Lower buy threshold to 5 Fewer signals, higher average quality Conservative risk management approach
Extend PercentRank to 200 More robust ROC percentile — uses 1-year history Higher accuracy in less volatile instruments
Raise exit to 90 Hold longer for fuller reversion — more risk Confirmed bull market environment only
Can ConnorsRSI be used on individual stocks?

Connors' original research showed the edge degrades significantly on individual stocks compared to ETFs. The fundamental reason: individual stocks have idiosyncratic risk (earnings, news, FDA approvals) that permanently shifts the mean — breaking the reversion assumption. Stick to S&P 500 index ETFs (SPY), sector ETFs (XLF, XLE, XLK), and very large-cap liquid stocks (AAPL, MSFT, JPM). Avoid any stock in a merger, litigation, or bankruptcy process.

Is the documented 75% win rate still valid today?

Connors published results from 1995-2010. Like all published edge, awareness of the strategy creates some degradation. Current research suggests the win rate on SPY is approximately 65-70% post-publication, still positive but reduced. The edge persists because most retail traders lack the discipline to hold through intraday volatility during the oversold period. The behavioral edge (staying in an uncomfortable position) is harder to arbitrage away than a pure statistical one.

How does ConnorsRSI compare to just using RSI(2)?

RSI(2) was an earlier Connors strategy — very short-term RSI also signals mean reversion effectively. ConnorsRSI was designed to improve on RSI(2) by adding streak and ROC context. In practice, RSI(2) below 2 on SPY has similar win rates to CRSI below 10. CRSI's advantage is slightly fewer false signals in sideways-choppy markets due to the three-component averaging — none of the three components alone is as extreme as RSI(2).

Market-Specific Adjustments

  • SPY/QQQ: Default parameters — designed specifically for these instruments
  • Sector ETFs (XLF, XLE): Raise buy threshold to 12 — sectors move more than the broad index
  • International ETFs (EEM, EFA): Extend PercentRank to 150 — international cycles are longer
  • Individual large-cap stocks: Use with 200-day SMA filter AND earnings calendar exclusion

Section 7: Synergies & Conflicts

Works Well WithAvoid Combining With
SMA(200) regime filterThe most critical filter — only take CRSI longs when the instrument is above its 200-day SMA. This alone reduces crash-style losses dramatically.
RSI(14) as confirmationIf RSI(14) is also below 40 when CRSI drops below 10, the setup is confirmed on two timeframes of RSI — higher conviction
Earnings calendar exclusionFilter out any CRSI signal within 5 days of an earnings announcement — the mean reversion thesis assumes no fundamental discontinuity
Volume spike confirmationA CRSI below 10 occurring on above-average volume suggests panic selling — higher probability of sharp mean reversion bounce
MACD trend-following signalsIf MACD is bearish when CRSI hits below 10, do not override CRSI with MACD — they are measuring different things. But in a crash, MACD will be extremely bearish while CRSI is below 10 — in that case, apply the 200-day SMA filter to stay out.
Stochastic RSI redundancyCRSI already includes an RSI component — adding StochRSI creates overlapping information without additional signal quality
Sector rotation signalsCRSI is a short-term mean reversion indicator — do not mix with 12-1 momentum sector rotation strategies which have fundamentally different holding periods

Section 8: Common Mistakes

Mistake Root Cause Solution
Applying ConnorsRSI to volatile individual stocks Ignoring the asset class restriction Use only on index ETFs and large-cap liquid equities with ADX below 25
Skipping the 200-day SMA regime filter Treating CRSI as unconditional Hard-code the regime filter: no long signals when SPY below SMA(200)
Holding past 5 trading days Waiting for "full" recovery on a failed signal Define a time stop: exit on day 5 regardless of CRSI level
Using CRSI for short entries in a bull market Index drift is upward — shorting against it fails Short entries above 90 only in neutral or bear markets — not in bull markets
Applying to earnings-period stocks Earnings create fundamental price shifts, not mean reversions Filter out all CRSI signals within 5 calendar days of earnings release

Section 9: Cheat Sheet

ℹ️ INFO
**Connors RSI**

USE WHEN: SPY/QQQ/sector ETF above 200-day SMA, CRSI drops below 10, no earnings in next 5 days, large-cap liquid instrument only
AVOID WHEN: Instrument below 200-day SMA (crash risk), individual volatile stocks, crypto, biotech, within 5 days of earnings, CRSI below 10 for more than 5 consecutive days (trend, not reversion)

ENTRY SIGNAL: CRSI closes below 10 on daily bar → enter next day's open. Add at CRSI below 5 (second tranche) and below 3 (third tranche).
EXIT SIGNAL: CRSI rises above 70 → exit at next open. Time stop: exit on day 5 if CRSI has not risen above 70.

PARAMETERS: RSI(3) + RSI(2) of streak + PercentRank(100) — do not vary these without extensive backtesting
CONFLUENCE: 200-day SMA above price (bull regime) + volume spike + RSI(14) below 40 = maximum confidence

RISK: Win rate degrades to ~45% without the 200-day SMA regime filter — the filter is mandatory, not optional
BEST TIMEFRAME: Daily bars only — designed for end-of-day signals, held 1-5 trading days