Connors Relative Strength Index (CRSI)
Summary
Connors RSI: a 0 to 100 oscillator, the plain average of three short-term momentum readings on that same scale.
The first is Wilder's RSI of the closes over optInTimePeriod bars. The second is an RSI over optInStreakPeriod bars of the up/down streak, the signed length of the current run of higher or lower closes (+3 after three higher closes in a row, -2 after two lower ones); an unchanged close resets the streak to 0. The third is the percent rank of the bar's one-bar return, (close - previous close) / previous close, among the optInRankPeriod returns before it: the percentage of them strictly below it.
High readings mark a short-term overbought market and low readings an oversold one.
Formula
where is the input series, is optInTimePeriod, is optInStreakPeriod and is optInRankPeriod. Both RSIs are Wilder's RSI. The streak is defined from the second bar, taking the streak before it as 0, and is 0 when .
Notes
- CRSI has no unstable period of its own: both RSI legs take
TA_FUNC_UNST_RSI. They start warming up on the first bar the call reads (the streak's RSI one bar later, the streak being a change), so a leg that needs fewer bars than the lookback warms up over the spare ones. - Finite input is a precondition. A NaN close does not propagate: the output stays finite and no error is reported, but the values that follow it are wrong.
Inputs
inReal— Close price series
Outputs
outReal— The averaged reading, 0 to 100
Parameters
| Parameter | Type | Default | Accepted values | Description |
|---|---|---|---|---|
optInTimePeriod | integer | 3 | 2–100000 | Period of the RSI of the closes |
optInStreakPeriod | integer | 2 | 2–100000 | Period of the RSI of the up/down streak |
optInRankPeriod | integer | 100 | 2–10000 | Number of earlier one-bar returns each return is ranked against |
Properties
Numerical Stability: Initial Unstable Period — Inherited from RSI, which CRSI computes internally; tunable via RSI's unstable period.
| ☐ Overlap Input |
| ✅ Independent Y-Axis i |
| ☐ Candlestick |
| ☐ Can Output NaN or ±Inf |
| ☐ Identity at Period 1 |
Implementation
TA-Lib Definition: crsi.c · crsi.yaml
| Native | File |
|---|---|
| C | ta_CRSI.c |
| Rust | crsi.rs |
| Java | Core_CRSI.java |
| C# | Core_CRSI.cs |
TA-Lib is also available for Python, R and more using a wrapper.
Aliases
ConnorsRSI, Connors RSI, Connors Relative Strength Index
See Also
RSI · PERCENTRANK · STOCHRSI