콘텐츠로 이동

관찰 렌즈 체계 (Observation Lenses)

목적: 시장을 8개 렌즈로 관찰한다. 각 렌즈는 "무엇을 찾는지"와 "발견하면 어떻게 행동하는지"를 정의한다. 렌즈 태그([L1]~[L8])는 rs_.md의 각 UNIT에 붙어서 "이 UNIT이 어떤 목적의 관찰인지"를 명시한다. Supervisor는 UNIT 실행 여부뿐 아니라 8개 렌즈가 전부 작동했는지*를 검증한다.

(S237 Topic F.6) 8 렌즈는 Diverse Beam Search group penalty로 결합한다: 같은 종목이 여러 렌즈에 동시 픽되면 이미 다른 렌즈에 잡힌 가중치를 감산하여 다양성 강제. 한 종목이 모든 렌즈를 휩쓰는 것 방지. 상세: knowledge_base/agents/discovery_engine.md §S3.


왜 필요한가

2024 백테스트: TOP15 주도주 중 13개(87%) 발굴, 매수 실행 1개. 발굴은 되는데 진입을 못한다.

원인: - 상승률 상위만 보면 "이미 올랐다" → pass → 대시세 놓침 - 매집 중인 종목은 상승률에 안 나오니까 발견 시점이 늦음 - 정책→종목 연결을 머릿속으로만 하고 실제 확인을 안 함 - 상한가 D+1만 보고, 2~4주 후 진짜 대시세 기회를 놓침 - 할 일이 기입되어 있어도 실행을 빠뜨림 → 렌즈 태그로 누락 방지


8개 렌즈

L1. 상승률 — "오늘 뭐가 왜 올랐나?"

담당: 트레이더
도구: ka10027 상승률 상위 + eod_market_scan
시점: 장중(MID_MORNING, AFTERNOON), 장후(POST_MARKET)

판단 체인:
  종목 발견 → WHY? (뉴스/공시/재료)
    → 테마 분류 (_all_key_themes.json, 복수 테마)
    → 같은 테마 다른 종목도 올랐나? (군 움직임)
    → 지속 재료인가? (구조적 vs 단발)
    → YES → L2(주도테마)로 연결 + L7(상한가)이면 추적 등록
    → NO → 기록만 (일회성)

함정: "이미 올랐다" = pass 사유가 아님. WHY가 pass 사유.

L2. 주도테마 — "돈의 흐름이 어디로 가고 있나?"

담당: 섹터 애널리스트
도구: theme_classifier + sector_strength + theme_relations (INDUSTRY_CHAINS)
시점: 장후(POST_MARKET 확정), 장중(추정), WEEKEND(주간 리뷰)

판단 체인:
  테마 라이프사이클 위치 (EMERGING / LEADING / FADING / DEAD)
    → EMERGING: 아직 초기. 대장주 식별 + 진입 기회
    → LEADING: 가속 중. 후발주/밸류체인 확장 탐색
    → LEADING→FADING: 자금 어디로 이동? → 다음 EMERGING 찾기
    → 체인 내 자금 순환: 대표주→장비→소재 순서

교차 연결:
  ← L1: 군 움직임 발견 → L2에서 테마 확인
  ← L6: 정책 진행 → L2에서 수혜 테마 매핑
  ← L8: 거래대금 이동 → L2에서 테마 전환 감지

L3. 대장주 — "대장이 살아있나? 조정이면 재진입 기회인가?"

담당: 차티스트
도구: leader_watchlist + chart_analyzer + FDR 기준봉 Top-Down
시점: 매 시간대 (대장주 상태는 항상 확인)

판단 체인:
  대장주 상태:
    → 강세 유지: 테마 건강 + 보유 유지/추가 검토
    → 조정 중: 매물소화인가 투매인가? (회복 속도 변화율)
      → 매물소화 + 회복 빠름 = 재진입 기회 (L4 매집 교차)
      → 투매 + 회복 느림 = 에너지 소진 → 테마 FADING 가능
    → 교체: 새 대장주 등장? 동일 사업영역 비교 (누적 선행+방어력)
    → 재추적: 매도한 대장주의 재료 살아있으면 계속 관찰

교차 연결:
  ← L7: 상한가 종목 → 대장주 후보
  ← L2: 테마 FADING → 대장주 꺾임 확인
  → L4: 대장주 조정 + 매집 신호 = 재진입 기회

L4. 매집 — "아직 안 움직였지만 준비 중인 종목?"

담당: 차티스트
도구: screener_chain + screener_vcp + check_program_net
시점: 장후(POST_MARKET, 확정 데이터), 장중(AFTERNOON, VCP pre-breakout)

판단 체인:
  매집 신호: 거래량 점감 + 횡보 + 프로그램 매수 슬로프
    → 사고체인 (6단계):
      1. 이 종목이 뭐하는 회사?
      2. 어떤 테마? → L2 주도테마와 겹치나?
      3. 같은 테마 다른 종목도 매집? (군 움직임)
      4. 뉴스/공시에 재료? (L5 교차)
      5. 주도섹터 연관? (L6 정책 교차)
      6. 발견 → 가설카드 + tracking_list IDEA 등록

