콘텐츠로 이동

S361 N8b — D3(RS)/D5(OF)/selector 정리 설계안

일자: 2026-06-30 (Tue) 근거: S360(RS·OF=streak 부분집합, win 기여 0) + S361 N7/N8(D2 수학 교체 완료). PM 방향 (2026-06-30): "테마 RS·개별 종목 RS는 수학적 렌즈로 받아들일 수 있을 것 같다. selector는 뭔지 모르겠다." → RS 수학 흡수 + selector 역할 정리. 성격: 설계안. 코드 수정은 PM 승인 후.


0. selector(portfolio-selector)란 (PM 질문 답)

discover 파이프 맨 끝 D7 단계의 LLM 에이전트 = 최종 1종 선정자. - 입력: 30종 각각의 전 도메인 결과(D1 시장/D2 차트/D3 RS/D4 테마/D5 OF/D6 실적/Dnews 재료)를 묶은 D7Input. 각 도메인은 verdict + profile(축별 강약) + 서사(domain_reasoning)로 실림. - 하는 일: 그 패키지를 읽고 "오늘 진입할 1종"을 해석으로 판단 → selected + runners_up. - 왜 LLM: S351에서 "산식 rank1 거수기" 폐기. 점수 한 숫자로 압축하면 강축이 약축을 묻으므로 (후성 과점강+판가약 → mixed로 뭉갬), 축별 profile을 읽어 종합 판단하게 함. - 비유: 도메인들이 보고서를 올리면 selector가 다 읽고 최종 1종 찍는 PM.


1. 현행 D3/D5 실제 사용처 (사실, build_d7_input.py)

도메인 현 상태 D7에서 쓰는 곳
D3 RS judge 폐기, raw만 (S343) stock_rs → compute_concentration → theme_bonus (line 104-111). verdict 카운트.
D4 테마 judge 폐기, raw만 primary_theme(theme_bonus 그룹핑), rs_vs_theme/theme_rank → selector profile
D5 OF judge 폐기, raw만 (S343) verdict 카운트 + cvd_divergence/absorption/bvc → selector profile (line 154)

→ D3는 단순 raw 아님: theme_bonus(테마 집결도) 역산의 입력. 그냥 빼면 theme_bonus 깨짐. → D5는 selector profile 노출 + verdict 카운트.

2. 검증이 말하는 것 (S360)

  • RS·OF·수급 모두 win에서 streak의 부분집합(결합이득 0, S360 N4/N6).
  • 단 이건 win(방향 적중) 기준. RS의 theme_bonus 용도(테마 집결도)·OF의 execution 단서 (divergence meanR)는 win 라벨 밖이라 "기여 0"이 아니라 "측정 밖".

3. 설계 — RS 수학 흡수 + D5 축소 (PM 방향)

(A) D3 RS → 수학 렌즈가 받음 (폐기 아닌 흡수) [PM 직관]

  • RS 본질 = 가격 수치 계산("시장/테마 대비 강도"). LLM 서술 대상 아님. 이미 raw만.
  • 유지: stock_rs/theme_rs를 theme_bonus 역산에 계속 사용 (compute_concentration 그대로).
  • 정리: D3를 "judge처럼 보이는 verdict 카운트"에서 빼고, 순수 수치 입력으로 명확화. selector엔 RS를 "방향 판단 축"이 아니라 테마 집결도 + 위치 수치로만 전달. (방향 win은 streak이 주도 — RS verdict로 방향 판단하지 않음).

(B) D5 OF → 축소 (win 방향 판단에서 제외, execution 단서만) [S360]

  • 제거: D5 verdict의 방향 판단 비중. cvd/bvc/absorption은 win 기여 0(S360 N4b).
  • 유지(축소): divergence meanR 단서(execution)만 selector에 "참고"로. 방향 게이트 아님.
  • 대안: D5를 selector profile에서 빼고, 매물대 자리(N7)는 이미 D2 chart_score가 흡수했으므로 OF 30분봉은 장중 진입 정밀화 용도로만 남김(현 일별 파이프 밖). → discover D5 stage 폐기 후보.

(C) selector 입력 재구성

교체 후 selector가 받는 축:

방향·자리 (수학):  D2 chart_score = streak + 자리(overhang/dd60) + seat_fit + 기댓값
테마 (수학):       theme_bonus(D3 RS 역산) + 테마 위치(rs_vs_theme/theme_rank)
재료 (LLM):        Dnews verdict + 구조성 profile
실적 (LLM):        D6 verdict + valuation/forward profile
시장 (LLM):        D1 verdict
(제거/축소):       D5 OF 방향판단
- selector 역할 불변(최종 종합·1종 선정). 단 입력 축에서 D5 방향 빠지고 D2가 수학. - must_address(S353): 게이트통과 종목 인용 강제 — D2 수학 verdict 기준으로 갱신 필요.

4. 침습도·순서 (PM 결정 필요)

  • D3 흡수 = 낮음(이미 raw, theme_bonus 유지). verdict 카운트만 정리.
  • D5 축소/폐기 = 중간(selector profile·verdict 카운트·step_loop STAGES에서 제거).
  • 권고 순서: ①D2 교체 e2e 1회(현 상태 격리 검증) → ②D3 정리(저침습) → ③D5 축소(중침습). 한 번에 묶으면 e2e 실패 시 원인 분리 불가.

5. 미결 / 경계

  • D5 완전 폐기 vs 축소: divergence meanR(execution 단서)를 살릴지 PM 판단. win엔 무의미.
  • theme_bonus가 RS에 의존 — RS 수집 자체는 유지(폐기 아님).
  • 라벨 다양화(1/20일) 전이라 D5 execution 단서는 미확정.

6. 한 줄

RS는 수학 렌즈가 수치로 흡수(theme_bonus 유지), D5 OF는 win 방향판단서 제외(축소/폐기), selector는 역할 그대로 최종 종합·1종 선정. 단 D2 교체 e2e 검증 후 순차 적용.