콘텐츠로 이동

주도주 스코어링 시스템

v3 (현행, S250): 7축 종합 ���코어. RS + 차트 프로필(조정깊이/반등속도/지지/캔들) 통합. v2: RS-Ratio + RS-Momentum + RRG만. 단일 축(시장 대비 강도)으로 대장 판별 부족. v1 (DEPRECATED): 100점 체계(테마30+종목30+차트25+수급15). 자의적 가중치.

목적

주도 테마 안에서 대장주를 7가지 특성으로 종합 판별한다.

대장주 = 테마 내에서 거래대금 최고, 가장 빠르게 상승, 상승률 최고, 조정이 얕고, 반등이 빠르��, 지지가 명확하고, 캔들이 깨끗한 종목.


v3 — 7축 종합 스코어 (S250)

테마 수준 — 5축 Composite (S253 공식화)

테마/섹터의 강도와 방향성을 5축으로 종합 평가. 종목이 아닌 테마 자체를 판단한다.

축 측정 대상 가중치 데이터 소스
1. 거래대금 집중도 테마 거래대금 / 전체 시장 거래대금 20% 키움 당일
2. 거래대금 가속도 5일 전 대비 거래대금 변화율 20% 키움 5일 시계열
3. 수익률 RS 테마 평균 수익률 / KOSPI 수익률 x 100 25% theme_rs_history
4. 하방 경직성 테마 내 종목 중 하락 종목 비율 역수 15% 키움 당일
5. RS 트렌드 5d 5일 전 RS 대비 현재 RS 변화 20% theme_rs_history

등급 판정: | 등급 | Composite 점수 | 의미 | |---|---|---| | LEADING | 80+ | 주도 테마 = 매매 1순위 영역 | | STRONG | 60-80 | 강세 테마 | | ACTIVE | 40-60 | 참여 테마 | | FADING | <40 | 둔화/소멸 테마 |

테마 상태표 규칙: - 대장주 컬럼 금지 — 종목 판단은 아래 7축의 영역 - 시계열 변화 내러티브 필수 (등급 전환, 가속/감속 방향)

기존 RS 지표 (참고): - JdK RS-Ratio: 20일 수익률 / KOSPI 수익률 x 100 - RS-Momentum: 5일 RS MA / 15일 RS MA x 100 - RRG: Leading/Weakening/Improving/Lagging

종목 수준 — 9축 누적 스코어 (S253)

대장주 = 하루 스냅샷이 아니라 테마 사이클 전체의 누적 성적표. 오늘 가장 올랐다고 대장이 아니다. 테마가 시작된 이후 누적 수익률이 가장 높고, 누적 거래대금이 가장 많고, 그 기간 조정이 얕고 반등이 빨랐던 종목이 대장주다. 매일 스팟으로 계산하면 대장주가 날마다 바뀐다. 누적이어야 안정적인 대장주 판정이 가능하다.

축 측정 대상 점수 기준 기간 데이터 소스
1. 누적 거래대금 테마 사이클 시작 이후 누적 거래대금 순위 1위=100, 2위=80, ... 사이클 전체 stock_rs_timeseries 일별 누적
2. 누적 수익률 테마 사이클 시작 이후 누적 등락률 순위 1위=100, 2위=80, ... 사이클 전체 stock_rs_timeseries
3. RS 안정성 RS-Ratio가 100 이상 유지된 일수 비율 80%+=100, 60%=80, 40%=60, else=30 최근 20일 stock_rs_timeseries
4. 조정깊이 최근 3개 decline phase 중 최소 하락폭 <3%=100, <5%=80, <10%=60, <15%=40, else=20 시계열 mtf_chart_profiler price_journey
5. 반등속도 최근 decline phase 최단 일수 <=2d=100, <=4d=80, <=7d=60, else=30 시계열 mtf_chart_profiler price_journey
6. 지지명확 support_test 횟수 + 최근접 지지 거리 base 50 + test당 15 + 3%이내 +20 시계열 mtf_chart_profiler sr_levels
7. 캔들품질 최근 10일 body_pct 평균 + upper_wick_pct 평균 body>0.7 & wick<0.15=100, ... 10일 평균 mtf_chart_profiler candle_analysis
8. 거래대금 가속도 최근 5일 거래대금 / 이전 5일 거래대금 2배+=100, 1.5배=80, 1배=60, 감소=30 5일 vs 5일 키움 시계열
9. 수급 품질 외인+기관 누적 순매수 일수 비율 양주체 80%+=100, 60%=80, 편주체=50, 개인주도=20 최근 10일 키움 투자자별