핵심: "아직 안 올랐지만 곧 움직일 종목"을 조기 발견하는 유일한 경로.
      상승률 렌즈에서는 절대 보이지 않는 종목을 여기서 찾는다.

L5. 공시 — "기업 공시에서 신규 매매 재료?"

담당: 섹터 애널리스트
도구: fetch_stock_disclosure + WebSearch "주요 공시"
시점: PRE_MARKET(밤사이 공시), POST_MARKET(당일 공시)

판단 체인:
  공시 유형별:
    → 수주: 금액/매출비중/기존사업 연장 vs 신사업 = 규모+신사업이면 강한 재료
    → 실적: 서프라이즈 방향/크기 → earnings reaction 스코어
    → 지분변동/자사주: 대주주 매입 = 확신 시그널
    → 투자결정: 설비투자/인수합병 → 미래 성장 경로
    → 감사적정/합병: 대부분 단발. 단독 재료로 불충분.
  공시 발견 → 차트 위치 확인(L3) → 테마 연결(L2) → 정책 연결(L6)

현행 gap: 보유/추적 종목만 공시 확인. 전종목 주요 공시 스캔이 없음.
추가:
  - POST_MARKET에서 당일 주요 공시 스캔 (수주/실적/투자결정)
  - WebSearch "오늘 주요 공시" + DART 주요사항보고 확인
  - 발견 시 해당 종목 L1/L3 교차 확인

L6. 정책 — "정책 변화가 만드는 기회?"

담당: 매크로 이코노미스트
도구: POLICY_TRACKER + WebSearch + ISSUE_LOG
시점: PRE_MARKET(밤사이 미국 정책), EVENING(미국장 중 발표), WEEKEND(주간 리뷰)

판단 체인:
  아젠다 파이프라인:
    비전→발표→발의→심의→통과→시행령→예산→집행
    → 매 단계 넘길 때 관련 종목 반응 확인
    → 새 아젠다 발견 → 수혜 기업 매핑 (밸류체인 위아래)
    → 한국에 대체불가 기업? (독점 수혜)
    → POLICY_TRACKER 등록 + 관련 종목 L2 테마 교차

정책→종목 역매핑 (기존 gap):
  POLICY_TRACKER 각 아젠다에 대해:
    → "이 정책이 한 단계 진행되면 누가 수혜?"
    → 수혜 종목 리스트 → 차트 위치(L3) + 매집 여부(L4) 확인
    → 아직 가격에 안 반영됐으면 → 가설카드 작성

교차 연결:
  ← L1: 급등 이유가 정책이면 → L6 아젠다 확인
  ← L5: 수주 공시 → L6 정책과 연결되면 지속성 UP
  → L2: 수혜 테마 매핑

L7. 상한가 — "최강 에너지 이벤트의 후속?"

담당: 섹터 애널리스트 + 차티스트
도구: eod_market_scan + TRACKING_PROTOCOL 7단계
시점: POST_MARKET(당일 등록), 매일(추적 갱신), WEEKEND(주간 단계 정리)

판단 체인:
  D+0: 상한가 발생 → WHY? + 재료 지속성 + 에너지 규모(거래대금)
  D+1: 갭업/갭다운 + 연속성 판단 (장중매수 4가지 기준)
  D+2~D+N: 기준봉 작동 → 매물소화 → 회복 속도 → 대시세 판별
    → TRACKING_PROTOCOL 7단계 그대로 적용
    → 회복 속도 단축 = 매집 완료 시그널 → 진입 검토

핵심: D+1만 보고 끝내지 않는다. 2~4주 추적.
현행 gap: tracking_list에 등록은 되지만 매일 루틴에서 단계별 체크가 빠짐.
추가: POST_MARKET Phase 2에서 tracking_list 상한가 출신 종목 매일 단계 갱신.

L8. 거래대금 — "시장 참여자의 관심이 어디로 이동?"

담당: 트레이더
도구: ka10030(당일) + ka10031(전일) + daily_market_snapshot
시점: 장중(MID_MORNING, AFTERNOON), 장후(POST_MARKET)

판단 체인:
  당일 vs 전일 비교:
    → 신규 진입: 어제 없었는데 오늘 TOP 등장 → WHY?
    → 이탈: 어제 있었는데 밀림 → 관심 이탈? 매물소화 진입?
    → 대폭 증가: 거래대금 3x+ → 이벤트 발생 (L1 교차)
    → 거래대금 유지 + 가격 횡보: 매물소화 가능 (L4 교차)
  5일 누적 추이:
    → 점증: 관심 확대 (테마 가속)
    → 점감: 관심 이탈 (테마 소강)
    → 급증 후 유지: 신규 참여자 유입 완료 (돌파 가능)

교차 연결:
  → L2: 주도테마 건강도 = 거래대금 유지 여부
  → L3: 대장주 교체 = 거래대금 이동으로 감지
  ← L1: 상승 + 거래대금 폭발 = 신규 테마 출현 가능

