콘텐츠로 이동

S360 — discover 수정 권고서 (N5, PM 지시1 종착)

일자: 2026-06-29 근거: S360 검증 (docs/work_logs/2026-06-29_S360_combo_signal_vs_chart.md). 150종 OOS, 정량 P(win)연속상승 vs 차트 raw신호 중첩검증 + execution 검증. 성격: 권고. 실제 코드 수정은 PM 승인 후 (CLAUDE.md §2).


1. 검증이 확정한 사실 (요약)

사실 수치 근거
정량 P(win) 사후확률 연속상승(streak)이 견고한 진입 트리거 base 0.385 -> 연속2 0.448 -> 연속3 0.462 (win중앙 동반)
차트 일봉 객관신호(추세/매물대/spring/cum_delta)는 win에서 정량의 부분집합 '차트만 ON' base이하, '둘다'≈'정량만' (결합이득 0)
30분봉 OF(cvd/bvc)도 win 추가가치 없음 streak2 단독 0.380 >= OF추가 모든조합
차트 execution 엣지 미미 매물대만 MAE 0.9%p 개선, win/meanR/touch 평탄
살아있는 차트 단서 = 변동성/낙폭 관리뿐 매물대->MAE, divergence->meanR(표본작음)

핵심 명제: 정량이 못 주는 건 '방향 확률'이 아니라 '맥락·실행'. 차트의 종목선정·방향판정 역할은 정량이 대체 가능, 차트는 실행·맥락 역할이 남는다.

2. 현행 discover 파이프라인 (사실, scripts/discover/steps/)

universe 200위
  -> [Phase 3.7] pregate: 코드 가중합(chart위치 + pullback + OF) -> 상위 30종
  -> [Phase 4] loop_d2to6: 30종 x 5 LLM judge
       D2 chart-judge / D3 rs-judge / D4 theme-leader / D5 of-judge / D6 earnings
  -> [Phase 5] D7 portfolio-selector: 1종 selected + runners_up
- pregate 산식(step_pregate.py:line): chart(rangepos·hi52) + pullback(-dd60) + OF(pres·cvd·bvc). - D2 chart-judge = chart-synthesizer(5관찰 종합) verdict.

3. 권고 — 무엇을 대체/유지/추가

(A) 추가: pregate에 정량 P(win) streak를 1차 컷으로 주입 [우선순위 1]

  • 현재: pregate가 차트위치+pullback+OF 가중합으로 30종 선별. 검증상 이 축들은 win 약함.
  • 권고: pregate 산식에 P(win) 연속상승(streak2) 을 강한 가중으로 추가하거나, streak2 충족을 1차 필터로. 검증상 streak2가 유일하게 win을 +6~12%p 올리는 축.
  • 주의: P(win)은 train/OOS WOE 적합 필요. discover 운영시점에 매일 seq 갱신 파이프 연결 필요 (build_pwin_sequential을 일배치로). 미연결시 streak 산출 불가 -> 인프라 선결.

(B) 대체 후보: D2 chart-judge의 'win/방향 판정' 비중 축소 [우선순위 2]

  • 현재: D2 chart-judge가 POSITIVE/NEGATIVE verdict로 방향 판정에 큰 비중.
  • 권고: chart-judge verdict를 방향 결정권에서 보조로 강등. 방향은 정량 P(win)streak가 주도, chart-judge는 아래 (C) 실행역할로 재정의.
  • 단 미검증 경계: chart-synthesizer의 LLM 종합판단력(5관찰 엮기)은 raw대조로 측정 안 됨. '완전 폐기' 금지 -> 역할 재배치(방향->실행).

(C) 유지·강화: 차트를 실행(execution) 역할로 재배치 [우선순위 2]

검증상 차트가 살아있는 유일 영역: - 매물대 -> 손절폭 설계: 머리위 매물 적을 때 MAE 0.9%p 작음. D7/trader 단계에서 손절선 설정에 매물대 활용 (방향판정 아님). - 30분봉 divergence -> 수익폭 단서: meanR +0.029 (표본작음, 재검증 필요). - 이례일 맥락·서사: chart-obs-events의 이례일 서사는 win라벨로 측정 불가하나 PM 판단보조용 유지.

(D) 폐기 검토: win 기여 0이고 실행기여도 없는 차트신호 [우선순위 3]

  • VSA spring 단독(win 0.366≈base, 결합이득 0), cum_delta_accel(win 무관).
  • 단 폐기 전 다른 라벨(1일/20일)에서 재확인 권고 (현재 5일 ±2σ 1종으로만 판정).

4. 권고하지 않는 것 (경계)

  • 차트 전면 폐기 금지: 측정범위(일봉+30분봉 raw, forward5 ±2σ win) 밖 역할 존재 (LLM 종합, 장중 진입정밀화, 이례일 맥락). '방향판정 역할 대체'까지만 데이터 지지.
  • streak를 단독 게이트로 즉시 운영 금지: 연속3은 종목당 14~21 표본으로 작음. 연속2(33~48)가 더 신뢰. SPA/DSR 등 다중검정 보정 미실시.

5. 선결 인프라 (권고 실행 전 필요)

  1. 일배치 seq 갱신: build_pwin_sequential을 매일 universe에 돌려 p_post 시계열 유지 (streak 산출 토대). 현재는 연구용 단발 실행만.
  2. 신용잔고 게이트 방향 재검토(S360 미결): -3.6%p 방향오류 의심.
  3. 라벨 다양화: forward 1/20일, 손절선 다른 RR로 차트 execution 재검증.

6. 한 줄 결론

discover의 '오를 종목 고르기(방향확률)'는 정량 P(win)연속상승으로 대체/강화하고, 차트는 '어디서 손절/진입하나(실행)'와 '무슨 맥락인가(서사)' 역할로 재배치한다. 실제 코드 수정은 PM 승인 + 일배치 seq 인프라 선결 후.