본문 바로가기
기술지표

코너스 RSI (Connors RSI) 파이썬 수식 및 단기 역추세 시스템 매매 [지표 백과 047]

by 흔한트리이더 2026. 3. 19.
반응형

1. 세 가지 논리의 완벽한 융합: 코너스 RSI의 탄생

월스트리트의 저명한 트레이더이자 리서치 전문가인 래리 코너스(Larry Connors)가 개발한 이 지표는, 단기적인 낙폭 과대 반등을 노리는 '역추세 매매(Mean Reversion)' 트레이더들에게 성배(Holy Grail)처럼 여겨집니다.

일반적인 오실레이터가 단순히 가격의 변화량이라는 단일 수식에만 의존하는 것과 달리, 코너스 RSI(CRSI)는 '가격 모멘텀', '연승/연패 기간(Streak)', '수익률의 상대적 위치(백분위)'라는 완전히 다른 3가지 수학적 논리를 하나로 융합했습니다. 이를 통해 휩쏘(가짜 신호)를 극단적으로 줄이고, 단기 바닥의 신뢰도를 최고 수준으로 끌어올린 혁신적인 지표입니다.

2. 수리적 원리와 계산 구조

CRSI는 다음 3가지 핵심 요소의 산술 평균으로 도출되며, 0에서 100 사이의 값을 가집니다.

Step 1. 가격 모멘텀: 3일 RSI

기존의 14일 RSI 대신, 극단적으로 짧은 3일짜리 RSI를 사용하여 최근 3일간의 가파른 가격 변화와 모멘텀을 날카롭게 측정합니다.

Step 2. 연승/연패 지속성: UpDown RSI (2일)

주가가 연속으로 상승한 일수(+1, +2, ...) 또는 연속으로 하락한 일수(-1, -2, ...)를 기록한 스트릭(Streak) 값을 구합니다. 그리고 이 스트릭 값 자체에 2일짜리 RSI 공식을 적용하여, 추세가 비이성적으로 오랫동안 한 방향으로만 쏠렸는지를 수치화합니다.

Step 3. 변화율 백분위: ROC (100일)

오늘 종가의 전일 대비 수익률이, 최근 100일간 발생했던 모든 일일 수익률 분포 속에서 하위 몇 퍼센트(%)에 위치하는지를 나타내는 백분위 순위(Percentile Rank)를 구합니다.

$$CRSI = \frac{RSI(3) + RSI(UpDown, 2) + ROC(100)}{3}$$

3. 실전 매매 활용법 (극단적 역추세 판독 테이블)

3가지 지표가 융합되어 평균을 내기 때문에, CRSI는 웬만해서는 극단적인 수치에 도달하지 않습니다. 따라서 일반 RSI의 기준선(30, 70)이 아닌, 10 미만과 90 초과를 기준선으로 삼습니다.

시그널 형태 현상 설명 (세 가지 논리의 극점) 실전 매매 대응 전략 (Action)
CRSI < 10 (극한의 과매도) 모멘텀 붕괴 + 긴 연패(하락) + 100일 내 최악의 수익률 기록 단기 눌림목 반등 매수. 시장이 완전히 공포에 질려 던진 비이성적 투매 구간입니다. 곧바로 고무줄이 튕겨 오르는 V자 반등을 노립니다.
CRSI > 90 (극한의 과매수) 단기 폭등 + 긴 연승(상승) + 100일 내 최고의 수익률 기록 단기 천장 경고 및 익절. 상승 에너지가 단기간에 모두 소진되었습니다. 신규 진입을 금지하고 보유 물량을 정리하여 수익을 챙깁니다.
대추세 필터링
(SMA 200 적용)
CRSI가 10 미만이라도, 장기 추세가 역배열인 경우 매수 금지 (떨어지는 칼날). 역추세 매매는 반드시 장기 대세 상승장(주가 > 200일선) 속에서 발생하는 단기 조정(눌림목)에서만 사용해야 합니다.

4. 차트에서 나타나는 수리적 특성: 세아제강(A306200) 분석 사례