렌즈 교차 연결 맵

          L6 정책
           ↓ 수혜기업
    L5 공시 ←→ L2 주도테마
      ↓ 재료      ↕ 자금흐름
    L1 상승률 ←→ L8 거래대금
      ↓ 강한종목    ↕ 관심이동
    L7 상한가 ←→ L3 대장주
      ↓ 추적        ↕ 조정/재진입
                  L4 매집

연결 시나리오 예시:

[A: 정책→테마→종목]
L6 GENIUS Act 위원회 통과 → L2 블록체인 EMERGING?
  → L5 다날 공시? → L3 다날 vs 두나무 사업영역 비교
  → L4 매집 신호? → 가설카드

[B: 매집→재료 확인→진입]
L4 screener 후성 매집 → L5 미국 공급계약 공시
  → L6 IRA/FEOC 정책 진행 → L2 전해질 테마 EMERGING
  → L3 국내 유일 대장 → 조기 발견 성공

[C: 상한가→추적→대시세]
L7 대한광통신 상한가 D+0 → D+5 조정 (기준봉 시가 이탈)
  → D+10 회복 (L3 모니터링) → D+15 회복 속도 단축
  → L4 프로그램 순매수 전환 → 재진입 풀분석

시간대-렌즈 매트릭스

시간대 Primary (깊이) Secondary (확인)
PRE_MARKET L6정책, L3대장주, L7상한가(D+1) L8거래대금(NXT), L5공시
MID_MORNING L1상승률, L8거래대금, L3대장주 L2주도테마
AFTERNOON L4매집, L8거래대금, L3대장주 L1상승률, L5공시
CLOSING(14:50~) ALL -
POST_MARKET ALL -
EVENING L6정책, L8거래대금(미국) L5공시, L3대장주(ADR)
WEEKEND L6정책, L2주도테마, L4매집 L3대장주, L7상한가(주간)

종목 발굴 시 파이프라인 강제

렌즈 스캔 결과를 바로 최종 선정으로 만들면 숫자 매칭이 된다. 반드시 아래 파이프라인을 밟는다:

1차 후보 (렌즈 스캔)       → 도구로 실제 데이터를 스캔해서 나온 종목이 후보
  ↓
2차 스크리닝 (종목별 4질문)  → WHY/WHERE/WHO/PEERS 서술. ADVANCE or DROP
  ↓
3차 풀분석 (TRADE_EVALUATION_FRAMEWORK 1층~3층)
  ↓
최종 선정 (5개 이하)       → thesis + 진입조건 + 무효화조건

1차 후보의 핵심 규칙: 종목을 먼저 정하고 렌즈 태그를 붙이는 게 아니다. 렌즈(도구)로 실제 스캔한 결과에서 종목이 나온다.

"항상 보는 종목"과 "매수 후보"는 다르다: - L3로 대장주(삼성전자 등)를 항상 확인하는 건 맞다. 특이사항이 있을 수 있으니까. 이건 테마 건강 확인 용도. - 하지만 매수 후보에 올리려면 그 날 구체적 매수 사유가 있어야 한다: 매집 완료, 다중 지지영역 도달, 공시/재료, 수급 전환, 돌파 시도 등. 아무 이유 없이 "대장주니까 종가매수 후보"가 되면 안 된다.

1차 스캔 도구: - L1/L8: 상승률 상위 30 + 거래대금 상위 30 (키움API or FDR 전종목 스캔) - L4: screener_chain + screener_vcp - L7: 상한가 목록 - L5: 당일 주요 공시 - 백테스트에서도 FDR/pykrx로 동일한 스캔을 실행한다. 수동 종목 나열 금지.

이 파이프라인은 /rs 안에서든 밖에서든 강제된다. 상세: knowledge_base/TRADE_EVALUATION_FRAMEWORK.md


Supervisor 렌즈 검증

Supervisor는 기존 UNIT 대조에 더해 렌즈 완결성을 검증한다:

[L1 상승률] 상승/급등 종목 WHY를 전부 확인했는가? 테마 연결까지 했는가?
[L2 주도테마] LEADING/FADING 변화 감지 + 자금 순환 방향 판단했는가?
[L3 대장주] leader_watchlist 전체 상태 확인 + 조정 종목 매물소화/투매 판단했는가?
[L4 매집] screener 히트 종목 사고체인 6단계 완주했는가?
[L5 공시] 당일 주요 공시(수주/실적/투자결정) 스캔했는가?
[L6 정책] POLICY_TRACKER 아젠다 변화 확인 + 수혜 종목 역매핑했는가?
[L7 상한가] tracking_list 상한가 출신 종목 단계 갱신했는가?
[L8 거래대금] 거래대금 당일/전일 변화 + 신규진입 이유 확인했는가?

시간대별 필수 렌즈가 다르다 (시간대-렌즈 매트릭스 참조). POST_MARKET/CLOSING은 8개 전부, 나머지는 Primary만 필수.