총점 = 9축 평균 (각 0~100, 균등). 차트 프로필 없으면 4~7축은 50(중립) 적용. 사이클 초기(데이터 5일 미만)는 누적 불충분으로 follower 처리.

누적이 바꾸는 것: 오늘 +20% 터진 종목도 누적 거래대금/수익률에서 사이클 초반이면 순위가 낮다. 반대로 2주간 꾸준히 +2~3%씩 올라온 종목은 스팟은 평범하지만 누적 1위가 된다. 대장주는 쌓아온 것으로 판정한다.

대장주 판정

테마 내에서 총점 1위 = LEADER (is_leader=true). 2위 이하는 leader_rank_in_theme 부여.

실행

# 1. RS 시계열 구축 (FDR, 일 1회)
powershell.exe -ExecutionPolicy Bypass -File scripts/run_py.ps1 scripts/theme_rs_history.py

# 2. 당일 대장주 판별 + 7축 스코어 (키움 API)
powershell.exe -ExecutionPolicy Bypass -File scripts/run_py.ps1 scripts/detect_theme_leaders.py

# 3. 차트 프로필 (4~7축 데이터, pool 종목 대상)
powershell.exe -ExecutionPolicy Bypass -File scripts/run_py.ps1 scripts/detect_theme_leaders.py --run-mtf

산출물: - data/theme_leaders/YYYYMMDD.json — 전체 RS + 7축 스코어 - data/theme_leaders/stock_rs_timeseries.json — 종목별 RS 일별 시계열 + 테마 내 순위 - data/chart_profiles/mtf_pool.json — pool 종목 (스코어 순)

과열/리버설 경고 (v2 유지)

  • 이전 10일 +40% 이상 → [WARN] 과열
  • Spread < 0 → 공식 예측력 약함, 신규 진입 자제

해석 체크리스트

  • [ ] Active 테마 확인 (Leading/Improving만)
  • [ ] 7축 스코어 70+ = 강한 대장, 50~70 = 보통, <50 = 약함
  • [ ] 프로필 있��� 종목(*) 우선 — 7축 전부 보임
  • [ ] 프로필 없는 종목은 RS 편향이므로 --run-mtf로 프로필 보충 후 재판단
  • [ ] 과열 [WARN] 종목 추격 매수 금지

v1 (DEPRECATED, 참고용)

이 섹션은 참고용으로만 보존된다. 실매매 판단은 v2 공식을 따른다.

v1이 DEPRECATED된 이유: 100점 가중치가 자의적이며 Walk-Forward 검증 없이 구성됨. 단, v1의 일부 보정 요소(동일 사업영역 비교, 돌파 거래대금 비교, 기준봉 품질)는 v2와 병행 체크리스트로 활용 가능.


스코어링 항목 (100점 만점)

A. 테마/섹터 주도력 (30점)

종목이 속한 테마/섹터/업종의 강도. 개별 종목이 아무리 좋아도 테마가 죽으면 의미 없다.

항목 배점 기준
소속 테마 상태 10 LEADING=10, EMERGING=7, FADING=2, DEAD=0
테마 등락률 5 +5%+=5, +3%+=3, +1%+=1, 0이하=0
테마 3일 모멘텀 5 3일 연속 양수=5, 2일=3, 1일=1
업종 동반 강세 5 같은 업종 +3%+=5, +1%+=3, 0이하=0
테마 상승비율 5 80%+=5, 60%+=3, 40%+=1, 이하=0

B. 종목 강도 (30점)

종목 자체의 가격/거래 강도. 테마 안에서 가장 강한 종목이 대장주.

