S357 — 정석 + v3 코드 자동화 가능성 전수 분류¶
일자: 2026-06-28 (Sun)
목적: discover 종목선정 기법을 "코드 자동화 가능성"으로 분류 → 자동화(코드) 비중 최대화 → LLM 처리 축소의 설계도.
범위: v3 고유 39 엔진 전부 + 정석 153개 중 단기 종목선정 관련만 (채권평가·옵션그릭스·대체투자·법규·윤리 제외).
입력: S356_quant_lens_v3_dedup.md (39 엔진), S356_finance_cert_methods.md (정석 153), work_log §9 (PM 방향).
0. 분류 기준 (rubric)¶
각 기법을 3축으로 판정한다.
| 축 | 질문 | 값 |
|---|---|---|
| C 계산식 | 닫힌 수식/알고리즘이 명확한가? | 닫힘 / 추정필요(MLE·최적화) / 정성 |
| D 데이터 | 입력 데이터가 우리에게 있나? | 있음 / 수집필요(코드) / 없음 |
| O 출력 | 출력이 그대로 숫자로 쓰이나, 해석이 필요한가? | 스칼라직접 / 스칼라+맥락 / 서술해석 |
→ 위 3축을 종합해 자동화 등급 3분류:
- A 코드가능 = 계산식 닫힘/추정 + 데이터 있음/수집가능 + 출력이 스칼라로 직접 소비. 에이전트 안 거침. 코드가 P(win)/RR/레짐확률 같은 숫자를 산출하고 그대로 score_compose·pre-gate에 투입.
- B 부분 = 코드가 숫자를 산출하되 그 숫자의 의미 부여·상충 조정·맥락 결합은 LLM이 함. 코드=계산기, LLM=해석기.
- C LLM필수 = 계산식이 정성적이거나(맥락·서사) 입력이 비정형(뉴스·공시 텍스트). 코드는 보조데이터만 제공.
데이터 인벤토리 (2026-06-28 실측):
- 일봉 419종 × 5년 (data/backtest/s303/ohlcv/) ✅
- 30분봉 420종 (data/minute_charts/30min/) ✅
- 수급 flow_series 393종 (투자자별 순매수) ✅
- 체결강도 일별 ka10047 — 60일+ 과거 제공, 수집 스크립트 필요 (work_log S356 §3)
- macro_series / derivatives(베이시스·선물 OI) ✅
- 틱·호가 = 백테스트 구조적 불가 (직전 1일만) → 해당 기법 이미 v3에서 제외됨
1. v3 고유 39 엔진 분류¶
L1 레짐 (6)¶
| # | 엔진 | C 계산식 | D 데이터 | O 출력 | 등급 | 근거 |
|---|---|---|---|---|---|---|
| 1 | 마르코프 레짐스위칭/HMM | 추정(Hamilton필터·MLE) | 일봉✅ + 거래량✅ + 체결강도(수집) | ξ(강세확률) 스칼라 | A | 출력 ξ_{t|t}(강세)가 손익비 가중에 직접. 체결강도 다변량판만 데이터 수집 선행 |
| 6 | 통계적 점프모델 | 추정(동적계획·coord descent) | 일봉✅ | 강세/약세 상태 0/1 | A | exposure 스위치로 직결. 닫힌 목적함수 |
| 4 | BOCPD 변화점탐지 | 닫힘(재귀) | 일봉✅ + 공매도/대차(수집) | run-length 사후확률 | A | 변화점확률 스칼라 → 손절 트리거. 대차잔고판은 수집 선행 |
| 5 | GARCH족(GJR/EGARCH) | 추정(MLE) | 일봉✅ | σ_{t+1} 스칼라 | A | 손절폭 분모. 표준 arch 라이브러리 |
| 3 | 칼만필터/상태공간 | 닫힘(칼만재귀) | 일봉✅ + 수급✅ | level/slope ±√P | A | 동적베타·매집강도 모두 스칼라 |
| 32 | Hurst/DFA/ARFIMA | 닫힘(회귀기울기) | 일봉✅ | α (추세vs회귀 성격) | A | 전략선택 스칼라. 종목 성격 라벨 |
L1 소계: A 6 / B 0 / C 0. 전부 코드가능. 레짐층은 100% 자동화 후보.
L2 도달확률 (4)¶
| # | 엔진 | C | D | O | 등급 | 근거 |
|---|---|---|---|---|---|---|
| 8 | 도달확률 first-passage | 닫힘(GBM 배리어식) | 일봉✅ | P(상단먼저) 스칼라 | A | 손익비+도달확률 한 식. 핵심 엔진 |
| 10 | EVT POT-GPD | 추정(GPD 적합) | 일봉✅ | 꼬리 VaR 손절폭 | A | 손절폭 분모 스칼라 |
| 14 | 코퓰러 의존성 | 추정(copula 적합) | 일봉✅ + 지수✅ | 조건부도달확률 | A | 종목-지수 동조확률 스칼라 |
| 63 | VECM 가격발견 | 추정(Johansen) | 일봉✅ + 지수/섹터✅ | 일시성분(잔차) | A | 평균회귀 신호 스칼라 |
L2 소계: A 4. 전부 코드가능.
L3 손익비 (3)¶
| # | 엔진 | C | D | O | 등급 | 근거 |
|---|---|---|---|---|---|---|
| 7 | 분위수회귀/CAViaR | 추정(체크손실 최소화) | 일봉✅ + 수급✅ + 재료더미(B) | Q_05/50/95 손익비 | A | RR·손절·목표 직접 산출. 재료더미 입력만 LLM 의존이나 가격분위수 자체는 A |
| 33 | 거래비용 추정(4종) | 닫힘 | 일봉✅(거래대금) | ILLIQ/스프레드 스칼라 | A | 슬리피지 비용항 스칼라 |
| 67 | 컨포멀 예측구간 | 닫힘(분위수 래핑) | 일봉✅ | 90% 구간 하/상단 | A | 손절/목표 후보 스칼라 |
L3 소계: A 3.
L4 수급·점과정 (7)¶
| # | 엔진 | C | D | O | 등급 | 근거 |
|---|---|---|---|---|---|---|
| 34 | Kyle's λ/OFI | 닫힘(선형회귀) | 수급✅ + 일봉✅ | λ 충격강도 스칼라 | A | 수급이 가격 미는 강도 스칼라 |
| 25 | 전이엔트로피 | 닫힘(이산화+추정) | 수급✅ | TE 비트 + 선행주체 | A | 선행주체 가중치 스칼라 |
| 45 | VPIN 일별판 | 닫힘(BVC) | 30분봉✅ | VPIN 독성 스칼라 | A | 정보비대칭 스칼라 |
| 15 | Hawkes 자기여기 | 추정(MLE 분기율) | 30분봉✅ + 공매도(수집) | 분기율 n 스칼라 | A | 돌파지속 확률 스칼라 |
| 28 | BNS 점프검정 | 닫힘(bipower) | 30분봉✅ | 점프 유의 z | A | 재료성 점프 판별 스칼라 |
| 29 | 실현 반변동성/왜도 | 닫힘 | 30분봉✅ | RS+/RS- 비대칭 | A | 하방위험 스칼라 |
| 42 | 베이시스 OU 트리거 | 추정(AR1+최적정지) | derivatives✅(베이시스) | OU z + 반감기 | A | 회귀일수 스칼라 |
L4 소계: A 7. 수급·점과정 전부 코드가능 (체결강도·공매도만 수집 선행).
L5 결합 (7)¶
| # | 엔진 | C | D | O | 등급 | 근거 |
|---|---|---|---|---|---|---|
| 26 | 직교화(Gram-Schmidt/Lowdin) | 닫힘(선형대수) | 신호행렬(내부산출) | 무상관 신호 | A | 결합 전처리. 순수 계산 |
| 49 | 베이지안 결합(WOE/순차/수축) | 닫힘(로그오즈) | 신호 bin(내부) | 사후 P(상승) | A | 통합 확률 스칼라 |
| 51 | 확률 캘리브레이션 | 추정(Platt/Isotonic) | 신호+라벨 | calibrated P | A | 베팅사이즈용 진짜확률 |
| 53 | 로지스틱 스태킹 | 추정(2단계 MLE) | oof 확률(내부) | 메타가중 P | A | 약신호 최적가중. 단 ML이라 검증부담 — PM "룰 vs ML" 미결정(§3) |
| 54 | 최대엔트로피 결합 | 추정(KL 최소화) | 신호+모멘트 | 중복차단 합성 | A | 정보 이중계상 방지 |
| 56 | DML 인과분리 | 추정(cross-fitting ML) | 재료더미(B) + 일봉✅ | θ 재료 순효과 | B | 재료더미 입력이 LLM 산물. 인과효과 숫자는 코드, "어떤 레짐서 큰가"(CATE) 해석은 LLM |
| 27 | Grinold IC·breadth | 닫힘(corr·IR) | 신호+수익(내부) | IC 채점·최종랭킹 | A | 최종 의사결정층 스칼라 |
L5 소계: A 6 / B 1. 결합층은 거의 코드. DML만 재료더미 의존으로 B.
L6 통계차익·분해 (6)¶
| # | 엔진 | C | D | O | 등급 | 근거 |
|---|---|---|---|---|---|---|
| 17 | 통계차익 s-score | 추정(PCA+OU) | 일봉✅ | s-score ±3 스칼라 | A | 되돌림확률 Φ(-s) 직접 |
| 18 | 공적분 바스켓 | 추정(Johansen+OU) | 일봉✅ | z + 반감기 + RR | A | 페어 이탈 스칼라 |
| 59 | L1 추세필터 | 추정(볼록최적화) | 일봉✅ | knot 기울기 | A | 추세전환점 스칼라 |
| 65 | MODWT 웨이블릿 | 닫힘(필터) | 일봉/30분봉✅ | 평활 추세선 | A | 노이즈제거 지지저항 |
| 66 | SSA | 닫힘(SVD) | 일봉✅ | 추세·주기 성분 | A | 변곡 타이밍 스칼라 |
| 64 | 오버나잇/인트라데이 분해 | 닫힘(로그수익 분해) | 일봉✅(OHLC) | r_on-r_id 스프레드 | A | 시가/종가 타이밍 스칼라 |
L6 소계: A 6.
L7 검증·실행 (6)¶
| # | 엔진 | C | D | O | 등급 | 근거 |
|---|---|---|---|---|---|---|
| 58 | Triple-Barrier/Trend-Scanning | 닫힘(라벨링) | 일봉✅ | 라벨 ±1/0 | A | D1 검증인프라 핵심(2순위). 채점 토대 |
| 48 | Cox 생존분석 | 추정(부분우도) | 일봉✅ + 공변량(내부) | P(돌파≤d일) | A | 보유기간 매칭 스칼라 |
| 60 | Deflated Sharpe+과적합 | 닫힘 | 백테스트 성과(내부) | DSR 유의 게이트 | A | 가짜엣지 할인. 검증 메타 |
| 61 | 블록부트스트랩 SPA | 추정(리샘플) | 성과(내부) | naive초과 p값 | A | 검증 메타 |
| 57 | 부호제약 순차CV | 추정(panel split) | 신호+수익(내부) | OOS 가중 | A | 미래누설 차단 가중 |
| 62 | Almgren-Chriss 실행 | 닫힘(최적궤적) | 일봉✅ + 충격계수 | 분할진입량 | A | 분할진입·충격비용 스칼라 |
L7 소계: A 6.
v3 39 엔진 종합¶
| 등급 | 개수 | 비율 |
|---|---|---|
| A 코드가능 | 37 | 95% |
| B 부분 | 2 (#7 분위수회귀 재료더미부, #56 DML / 단 #7은 가격분위수 자체는 A라 실질 1.5) | 5% |
| C LLM필수 | 0 | 0% |
핵심 발견: v3 39 엔진은 사실상 전부 코드가능(A). 설계 의도 그대로 — v3는 "확률·통계 모델"만 모았으므로 본질이 코드다. LLM 의존은 재료더미 입력(#7, #56)에만 국한. 즉 v3 정량층은 통째로 코드 엔진 39개로 구현 가능하고, LLM은 (a)재료 텍스트→더미 변환 (b)최종 상충 조정·서사에만 남는다.
데이터 수집 선행 필요(코드, 3건): 체결강도 일별 ka10047(#1 다변량/#44 단독), 공매도·대차잔고(#4/#15/#43/#47). 나머지 36개는 보유 데이터로 즉시 착수.
2. 정석 153개 — 단기 종목선정 관련만 분류¶
정석 9분류 중 단기 종목선정 시간지평(분/일/주)에 부합 + 단일종목 적용 가능한 것만 추린다. 제외 사유는 명시.
2.1 범위 밖 (분류 제외) — 사유¶
| 정석 분류 | 제외 사유 |
|---|---|
| 증권분석(DCF/DDM/RIM) | 시간지평 D+20↑ 본질가치. '내일 사자마자' 목적과 불일치. (단 재무비율·EV스코어는 펀더 보정인자로 잔존 → 아래 포함) |
| 채권/금리 | 주식 universe 밖. 듀레이션·볼록성 미적용 |
| 파생/옵션 평가 | 옵션 그릭스·BSM 평가 자체는 종목선정 무관 (단 N(d2) 도달확률 발상은 v3 #8로 이미 흡수) |
| 대체투자 | 비유동·사모·실물 = 범위 밖 (단 상대가치 발상은 v3 #17/#18로 흡수) |
| 거시/경제 | 저빈도·전종목공통. 단일종목 인자 부적합 (매크로→종목 연결은 재료면 LLM) |
| 포트폴리오 최적화(MVO/Black-Litterman) | 자산배분 = 단일종목 단기선정 무관 (단 CAPM 베타는 v3 #3/#17로 흡수) |
2.2 범위 내 — 분류¶
리스크/변동성 (v3와 최다 겹침 — 대부분 이미 v3 엔진으로 구현됨):
| 정석 기법 | v3 매핑 | 등급 | 비고 |
|---|---|---|---|
| GARCH/EWMA σ | #5 | A | 이미 v3 |
| EVT-GPD 꼬리 | #10 | A | 이미 v3 |
| VaR 분위수 | #7 | A | 이미 v3 |
| Copula 꼬리의존 | #14 | A | 이미 v3 |
| 포지션사이징 ∝1/σ² | #5 파생 | A | 변동성 타게팅 |
| VaR 백테스팅(Kupiec) | (검증) | A | 모델 검증 코드 |
기술적분석 (시간지평 적합. v3가 대중지표는 배제했으나, 시장내부 폭 지표는 진짜누락 = §3에서 보강 결정):
| 정석 기법 | 상태 | 등급 | 비고 |
|---|---|---|---|
| RS 상대강도 | v3 #17 PCA잔차로 우회 | A | 이미 우회 구현 |
| Market Breadth/등락주선/신고가신저가 | v3 부재 = 진짜누락 | A | §3 보강 — 코드 100%(시장 집계) |
| RRG(RS-Ratio×RS-Momentum) | v3 부재 = 진짜누락 | A | §3 보강 — 코드 100%(섹터 RS 2축) |
| VWAP/Anchored VWAP | v3 미채택 | A(if채택) | 일중 기준선, 코드가능하나 PM 게이트0 배제대상 |
| 대중지표(ATR/볼린저/RSI/MACD/이평/스토캐스틱/일목/피보) | 의도배제 | — | v3가 확률모델로 대체(#10/#7/#17). 재도입 불가 |
| 차트패턴(H&S·삼각형)·캔들·Elliott | 정성 | C | 패턴인식 = LLM/CV. 단기선정 보조 |
계량/통계/시계열 (v3 토대 — 전부 v3로 구현):
| 정석 기법 | v3 매핑 | 등급 |
|---|---|---|
| 회귀(단순·다중) | #34/#16 | A |
| 시계열(AR/GARCH) | #5/#42 | A |
| 베이즈 | #49 | A |
| 백테스트통계(과최적화·스누핑) | #60/#61 | A |
| 정보비율 IR | v3는 Grinold IC(#27)로 흡수, IR 자체 미명시 | A |
증권분석 — 펀더 보정인자만 (게이트 아닌 확률보정):
| 정석 기법 | 등급 | 비고 |
|---|---|---|
| 재무비율 6대(듀폰 ROE 분해) | A | DART 재무 → 코드 산출 (이미 ea_panel 인프라) |
| 상대가치 멀티플(PER/PBR/EV-EBITDA) 동종비교 | B | 멀티플 숫자는 코드(FA-M8 fetch_valuation), "정당화 가능한가"는 LLM(가격반영도) |
| justified multiple 역산 | B | implied 역산은 코드(FA-M7/M8), 합리성 판정은 LLM |
| PEAD 서프라이즈 | A | 컨센서스 대비 z = 코드(FA-M4) |
성과기여도 (retro용 — 선정 아님, 참고):
| 정석 기법 | 등급 | 비고 |
|---|---|---|
| Brinson attribution | A(retro) | 선정 단계 아님. 복기에 유용 |
정석 범위내 종합¶
- 이미 v3로 구현됨: 리스크/변동성 6 + 계량 4 + RS = v3 엔진과 중복 (추가 구현 불필요)
- 신규 코드 A: Market Breadth, RRG, IR(1줄), 재무비율, PEAD, Brinson(retro) = 6건
- B 부분: 멀티플 동종비교, justified multiple = 2건 (코드 숫자 + LLM 정당화 판정)
- C LLM필수: 차트패턴·캔들·Elliott = 1군 (패턴인식, 단기선정 보조)
3. 진짜누락 보강 결정 (Market Breadth / RRG / IR)¶
work_log S356 §8 진짜누락 4건에 대한 보강 여부 판정:
| 누락 | 보강? | 판정 근거 |
|---|---|---|
| ②Market Breadth (등락주선·신고가신저가·HHI) | ✅ 보강 | PM "시장자금 국면"과 직결. 코드 100%(시장 일별 집계, 종목불요). v3 L1 레짐(개별종목 σ·ξ)이 못 보는 시장 폭 보완. D1 시장블록에 추가. _index S344 "한국 시장 편중도 HHI" 미결과 합류 |
| ③RRG 섹터로테이션 | ✅ 보강 | 코드 100%(섹터 RS-Ratio×RS-Momentum 2축). v3 #17은 종목 잔차라 섹터간 자금이동 회전을 못 봄. discover 4면 중 '시장자금 도착 섹터'에 직결. sector_series 인프라 재사용 |
| ①정보비율 IR | ✅ 보강(경량) | Grinold IC(#27)에 IR=IC×√BR 1줄 추가면 됨. 비용 0 |
| ④Brinson 성과기여 | 🔸 retro만 | 선정 아닌 복기 단계. discover 선정에는 불요. retro 토픽으로 이관 |
보강 구현 위치(판단): Market Breadth + RRG = 시장/섹터 레벨이므로 L1 레짐층 확장 또는 별도 L0 시장폭층. 종목별이 아니라 전종목 1회 산출이라 비용 작음. D1 검증인프라 구축 시 함께.
4. 결론 — "에이전트 처리 최소화" 설계도¶
4.1 자동화 비중 (단기 종목선정 전체)¶
| 층 | 코드가능 A | 부분 B | LLM필수 C |
|---|---|---|---|
| v3 39 엔진 | 37 | 2 | 0 |
| 정석 신규 | 6 | 2 | 1군(패턴) |
| 보강(Breadth/RRG/IR) | 3 | 0 | 0 |
| 합 | 46 | 4 | 1군 |
→ 자동화 가능 비중 ≈ 90%+. discover 정량 파이프라인은 코드 엔진 46개로 구성 가능.
4.2 LLM에 남는 것 (코드 불가 = 본질적 정성)¶
- 재료 텍스트 → 더미/점수 변환 (#7·#56·멀티플정당화 입력) — 뉴스·공시 비정형
- 가격반영도 정당화 판정 (멀티플 동종비교, justified multiple 합리성) — 맥락
- 차트패턴·캔들 인식 (단기선정 보조, 선택적)
- 최종 상충 조정·서사 (코드 46개 스칼라가 충돌할 때 통합 판단 = v3 L5 결합층이 1차 자동, 잔여만 LLM)
4.3 PM 비대칭 우위 (work_log §9 답변 정합)¶
- 코드 46개 = 전종목·매일·편향0·동일잣대 (인간 정석 흉내의 우위)
- 인간이 머릿속으로 못 하는 수학(상태확률·베이지안결합) = 정석 너머
- 분절 복원 = L5 결합층(코드) + 잔여 상충만 LLM
4.4 discover 시간단축 직결¶
코드 46개가 pre-gate에서 P(win)·RR·레짐확률을 산출 → 종목당 LLM 호출이 4면 정성판단 전체 → 잔여 상충·재료해석만으로 축소. work_log §4 추정 "2시간+ → 40~60분"의 메커니즘이 이 분류로 구체화됨.
5. 다음 작업 (구현 순서)¶
이 분류가 확정하는 구현 우선순위:
- D1 검증 인프라 (2순위, 선행필수): Triple-Barrier(#58) 라벨러 + 채점기(#60/#61/#57). 46개 중 검증층 먼저.
- 데이터 수집 3건: 체결강도 ka10047, 공매도·대차잔고. (#1다변량/#15/#4대차 선행)
- 보강 3건: Market Breadth + RRG + IR — D1 인프라와 함께(시장/섹터 1회 산출).
- 엔진 구현: 보유 데이터로 즉시 가능한 36개부터 → D1 채점기로 엣지 측정 → 살아남는 것만 L5 결합.
미해결(S356 §6 승계, 구현 전 PM 결정): Triple-Barrier pt/sl 배수, 모집단(419 vs 200), IC 임계, L5 결합방식(베이지안 룰 vs 로지스틱 스태킹 #53 — §1에서 #53만 ML이라 검증부담 표시), 코드 위치(scripts/discover/research/).