| 유니버스 전체 (코스피200) 백테스트 |
높음 |
1차 실행 완료 — --top-n 200 --candidate-id target_weight_rotation_top5_60_120_floor0_hold3_risk60_35 full sweep에서 200개 중 유동성 통과 164개, benchmark coverage 100%, return +110.39%, raw excess +78.50%p였지만 MDD -25.79%, turnover/year 1097.1%로 paper_only |
| target-weight 리스크 완화 후보군 검증 |
높음 |
완료 — --candidate-family target_weight_risk_relief --top-n 200 full sweep에서 10개 후보 비교. 최상위 후보=target_weight_rotation_top5_60_120_floor0_hold3_risk60_35_tol5, return +125.61%, raw excess +93.72%p, exposure-matched excess +104.53%p, Sharpe 0.91, PF 2.19였지만 전 후보가 MDD -25.27%~-32.14%, turnover/year 1027.2%~1344.3%로 provisional 게이트 미통과. 판정=KEEP_RESEARCH_ONLY; 이후 저회전·변동성 타깃 후보군으로 병목을 재검증 |
| target-weight 저회전 후보군 |
높음 |
검증 완료 — --candidate-family target_weight_turnover_relief --top-n 200 full sweep에서 6개 후보 비교. best=target_weight_rotation_top5_60_120_floor0_hold3_risk90_35_bimonthly, return +85.72%, raw excess +53.83%p, turnover/year 616.7%. 분기 후보는 turnover/year 456.1476.9%까지 낮췄지만 전 후보가 benchmark excess Sharpe<=0 및 MDD -25.35%-35.12%로 NO_ALPHA_CANDIDATE |
| target-weight 변동성 타깃 후보군 |
높음 |
검증 완료 — --candidate-family target_weight_volatility_target --top-n 200 full sweep에서 6개 후보 비교. best=target_weight_rotation_top5_60_120_floor0_hold3_risk60_35_tol5_vol16_dd8_floor35, return +105.18%, raw excess +73.29%p, exposure-matched excess +91.35%p, Sharpe 0.81, PF 2.03, turnover/year 958.0%. 다만 전 후보가 MDD -24.26%~-31.04%로 provisional MDD 게이트 미통과, 5개 후보가 benchmark excess Sharpe<=0이라 판정=KEEP_RESEARCH_ONLY. 다음은 단순 노출 축소보다 종목 선별 랭킹에 낙폭·하방변동성·상관/업종 집중 페널티를 반영 |
| target-weight 리스크 페널티 랭킹 후보군 |
높음 |
검증 완료 — --candidate-family target_weight_downside_rank_relief --top-n 200 full sweep에서 5개 후보 비교. best=target_weight_rotation_top5_60_120_floor0_hold3_risk60_35_tol5_rankrisk60, return +132.51%, raw excess +100.62%p, exposure-matched excess +111.43%p, Sharpe 0.94, PF 2.21, WF positive/Sh+ 100%. 다만 전 후보가 MDD -25.20%~-33.07%, turnover/year 1143.8%~1366.0%로 provisional 게이트 미통과. 판정=KEEP_RESEARCH_ONLY; 다음은 랭킹 페널티와 격월 리밸런싱·넓은 tolerance·월별 신규 편입 수 제한 결합 검증 |
| target-weight churn control 후보군 |
높음 |
검증 완료 — --candidate-family target_weight_churn_relief --top-n 200 full sweep에서 5개 후보 비교. best=target_weight_rotation_top5_60_120_floor0_hold3_risk60_35_tol5_rankrisk60_maxnew2, return +118.89%, raw excess +87.00%p, exposure-matched excess +97.61%p, Sharpe 0.89, PF 2.04, WF positive/Sh+ 100%. 다만 MDD -26.95%, turnover/year 1034.2%로 provisional 게이트 미통과. maxnew1·격월 후보는 turnover/year를 423.0~674.4%까지 낮췄지만 MDD와 benchmark excess Sharpe가 악화되어 판정=KEEP_RESEARCH_ONLY; 다음은 교체 제한보다 포트폴리오 drawdown guard·재진입 cooldown·상관/업종 집중도 페널티 검증 |
| target-weight portfolio drawdown guard 후보군 |
높음 |
canonical 검증 완료 — target_weight_drawdown_guard family에 exp75/rankrisk90/pdd10/floor40 기반 tol3, tol4, tol5, maxnew2, tol3_maxnew2, tol4 guard-only 강화 4종, rank-risk 강화 2종을 추가하고 --top-n 200 full sweep에서 후보 16개 비교. rankrisk120_tol4는 top-200에서 return +84.41%, raw excess +52.52%p, MDD -19.30%, turnover/year 919.4%, rankrisk90_dd75_tol4는 return +82.56%, raw excess +50.67%p, MDD -19.54%, turnover/year 896.0%로 기존 tol4보다 개선되어 canonical 대상에 포함됐다. canonical 재평가에서는 두 후보 모두 turnover는 927.9%/947.6%로 통과했지만 MDD -20.74%/-20.76%와 benchmark excess -23.70%p/-23.40%p로 paper_only. 기존 risk-overlay 후보만 provisional 유지. 다음은 rank penalty 강도 상향보다 sector/correlation cap처럼 분산 제약을 선택 단계에 직접 넣는 검증 |
| Strategy Ablation Test (전략별 단독 성과 비교) |
높음 |
C-4/C-5 단독·sleeve 비교 완료 |
| 비용 반영 전/후 성과 비교 리포트 자동화 |
중간 |
완료 — backtest.cost_impact가 비용 차감 전/후 수익률, 비용 드래그, 비용/순손익, status를 표준 집계하고 백테스트 리포트에 노출 |
| 월별 성과 분해 |
중간 |
C-5 반기별 분해 구현 완료 |
| 유동성 필터 (일평균 거래대금 기준 종목 제외) |
높음 |
완료 — watchlist 진입 대상, 포트폴리오 백테스트 입력 universe, research candidate sweep universe에 20일 평균 거래대금 하한 필터 적용. target-weight pilot 주문 전 ADV preflight도 유지 |
| Sortino Ratio 자동 계산 |
낮음 |
구현 완료 (리포트 미포함) |
| Calmar Ratio 자동 계산 |
낮음 |
구현 완료 (리포트 미포함) |
| Rotation 하락장 방어 (시장 국면 필터) |
높음 |
완료 — KS11 SMA200 필터, abs momentum 필터 테스트 후 NO_MEANINGFUL_IMPROVEMENT 판정. trailing stop 제거(승률 18-29%)로 DEV -4.99% -> -0.96% 개선 |
| 멀티전략 sleeve 비중 최적화 재검증 |
높음 |
완료 — TS OFF + TP 7% 적용 후 BV50/R50 OOS 2.87%, rolling WF 60% positive |
| KR_CORE_10 유니버스 확장 |
중간 |
대기 (BV50/R50 paper 운영 결과 확인 후) |
| Rotation trailing stop 제거 |
높음 |
완료 — disable_trailing_stop: true. 승률 18-29%, negative EV -> capture rate 71%->79%(DEV), 78%->83%(OOS) |
| Rotation TP sweep (8% -> 7%) |
높음 |
완료 — per-strategy TP override. DEV -0.96% -> -0.19%, OOS 4.25% -> 4.71% |
| Rolling walk-forward 검증 (10 windows) |
높음 |
완료 — BV50/R50 positive 60%, median +0.45%, worst -2.05% |
| Paper 모니터링 인프라 |
높음 |
완료 — c5_paper_monthly_report.py, signal/executed/skipped 카운터, guardrail 설정 |
| BV50/R50 Paper Trading 60영업일 |
높음 |
진행 중 — 2026-04-01 개시. Paper Evidence 체계 도입 |
| Debiased 전략 재평가 |
높음 |
완료 — 거래대금 기반 ex-ante proxy 20종목, portfolio WF 6 windows |
| 승격 규칙 v3 자동 판정 |
높음 |
완료 — core/promotion_engine.py + tools/evaluate_and_promote.py artifact-driven |
| 주문 상태기계 |
높음 |
완료 — OrderStatus 9개 상태, FILLED 전 position 반영 없음, 테스트 226건 green |
| 벤치마크 거래비용 반영 |
높음 |
완료 — _buy_and_hold_metrics에 commission/tax/slippage 적용 |
| Paper Evidence 수집 체계 |
높음 |
완료 — core/paper_evidence.py 일별 22개 지표, 6 anomaly rule, 9 approval gate |
| Paper Runtime State Machine |
높음 |
완료 — core/paper_runtime.py 5개 상태(normal/degraded/frozen/blocked/research_disabled), schema quarantine |
| Paper Pilot Authorization |
높음 |
완료 — core/paper_pilot.py launch readiness + pilot auth + 리스크 캡 |
| Paper Preflight Check |
높음 |
완료 — core/paper_preflight.py 운영 준비 상태 점검 |
| Portfolio backtest event guard |
높음 |
완료 — backtest/portfolio_backtester.py에 gap/어닝/BlackSwan 청산·차단·recovery와 진단 카운터 추가 |
| Portfolio backtest dynamic slippage |
높음 |
완료 — 포트폴리오 백테스터가 20일 평균 거래량을 거래비용 계산에 전달하고 trade record에 participation/slippage 진단값 기록 |
| Target-weight research dynamic slippage |
높음 |
완료 — target-weight 리서치 백테스터가 20일 평균 거래량을 거래비용 계산에 전달하고 participation/slippage 진단값 기록 |
| Research sweep benchmark coverage guard |
높음 |
완료 — 벤치마크 일부 종목 결측 시 초과수익 계산을 신뢰하지 않고 artifact/Markdown에 결측 종목과 coverage ratio를 남김 |
| Live 체결 확인 guard |
높음 |
완료 — KIS 주문 ACK 후 체결가·체결수량 조회가 실패하거나 부분체결만 확인되면 예상가 기준 FILLED 처리 대신 ACKED/PARTIAL_FILLED pending으로 남기고 requires_reconcile=True로 운영 대조를 요구 |
| Live 미체결 조회 fail-closed |
높음 |
완료 — KIS 미체결 조회 실패, rt_cd != 0, 응답 형식 이상을 주문 가능 상태로 보지 않고 live BUY/SELL을 제출 전 차단 |
| Strategy Universe Registry |
높음 |
완료 — core/strategy_universe.py paper 대상 전략 canonical 목록 |
| Zero-return Semantics (deadlock 해소) |
높음 |
완료 — cash-only/no-position day에서 daily_return=0.0 추론, benchmark final 가능 |
| Paper 운영 도구 (tools/) |
높음 |
완료 — evidence pipeline, pilot control, bootstrap, preflight, launch readiness CLI |
| Entry filter 탐색 (market filter, abs momentum, cooling) |
중간 |
완료 — 모두 NO_MEANINGFUL_IMPROVEMENT 또는 ADVERSE EFFECT. 현행 유지 |