Research System Overhaul (Master Document)¶
작성일: 2026-04-17 (Fri) 상태: Day 1 (설계 문서 단계. 코드 작성 전) 목적: 리포팅 + 정보취합 + 해석(수급/재료/강도) 3축 동시 보완. 프로급 자체 리서치 시스템 구축.
선행 문서 (반드시 선독):
1. docs/research/current_system_audit.md — 현황 파악
2. docs/research/agent_role_gap_analysis.md — 에이전트 역할 갭
3. docs/research/methodology_benchmark.md — 업계 방법론 조사 (B+C 깊이)
1. 프로젝트 한 문장¶
"리포팅과 정보취합 그리고 어떻게 수급과 재료, 강도를 해석할 것인가를 다 보완한다." -- PM
2. 3축 + 1 구조 (대화에서 확정)¶
Axis 1: 정보 취합 (Input)
└─ 4-Tier 정보 전달 구조
└─ 섹터 동적 추적 (고정 Coverage X, 섹터 축만 고정)
└─ 외부 소스 통합 (한경 컨센서스/인포스탁/삼프로)
└─ 시장 전체 스캔 → 섹터 분류 → 자금 흐름 추적
Axis 2: 해석 (Process)
└─ 수급 해석 (스팟 X, 시간×다양성, 외인/기관 정보 우위)
└─ 재료 해석 (Thesis 단위 추적, 내러티브 진화)
└─ 강도 해석 (대장 판정 = 등락률 X, 캔들/지속성/회복/시간)
Axis 3: 리포팅 (Output)
└─ Executive Summary (1쪽) + Full Report (5파트)
└─ 섹터별 대장 1/2/3등 + 전일 대비 변화
└─ Flash Note (T3 자동 푸시)
└─ Squawk (T4 실시간)
└─ Weekly Deep (T1 주간)
Axis 4: 축적 (Storage, Axis 1~3의 부속)
└─ Thesis 문서 (섹터/내러티브 단위)
└─ 에이전트 판단 보존 (D+N 검증)
└─ 대장 변화 이력
3. PM 확정 원칙 12개 (대화 요약)¶
| # | 원칙 | 출처 |
|---|---|---|
| 1 | 외부 구독은 한경 컨센서스 + 인포스탁 + 삼프로 + 텔레그램 중심 | 정보소스 조사 |
| 2 | 프로 포맷 = Executive Summary / Why it matters / Yes, but / 연속성 / 개수 고정 / 테이퍼링 / 자산군 분리 | 프로 포맷 조사 |
| 3 | 정보 전달은 4-Tier (T1 주간 / T2 장전·장후 / T3 Flash / T4 Real-time) | 업계 구조 |
| 4 | 업계는 단일 앱으로 통합 (Marquee/Matrix/JPMM) | 트렌드 |
| 5 | AI 통합 (Bloomberg AI Summary / FactSet Mercury) | 2024~2026 트렌드 |
| 6 | 지식 축적: Thesis Tracker / Conviction List / Fact Sheet | 업계 구조 |
| 7 | 섹터 수는 가변 (5 고정 X). 폭발할 땐 7~8 동시 | PM 지적 |
| 8 | Coverage = 종목 고정 X. 섹터 고정, 종목 동적 | PM 지적 |
| 9 | 대장 판정 = 등락률 아님. 캔들/시간/회복/지속성/테마 동조율 | PM 지적 (대한광통신 vs 광전자 사례) |
| 10 | 수급 = 스팟 X. 시간축 × 다양성 + 외인/기관 정보 우위. "개인만 = 나쁨" 금지 | PM 지적 |
| 11 | 자의적 가중치 금지. 업계 검증된 방법론 사용 | PM 지적 |
| 12 | 포트폴리오 분배 모델 아님. 리밸런싱 개념 불필요. 이벤트 드리븐 단타 | PM 지적 |
4. PM 5개 매매 유형 (시스템 커버 대상)¶
PM이 말한 매매 유형은 5개 + "등". "등"을 구체 항목으로 변환하지 않음. 5개에 집중.
| # | 유형 | 시간축 | 현재 커버 | 목표 |
|---|---|---|---|---|
| 1 | 시가(장중) 매수매도 | 분~시간 | 부분 | DT-6 신설 |
| 2 | 종가매수 D+1 매도 | 1일 | 완전 | 유지 |
| 3 | 스윙 매수매도 | D+2~D+10 | 부분 | DT-7 신설 |
| 4 | 상한가 따라잡기 | 당일~D+1 | 부분 | DT-8 신설 |
| 5 | 주도주 추세매매 | 1~4주 | 부분 | DT-9 + sector S11 |
5. 갭 요약 (문서 2 기반)¶
5-1. 에이전트 행동 갭¶
| 에이전트 | 추가 행동 수 | 주요 내용 |
|---|---|---|
| sector-analyst | 4 + S3 강화 | S8 자금흐름 / S9 대장 릴레이 / S10 Thesis 갱신 / S11 추세매매 진입 |
| chartist | 4 | CH-M1~M4 (캔들 청결도 / 회복 탄력 / 이른 시간 / 저점 훼손) |
| sentiment-analyst | 1 | SA-M9 (시간축 + 다양성 정량화. "개인만 감점" 금지) |
| day-trader | 5 | DT-6~9 (6개 매매 유형 대응) + DT-EX (Executive Summary) |
| research-expander | 2 | MA-RE8 (Yes,but 인라인) + MA-RE9 (D-1 사후 검증) |
| news-curator | 1 + 소스 확장 | NC-10 (Flash 발행 플래그) + 한경/인포스탁/삼프로 |
| macro-economist | 0 | 변경 없음 |
| fundamentals-analyst | 0 | 변경 없음 (S10과 연동만) |
합계: 17개 신규 행동 + 4개 강화
5-2. 시스템 컴포넌트 갭¶
| 컴포넌트 | 용도 |
|---|---|
scripts/calc_leader_quality.py |
질적 4요소 측정 (CH-M1~M4) |
scripts/verify_d1_judgments.py |
D-1 판정 검증 |
scripts/fetch_external_sources.py |
한경/인포스탁/삼프로 수집 |
discord_bot/flash_dispatcher.py |
Flash Note 자동 푸시 |
discord_bot/squawk_scheduler.py |
Squawk 타이머 푸시 |
docs/thesis/ |
Thesis 파일 디렉토리 |
docs/weekly_reports/ |
Weekly Deep 디렉토리 |
합계: 7개 (스크립트 5 + 디렉토리 2)
5-3. 커맨드 루틴 수정¶
| 루틴 | 추가 단계 |
|---|---|
| rs_post_market | Step 0.5 (D-1 검증) / 2.5 (섹터 자금흐름) / 4.5 (질적 측정) / 5.5 (Thesis 갱신) / 6 재설계 |
| rs_pre_market | Flash 상태 점검, 주말 이벤트 ISSUE_LOG 갱신 |
| rs_afternoon | Squawk 멘트 자동 발행 |
| rs_weekend | Weekly Deep 작성 강제, Thesis 주간 리뷰 |
6. 방법론 확정 (문서 3 기반)¶
6-1. 핵심 훔쳐올 방법론 (학술 실증)¶
| Source | 파라미터 | 적용 |
|---|---|---|
| IBD RS | 0.4×ROC(5d)+0.3×ROC(10d)+0.2×ROC(20d)+0.1×ROC(60d) |
종목 강도 재설계 (한국 단타용 기간 축소) |
| George-Hwang | Nearness_52WH = P/P_52wH, top 30% |
가장 강력한 단독 signal, hard gate 승격 |
| Gervais et al | Volume rank top 10% in 50d | "거래대금" rank-based 재설계 |
| Moskowitz-Grinblatt | Industry momentum | 테마 주도력 → hard filter 격상 |
| Jegadeesh-Titman skip-1 | "skip-1-day" | 어제 급등 → reversal 위험 제외 |
| MSCI Barra | z-score + equal weight | 전체 aggregation 방식 |
| OECD Handbook | Rank-based norm + equal weight + robustness check | 전체 원칙 |
| Lehmann/JT 1990 | Short-term reversal | "어제 급등 + 상한가 미터치 = 경고 플래그" |
| Korean empirical | 상한가 → next-day open drift | 상한가 따라잡기 exit rule |
6-2. LEADER_SCORING v2 구조 (Hybrid)¶
STEP 1. Hard Filter (Minervini/Weinstein, non-compensatory)
- P > MA(20), MA(20) > MA(60)
- P / P_52wH >= 0.85 (George-Hwang)
- industry_5d_return rank in top 30% (Moskowitz-Grinblatt)
→ 통과한 종목만 Step 2로
STEP 2. Weighted Rank Score (Equal Weight, OECD 권장)
- z1 = rank_pct(5d return, skip yesterday)
- z2 = rank_pct(volume today vs 50d)
- z3 = rank_pct(P / P_52wH)
- z4 = rank_pct(foreign + institution 5d flow)
- Score = (z1 + z2 + z3 + z4) / 4
STEP 3. Robustness check
- 가중치 random sampling → top-N 70%+ 일치 확인
6-3. 매매 유형별 signal 매칭¶
| 유형 | 핵심 signal |
|---|---|
| 종가매수 D+1 | V_today > P90(V_50d) AND (상한가 hit OR P/P_52wH ≥ 0.97) |
| 스윙 | Rank(industry_5d_return) in top 3 AND (Price breaks 20-day high with volume) |
| 상한가 따라잡기 | 상한가 hit → next-day open 매도 |
| 주도주 추세 | (industry top tercile by 20d) AND (stock RS ≥ 90) AND (P/P_52wH ≥ 0.90) |
| 기타 경고 | if yesterday_return > P90 AND NOT 상한가 hit → 경고 |
7. 단계별 실행 로드맵¶
Phase 0: 설계 (완료 단계, Day 1 금~토)¶
| Task | 상태 | 산출물 |
|---|---|---|
| 현황 감사 | ✅ | current_system_audit.md |
| 에이전트 갭 분석 | ✅ | agent_role_gap_analysis.md |
| 방법론 벤치마크 | ✅ | methodology_benchmark.md |
| 마스터 로드맵 | ✅ | 본 문서 |
Phase 1: 테마/주도주 공식 검증 + 실전 통합 (Day 2~4, 주말, 진행 중)¶
목적: 기관 공식(RRG + RS-Ratio/Momentum + Minervini Trend Template + 한국 특화)을 한국 4월 실제 데이터로 검증 + 실전 루틴에 통합.
배경: PM 대화에서 확정된 접근 - 퀀트 팩터(F-Score 등) 아님. 개인 단타 책 아님. 테마/주도주 선정에 집중. - 기관이 실제 쓰는 공식: IBD RS, Dorsey RRG, Minervini Template, Moskowitz-Grinblatt Industry Momentum, George-Hwang 52WH - 자의적 가중치 금지. 학술/업계 검증된 공식만 차용.
P1.1~P1.4 완료 (2026-04-18)¶
| Task | 상태 | 산출물 |
|---|---|---|
| P1.1 역사 데이터 수집 (500 종목, 3/1~4/17) | ✅ | scripts/theme_backtest_step1_fetch.py, data/theme_backtest/top500_ohlcv.json |
| P1.2 Snapshot 분석 (RS-Ratio + Minervini + 질적 4요소) | ✅ | scripts/theme_backtest_step2_analyze.py, theme_analysis.json, theme_leader_report.md |
| P1.3 Walk-Forward 백테스트 (미래 정보 차단) | ✅ | scripts/theme_backtest_step3_walkforward.py, walkforward_results.json |
| P1.4 Narrative Backtest (테마 발견일 이후 누적 추적) | ✅ | scripts/theme_backtest_step4_narrative.py, narrative_results.json, narrative_report.md |
P1.1~P1.4 핵심 검증 결과¶
공식 작동 확인: - 4/1 발견 → 17일 누적 추적: 건설 대표주 Top3 적중 3/3 (Spread +30.7%p), 광통신 2/3 (Spread +30.2%p), 리튬 3/3 - Top 5 대장 후보군 안정성: 대부분 4/5 (PM 가설 "대장은 안 변함, 그 안 순서는 변함" 확인) - 학술 가설 재현: Jegadeesh 단기 reversal (4/14 예측 3일 후 0/5), George-Hwang 52WH momentum (10일+ 유효)
한국 특화 발견: - "이전 10일 수익률 40%+ = reversal 위험" 자동 감지됨 (4/14 광통신 이전 +34.8% → 이후 -3.9%) - "후발주 등장" 컬럼이 PM 말한 "우리기술이 원전 주도로 치고 올라올 때" 케이스 자동 포착 (양자 4/1 예측 밖 아이씨티케이 +91.5%)
공식 유효 조건: - 발견 시점 이전 10일 수익률이 너무 높지 않음 (과열 아님) - 추적 기간 10일+ (3일 이하는 단기 reversal 지배) - Top 5 대장 후보군 관점 (Top 3 고정 기대 X)
매매 유형별 유효성: | 매매 유형 | 공식 유효성 | |---------|----------| | 종가매수 D+1 | 부적합 (3일 이하 reversal) | | 스윙 D+5~D+10 | 유효 | | 주도주 추세매매 (1~4주) | 매우 유효 | | 상한가 따라잡기 | 별도 로직 필요 | | 시가(장중) 매수매도 | 별도 |
P1.5 오늘 리포트 반영 (진행 중)¶
| Task | 산출물 |
|---|---|
| P1.5 20260417_post_market.md에 테마/주도주 섹션 추가 | 리포트 업데이트 |
P1.6 실전 루틴 통합 (다음 단계)¶
| Task | 산출물 |
|---|---|
P1.6.1 rs_post_market.md Step 2.6 신설 (테마/주도주 자동 분석) |
커맨드 수정 |
P1.6.2 theme_backtest_step4_narrative.py를 매일 자동 실행 가능한 스크립트로 정리 |
scripts/analyze_theme_leaders.py (리네임 + 일일 실행용) |
| P1.6.3 Discovery date 자동 감지 (새 테마 부상 트리거) | 스크립트 확장 |
| P1.6.4 결과를 daily_report Section 3.5 로 자동 삽입 | 포맷 통합 |
P1.6.5 LEADER_SCORING.md v2 문서화 (기관 공식 기반) |
v1 DEPRECATED, v2 확정 |
Phase 2: 에이전트 행동 업데이트 (Day 5~7)¶
목적: 17개 신규 행동을 8개 에이전트 파일에 박음.
| Task | 대상 파일 |
|---|---|
| P2.1 sector-analyst 4+1 업데이트 | .claude/agents/sector-analyst.md |
| P2.2 chartist CH-M1~M4 업데이트 | .claude/agents/chartist.md |
| P2.3 sentiment-analyst SA-M9 업데이트 | .claude/agents/sentiment-analyst.md |
| P2.4 day-trader DT-6~9 + DT-EX 업데이트 | .claude/agents/day-trader.md |
| P2.5 research-expander MA-RE8,RE9 업데이트 | .claude/agents/research-expander.md |
| P2.6 news-curator NC-10 + 소스 확장 | .claude/agents/news-curator.md |
| P2.7 검증: rs_post_market 1회 실행 | 실전 테스트 |
Phase 3: 리포트 포맷 재설계 (Day 8~10)¶
목적: 프로 포맷 7가지 패턴 반영.
| Task | 산출물 |
|---|---|
P3.1 docs/trading_playbook/DAILY_REPORT_STANDARD.md 신규 |
Executive Summary / Why it matters / Yes,but / D-1 / 테이퍼링 원칙 명시 |
| P3.2 섹터 가변 구조 (역할 5태그: 대장/2등/신규/지주/소외) | 섹션 3 구조 확정 |
P3.3 rs_post_market.md Step 6 수정 |
리포트 템플릿 신규 |
| P3.4 오늘 리포트(20260417) 재작성 (프로토타입) | 20260417_post_market_v2.md |
| P3.5 D-1 검증 섹션 자동 생성 | verify_d1_judgments.py + 리포트 삽입 |
Phase 4: 4-Tier 채널 구축 (Day 11~15)¶
목적: T1/T3/T4 신규 구현.
| Task | 산출물 |
|---|---|
| P4.1 T1 Weekly Deep 템플릿 | rs_weekend.md 확장 + docs/weekly_reports/ 디렉토리 |
| P4.2 T3 Flash Note 자동 푸시 | discord_bot/flash_dispatcher.py + news-curator NC-10 연동 |
| P4.3 T4 Squawk 타이머 | discord_bot/squawk_scheduler.py (09:00/09:30/11:30/13:00/14:30/15:30) |
| P4.4 T2 Executive Brief 분리 | Full Report + 1쪽 Brief 동시 저장 |
Phase 5: Thesis Tracker 구축 (Day 11~15, 병렬)¶
목적: 섹터/내러티브 단위 Thesis 문서 디렉토리.
| Task | 산출물 |
|---|---|
P5.1 docs/thesis/ 디렉토리 + 템플릿 |
Thesis 파일 구조 정의 |
| P5.2 초안 5개 작성 | 반도체_HBM / 2차전지_AMPC / 조선_엔진사이클 / 우주_SpaceX / 전력_AIDC변압기 |
| P5.3 sector-analyst S10 구현 | 매일 Thesis 갱신 자동 |
| P5.4 대장 변화 이력 누적 (S9) | 어제 vs 오늘 비교 → 이력 섹션 추가 |
Phase 6: 외부 소스 통합 (Day 16~18)¶
| Task | 산출물 |
|---|---|
P6.1 fetch_external_sources.py 작성 |
한경 컨센서스 / 인포스탁 / 삼프로 스크래핑 |
| P6.2 news-curator 소스 확장 | Tier 0~4 풀에 추가 |
| P6.3 Daily Brief에 외부 시각 교차 | "애널리스트 컨센서스 vs 우리" 섹션 |
Phase 7: D-1 검증 자동화 (Day 19~20)¶
| Task | 산출물 |
|---|---|
P7.1 verify_d1_judgments.py |
GO/WAIT/VETO 판정 vs D+1 실적 비교 |
| P7.2 research-expander MA-RE9 | 에이전트별 정확도 기록 |
| P7.3 Weekly Deep에 정확도 섹션 | 주간 에이전트 정확도 공개 |
8. 의존성 그래프¶
Phase 0 (설계) ──┬─→ Phase 1 (LEADER v2 검증)
│ ↓
│ Phase 2 (에이전트 업데이트)
│ ↓
└─→ Phase 3 (리포트 재설계) ←───┐
↓ │
Phase 4 (4-Tier) Phase 5 (Thesis) │
↓ │
Phase 6 (외부 소스) ───────────────┤
↓ │
Phase 7 (D-1 자동화) ──────────────┘
9. 리스크 및 완화¶
| 리스크 | 완화 방법 |
|---|---|
| 역사 데이터 부족 (agent_results 4일) | Phase 1에서 backtest 불가 시 실전 paper trading 3주 축적 후 재검증 |
| 30% 가격제한폭 시기 상한가 drift 미검증 | Phase 1에서 자체 백테스트 우선 순위 |
| 에이전트 파일 거대화 (day-trader 5개 신규 행동) | Phase 2에서 분리 필요성 재검토 |
| Discord Bot Squawk 기계적 알림 | Phase 4에서 "가치 있는 멘트만" 임계값 설계 |
| 주도주 릴레이 학술 선행연구 없음 | Phase 1에서 우리가 첫 검증자 가능 (부담 + 기회) |
10. 성공 지표¶
10-1. Phase 1 성공 기준¶
- Hybrid 공식이 과거 대장주(대한광통신/산일전기/한화오션)를 high score로 잡음
- Hybrid가 가짜 대장(광전자/한국첨단소재)을 low score로 분류
- Top-30 일치율 70%+ (robustness)
10-2. Phase 2~3 성공 기준¶
- 리포트가 Executive Summary 최상단 1쪽으로 압축됨
- 각 판정에 Yes, but 인라인 포함
- D-1 검증 섹션 자동 생성
10-3. Phase 4~7 성공 기준¶
- PM이 Discord에서 Flash Note 실시간 수신 (>3% 무버)
- Squawk 멘트가 기계적이 아닌 맥락 있음
- Thesis 파일 5개 이상 매일 자동 갱신
- Weekly Deep 첫 주간 리포트 완성
11. 미결 항목 (PM 추가 결정 필요)¶
삭제된 항목 (내가 즉흥으로 만든 것): - ~~섹터 정의 확정~~ -- PM 원칙: 섹터는 가변. 리스트 고정 불필요 - ~~섹터 진입/이탈 기준~~ -- 내가 만든 개념. PM 요구 없음 - ~~섹터 감지 임계값~~ -- 내가 만든 개념. PM 요구 없음 - ~~"기타 단기" 매매 유형 정의~~ -- PM은 5개 + "등"만 말함. "기타 단기"는 내 추가
섹터 분류 체계: PM이 이미 밸류체인 세그먼트 분류 작업 진행 중 (S219 반도체 292개 / 조선·방산·원전·우주 137개). v4 테마 태깅 + 밸류체인 맵 + 네이버 테마가 향후 통합 예정. 우선순위 고민 불필요.
실제 미결:
| 항목 | 결정 필요 |
|---|---|
| Phase 1 착수 승인 | LEADER_SCORING v2 자체 백테스트 주말 착수 여부 |
| d1-verifier 에이전트 승격 여부 | Phase 7 완료 후 재검토 (지금 결정 불필요) |
| 자금 배분 규칙 리포트 반영 | 실매매 관련. 미결 |
12. Anti-Anchoring 재확인¶
본 로드맵은 설계이지 정답이 아니다. - Phase 1 백테스트에서 Hybrid가 유효하지 않으면 재설계 - 매 Phase 완료 시 결과 데이터로 재검증 필수 - 방법론도 단독 프레임워크 아님. 데이터 먼저. - 자체 한국 시장 검증 없이 미국/글로벌 실증만 믿지 않음
13. 관련 파일 링크¶
설계 문서 (Day 1): - current_system_audit - agent_role_gap_analysis - methodology_benchmark
기존 핵심 문서: - CLAUDE.md - TEAM_ROLES.md - LEADER_SCORING.md (DEPRECATED 예정) - PM_TRADING_FRAMEWORK.md - ISSUE_LOG.md
에이전트 8개:
- .claude/agents/macro-economist.md
- .claude/agents/sector-analyst.md
- .claude/agents/chartist.md
- .claude/agents/fundamentals-analyst.md
- .claude/agents/sentiment-analyst.md
- .claude/agents/day-trader.md
- .claude/agents/research-expander.md
- .claude/agents/news-curator.md
커맨드 7개:
- .claude/commands/rs_pre_market.md
- .claude/commands/rs_morning_open.md
- .claude/commands/rs_mid_morning.md
- .claude/commands/rs_afternoon.md
- .claude/commands/rs_post_market.md
- .claude/commands/rs_evening.md
- .claude/commands/rs_weekend.md
작성 종료: 2026-04-17 23:00 다음 액션: PM 승인 대기. Phase 1 착수 여부 + 미결 항목 5개 결정 필요.