항목 배점 기준
당일 등락률 순위 10 테마 내 1위=10, 2위=7, 3위=5, 이하=3
거래대금 5 100억+=5, 50억+=3, 10억+=1
거래대금 증가율 5 평소 3배+=5, 2배+=3, 1.5배+=1
상한가/근접 5 상한가=5, +20%+=4, +10%+=2
연속 강세일수 5 3일+=5, 2일=3, 1일=1

C. 차트 구조 (25점)

기술적 분석 점수. 추세, 위치, 매물소화 상태.

항목 배점 기준
추세 (주봉) 5 bullish=5, mixed=2, bearish=0
52주 위치 5 NEAR_HIGH/NEW_HIGH=5, RESISTANCE=3, MID=1
매물소화 신호 5 absorption score 3+=5, 2=3, 1=1
이평선 배열 5 정배열=5, 혼합=2, 역배열=0
종가 위치 5 고가 마감(윗꼬리 없음)=5, 중간=3, 저가 마감=0

D. 수급 (15점)

외인/기관의 실제 돈 흐름. 스마트머니가 들어오고 있는가.

항목 배점 기준
외인 순매수 5 3일 연속 순매수=5, 당일만=3, 순매도=-2
기관 순매수 5 3일 연속 순매수=5, 당일만=3, 순매도=-2
프로그램매매 5 프로그램 순매수=5, 중립=2, 순매도=0

추가 판단 기준 (S199 보강)

동일 사업영역 비교 (필수)

스코어링 전에 같은 사업/제품을 하는 종목끼리 비교해야 한다:

  • 같은 테마이지만 다른 제품이면 각자 독립 평가 (대장주 경쟁 관계 아님)
  • 예: 후성(전해질 LiPF6) vs 엘앤에프(양극활물질) = 다른 영역
  • 같은 제품이면 스코어로 대장주 판별

돌파 거래대금 비교 (종목강도 보정)

B항목(종목 강도) 판정 시, 단순 당일 거래량만이 아니라:

  • 이전에 같은 가격대를 돌파했을 때의 거래대금과 비교
  • 현재 < 이전의 50% → B항목 -5점 감점
  • 이전 돌파 데이터 없으면 20일 평균 대비로 판단

기준봉 품질 (차트구조 보정)

C항목(차트 구조) 판정 시 기준봉 품질 반영:

  • 최근 기준봉 위꼬리 13% 이하 + 종가위치 85%+ = CLEAN → +3점
  • 위꼬리 30%+ = MESSY → -3점
  • Vol ratio 10x+ (과도) → -3점

등급 분류

등급 점수 의미 행동
S (대장주) 80+ 테마+종목+차트+수급 모두 강함 종가매수 1순위
A (선도주) 65~79 대부분 강하나 일부 약점 종가매수 2순위, 약점 확인 후
B (주도주) 50~64 테마는 강하나 종목/차트에 아쉬움 관찰, 조건 충족 시 진입
C (후보) 35~49 잠재력 있으나 아직 미확인 워치리스트만
D (부적격) 0~34 조건 미달 제외

리포트 출력 형식

=== 주도주 스코어 랭킹 ===

#1 [S] 삼성E&A (028050) -- 82점
  테마: 플랜트/건설 (LEADING 3일, +12.6%)
  A.테마주도력: 27/30 (LEADING + 업종 동반)
  B.종목강도:   25/30 (테마 내 1위, 거래대금 179억, 2일 연속 +15%)
  C.차트구조:   18/25 (bullish, NEAR_HIGH, absorption 2/4)
  D.수급:      12/15 (외인+6,847, 기관+4,462)
  약점: 2일 연속 +30% 누적 -> 단기 과열 가능

#2 [A] 대한광통신 (010170) -- 71점
  ...

스코어링 시점

시점 용도
장후 POST_MARKET (15:40~) 당일 기준 전체 스코어링 -> 내일 종가매수 후보
장중 14:50 종가매수 직전 최종 스코어 갱신 (분봉 반영)
프리장 (08:50) 전일 스코어 + 야간 뉴스 반영 -> 시나리오 수정

추천 이력 연동

스코어 기반 추천 -> recommendations.json에 점수와 함께 기록 -> 이후 실제 수익률과 비교 - 어떤 점수대에서 승률이 높은지 축적 - 어떤 항목이 수익에 가장 기여하는지 분석