콘텐츠로 이동

주도주 스코어링 시스템

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에 점수와 함께 기록 -> 이후 실제 수익률과 비교 - 어떤 점수대에서 승률이 높은지 축적 - 어떤 항목이 수익에 가장 기여하는지 분석