How it works
Connors RSI is a composite: three separate 0-100 measurements averaged into one. Each component captures a different aspect of a short-term extreme, and the argument for combining them is that any one alone is easy to fool. Price momentum can be extreme without persistence; a long streak can occur on tiny moves; a single huge day can happen in the middle of an otherwise quiet stretch. Requiring all three to align produces a much more selective reading.
The first component is a very short RSI on the close, conventionally three periods, which measures raw recent momentum. The second is an RSI applied not to price but to the streak: a running count of consecutive up closes as a positive number and consecutive down closes as a negative one, reset to zero on an unchanged close. Applying RSI to that series asks whether the current run is long by recent standards. The third is a percentile rank: where does today's one-bar percentage return sit within the distribution of the last hundred one-bar returns?
That third component is the most interesting and the least like anything else in the catalog. It is a non-parametric measure — it makes no assumption about the shape of the return distribution and simply counts how many of the last hundred returns were smaller than today's. A value of 95 means today's move was larger than 95 of the last 100 daily moves. This is what stops the indicator from treating an ordinary drift day as significant just because it happened to be the fourth down day in a row.
The design intent is unambiguous and worth respecting: this is a short-horizon mean-reversion tool for liquid, index-like instruments. The published frameworks around it buy readings below roughly 10 and sell readings above roughly 90, hold for a few days, and exit on a return toward the middle. It is not a trend indicator, it has no useful interpretation on a weekly chart, and its extremes are meant to be traded against, not with.
The trade-off against plain RSI is selectivity versus frequency. Connors RSI reaches its extremes far less often than a 3-period RSI does, because all three components must agree, and the readings it does produce are correspondingly more meaningful. The cost is three sets of parameters and a considerably harder indicator to reason about when it behaves oddly.
Calculation
The arithmetic in words, in the order it happens.
Compute three components, each on a 0-100 scale. Component one is a standard RSI of the close over a short window, conventionally 3 periods. Component two is an RSI, conventionally over 2 periods, applied to the streak series: the streak is +n after n consecutive higher closes, -n after n consecutive lower closes, and 0 when the close is unchanged. Component three is the percentile rank of today's one-period percentage return within the last M returns, conventionally M = 100: count how many of the last M returns were less than today's and express that count as a percentage of M. Connors RSI is the simple average of the three components, (component one + component two + component three) / 3, and is therefore also bounded between 0 and 100.
Source
An AlgoBeamScript implementation of the formula above, written by us from the arithmetic so the code and the calculation agree line for line.
Runs unchanged on the platform and in the AlgoBeamTS runtime. The language reference is in the documentation.
Inputs
Defaults are the values most charting packages ship with. They are conventions, not optimal settings — the right length depends on your instrument and your holding period.
| Input | Default | What it changes |
|---|---|---|
| RSI Length | 3 | Window for the price RSI component. Deliberately very short, because the whole indicator is aimed at multi-day extremes; lengthening it toward 14 makes the composite far slower and defeats the design. |
| Streak RSI Length | 2 | Window for the RSI applied to the consecutive-close streak. Two periods means a streak is judged against only the immediately preceding streaks, which is what makes this component react on the second or third day of a run. |
| Percent Rank Length | 100 | How many past one-bar returns today's return is ranked against. Shorter windows make the rank component noisy; longer ones make it a statement about the instrument's typical behaviour over a much longer regime. |
| Overbought / oversold levels | 90 / 10 | The levels the published frameworks actually use. They are far more extreme than RSI's 70/30 because the composite reaches its boundaries much less often. |
How to read it
What practitioners take from the plot. Read these as descriptions of market state, not as entry signals.
- Below 10
- Short-term momentum is weak, the down streak is extended, and today's decline was large by recent standards — all three at once. The condition the indicator was built to find.
- Above 90
- The mirror case on the upside: an extended, fast advance that is also unusually large relative to recent daily moves.
- Crossing back above 30 from below
- The extreme is resolving. Many published rule sets use a return toward the middle of the range as the exit rather than a fixed time or target.
- Sitting between 30 and 70
- No component is at an extreme. The indicator is deliberately silent here, and short-term reversion systems built on it stand aside.
- Extreme reading in a strong directional trend
- Least reliable state. The composite can print below 10 repeatedly during a sustained decline, and each reading is a losing long without a regime filter over the top.
Limitations
Where this indicator misleads. None of these are fixed by a better parameter.
- It is explicitly a mean-reversion tool and fails in trends. During a sustained decline it will reach oversold repeatedly, and fading each one compounds losses.
- The percentile component needs a long, clean history — at least a hundred bars — so it is unreliable on new listings, illiquid names and after data gaps.
- Three components and four parameters make it easy to overfit, and a rule tuned on one instrument frequently fails to transfer to another.
- The streak component is discrete and can behave abruptly: a single unchanged close resets it to zero, which shifts a third of the composite for a reason that has nothing to do with the size of the move.
Educational reference. This page explains how an indicator is built and how it is commonly read. It is not investment advice, not a recommendation and not a signal service. No indicator is profitable on its own — each is a way of describing a market, and any rule built on one has to be tested with realistic costs before it is traded.