떨어지는 칼날을 피하고 완벽한 눌림목만을 찔러내는 세아제강의 차트 분석 사례입니다.

  • 완벽한 눌림목 반등 타점: 차트 전반부인 2025년 5월에서 7월 사이를 보십시오. 주가가 오렌지색 장기 이평선(SMA 200) 위에서 움직이는 상승(횡보) 구간입니다. 이때 주가가 단기 조정을 받으며 하단의 CRSI가 10 미만으로 떨어지자, 초록색 화살표(매수 신호)가 정확히 점등되며 기가 막힌 V자 반등을 잡아냅니다.
  • 떨어지는 칼날의 완벽한 방어: 진짜 압권은 그 이후입니다. 8월부터 주가가 200일선 아래로 무너지며 대세 하락장(역배열)이 시작됩니다. 이때 하단의 코너스 RSI는 10 미만의 극단적인 투매 구간을 수없이 들락거리지만, 대세 필터(SMA 200) 조건에 막혀 단 한 번의 매수 신호도 발생시키지 않습니다. 얄팍한 반등을 노리다 지하실로 끌려 들어가는 함정을 시스템이 완벽하게 방어해 낸 것입니다.

5. 장점 및 한계

  • 장점: 3가지의 독립적인 수학적 팩터를 결합했기 때문에, 단기 조정(눌림목)의 끝자락을 잡아내는 승률과 신뢰도가 타의 추종을 불허합니다. 일반 RSI가 발생시키는 수많은 가짜 바닥 신호를 완벽하게 필터링해 냅니다.
  • 한계: 상승장 속의 단기 하락을 잡는 데는 최고지만, 기업에 초대형 악재가 터져 끝없이 추락하는 하락장에서는 CRSI가 10 밑에 머문 채 지하실을 파고 내려가는 '떨어지는 칼날'이 될 수 있습니다. 따라서 200일 장기 이동평균선 필터와의 결합이 선택이 아닌 필수입니다.

6. 파이썬 구현 (3가지 논리 융합 알고리즘)

판다스(Pandas)와 넘파이(Numpy)를 활용하여 연속 등락(Streak) 로직을 구현하고, 100일 롤링(Rolling) 백분위 순위를 구하는 고급 퀀트 알고리즘입니다.

import pandas as pd
import numpy as np

def rsi_calc(price_series, period):
    delta = price_series.diff()
    up, down = delta.copy(), delta.copy()
    up[up < 0] = 0
    down[down > 0] = 0
    roll_up = up.ewm(span=period, adjust=False).mean()
    roll_down = down.abs().ewm(span=period, adjust=False).mean()
    rs = roll_up / roll_down
    return 100.0 - (100.0 / (1.0 + rs))

def calculate_connors_rsi(df):
    # 1. 가격 모멘텀: 3일 RSI 계산
    rsi_3 = rsi_calc(df['close'], 3)
    
    # 2. 연승/연패: 연속 등락(Streak) 및 UpDown RSI(2) 계산
    rets = df['close'].pct_change()
    streak = np.zeros(len(df))
    for i in range(1, len(df)):
        if rets.iloc[i] > 0:
            streak[i] = streak[i-1] + 1 if streak[i-1] > 0 else 1
        elif rets.iloc[i] < 0:
            streak[i] = streak[i-1] - 1 if streak[i-1] < 0 else -1
        else:
            streak[i] = 0
            
    df['streak'] = streak
    updown_rsi_2 = rsi_calc(df['streak'], 2)
    
    # 3. 변화율 백분위: 100일 Percentile Rank 계산
    def get_percentile(x):
        # 당일 수익률이 과거 100일 중 하위 몇 %인지 반환
        return (x < x.iloc[-1]).sum() / len(x) * 100
        
    roc_100 = rets.rolling(window=100).apply(get_percentile, raw=False)
    
    # 4. 코너스 RSI (세 요소의 산술 평균)
    df['CRSI'] = (rsi_3 + updown_rsi_2 + roc_100) / 3
    
    return df

7. 실전 Tip 및 요약

래리 코너스가 직접 밝힌 CRSI 매매의 3대 철칙입니다.
1. 주가가 반드시 200일 단순 이동평균선(SMA 200) 위에 있어야 합니다. (대세 상승장 필터링)
2. CRSI 지표가 10 미만으로 떨어졌을 때만 분할 매수합니다. (극한의 눌림목 과매도 타점)
3. 진입 후 CRSI가 다시 70을 넘어가거나, 짧은 단기 목표 수익을 달성하면 미련 없이 익절하고 다음 기회를 기다립니다. 이 규칙만 기계적으로 지켜도 역추세 계좌는 우상향합니다.


*본 포스팅은 기술적 지표의 수리적 이해를 돕기 위한 참고 자료이며, 투자 결과에 대한 책임은 투자자 본인에게 있습니다.*
반응형