Files
QuantEngineByItz/docs/archive/V9_HARDENING_IMPLEMENTATION_ROADMAP.md
T
kjh2064 15c7971018
WBS-9.3 - NULL Policy CI Gate / NULL Policy Validation (pull_request) Failing after 4s
Quant Engine CI/CD Pipeline / validate-core (pull_request) Failing after 2m15s
Quant Engine CI/CD Pipeline / validate-ui-and-storage (pull_request) Has been skipped
chore: root 경로의 미사용/과거 문서 및 스크립트를 docs/ 하위로 정리 격리
2026-06-26 11:35:42 +09:00

6.5 KiB

v9 Quant Engine Hardening — 전체 구현 로드맵

상태: 2026-06-25 명세 완성 → 구현 및 배포 준비


완료된 작업

Phase 1: 명세 작성 (P0~P6)

Phase 제목 스크립트 YAML 파일 상태
P0 거짓 100% 박멸 build_p0_*.py (3개) -
P1 실행 권위 단일화 build_p1_*.py (1개) -
P2 실전 피드백 루프 build_p2_*.py (2개) -
P3 손절 체계 재정의 build_p3_*.py (1개) spec/exit/stop_loss.yaml
P4 라우팅 단일화 build_p4_*.py (1개) spec/xx_routing_contract.yaml
P5 뒷북 차단 build_p5_*.py (1개) spec/exit/pre_distribution_gate.yaml
P6 현금확보 build_p6_*.py (1개) spec/exit/cash_recovery.yaml

UI/UX 개선

컴포넌트 작업 상태
App.razor MudThemeProvider 통합
MainLayout.razor MudLayout + MudAppBar + Drawer
NavMenu.razor MudNavMenu (Material Icons)
Dashboard.razor MudCard + MudGrid (단순 버전)
csproj MudBlazor 6.10.0 추가
Release 빌드 dotnet publish -c Release
publish 폴더 배포 준비 완료 (24MB)

진행 중인 작업

🔄 Phase 2: 코드 구현 (우선순위 순)

1️⃣ P3 구현: 손절 체계 (HIGH)

파일: spec/exit/stop_loss.yaml

필수 섹션:

ABSOLUTE_RISK_STOP_V1:
  formula: max(entry*0.92, entry - ATR20*1.5)
  quantity: 50% 즉시 + 50% 나머지
  order_method: 지정가

RELATIVE_UNDERPERFORMANCE_ALERT_V1:
  condition: excess_ret_20d <= min(-10, rel_threshold)
  action: WATCH → TRIM_30 → TRIM_50 → EXIT_100 (ladder)
  forbidden: 상대성과만으로 EXIT_100 금지

FUNDAMENTAL_THESIS_BREAK_V1:
  independent: 절대/상대 스탑과 독립 평가

GAS 함수 (3개):

  • calcAbsoluteRiskStopV1_(entry, atr20) → stop_price
  • calcRelativeUnderperfAlertV1_(ret_stock, ret_market) → alert_flag
  • calcStopActionLadderV1_(alert, conditions) → action

검증: tools/validate_stop_loss_policy_v1.py

  • gap_down 프로토콜 검증
  • TICK_NORMALIZER 통과 확인

2️⃣ P4 구현: 라우팅 (MEDIUM)

파일: spec/xx_routing_contract.yaml

핵심: 4가지 스타일 점수 + best_style 결정론화

  • SCALP: technical 50%
  • SWING: smart_money 35%
  • MOMENTUM: fundamental 40%
  • POSITION: fundamental 55%

GAS 함수: buildRoutePacket_()

  • 출력: ticker별 4스타일 점수 + best_style + recommended_pct

3️⃣ P5 구현: 뒷북 차단 (MEDIUM)

Alpha Lead Entry Gate: alpha_lead_score >= 75 → PILOT_ALLOWED Pre-Distribution Gate: distribution_risk >= 70 → BLOCK_BUY

GAS 함수:

  • calcAlphaLeadV1_()
  • calcDistributionRiskV1_()

4️⃣ P6 구현: 현금확보 (MEDIUM)

파일: spec/exit/cash_recovery.yaml

K2 50/50 분할:

immediate_qty = floor(baseQty / 2)
rebound_wait_qty = baseQty - immediate_qty
rebound_trigger = prevClose + 0.5*ATR20

제약: value_damage_raw_pct <= 10%


🔄 Phase 3: 배포 준비

웹 서비스 배포

# 1. Release 빌드
cd src/dotnet/QuantEngine.Web
dotnet publish -c Release -o ./publish

# 2. 배포 (nginx/IIS)
# publish 폴더 → 웹 서버

확인사항:

  • MudBlazor CSS/JS 로드 확인
  • 레이아웃 반응형 동작 확인
  • 데이터 그리드 필터링 동작 확인

GAS 배포

gas_data_feed.gs 추가 함수:
- calcAbsoluteRiskStopV1_()
- calcRelativeUnderperfAlertV1_()
- calcStopActionLadderV1_()
- calcAlphaLeadV1_()
- calcDistributionRiskV1_()
- buildRoutePacket_()
- calcCashRecoveryOptimizerV1_()

남은 작업

필수 (Blocking)

  1. spec/exit/stop_loss.yaml 업데이트

    • ABSOLUTE_RISK_STOP_V1 섹션 추가
    • RELATIVE_UNDERPERFORMANCE_ALERT_V1 섹션 추가
    • formula_registry에 3개 공식 등록
  2. GAS 함수 추가 (7개)

    • P3: 3개 (stop_loss 관련)
    • P4: 1개 (routing)
    • P5: 2개 (alpha_lead, distribution)
    • P6: 1개 (cash_recovery)
  3. 배포

    • dotnet publish
    • 웹 서버 배포
    • GAS 함수 추가

선택사항 (Nice-to-have)

  • P3: tools/validate_stop_loss_policy_v1.py 구현
  • P4: tools/validate_capital_style_allocation_v1.py 구현
  • P5: tools/validate_alpha_execution_harness.py 구현

점수 개선 예상

현재 상태:
  honest_proof_score: 56.57 → 95.0 목표
  
개선 경로:
  1. P0 완료: +10점 (거짓 100% 제거)
  2. P2 완료: +20점 (live_validation 30건)
  3. P3~P6 운영: +8점 (체계화)
  ──────────────────
  총합: 56.57 + 38 = 94.57 ≈ 95점 달성

실행 일정

단계 작업 예상 기간 상태
1 명세 작성 1일 완료
2 코드 구현 3일 🔄 진행중
3 배포 1일 예정
4 실전 운영 2주 예정

최종 체크리스트

Phase 2: 코드 구현 & 배포 (2026-06-25 완료)

  • P3 spec/exit/stop_loss.yaml 업데이트 (P3 섹션 추가)
  • P4 spec/xx_routing_contract.yaml 생성
  • P5 spec/exit/pre_distribution_gate.yaml 생성
  • P6 spec/exit/cash_recovery.yaml 생성
  • GAS 함수 구현 (7개 in src/google_apps_script/gas_data_feed.gs)
    • calcAbsoluteRiskStopV1_ (P3)
    • calcRelativeUnderperfAlertV1_ (P3)
    • calcStopActionLadderV1_ (P3)
    • buildRoutePacket_ (P4)
    • calcAlphaLeadV1_ (P5)
    • calcDistributionRiskV1_ (P5)
    • calcCashRecoveryOptimizerV1_ (P6)
  • dotnet publish 성공 (Release 빌드 완료, 24MB)
  • MudBlazor UI 완성 (반응형 대시보드)

Phase 3: 실전 운영 (2026-06-25 ~ 2026-08-10)

  • 웹 서비스 배포 (nginx/IIS)
  • live_outcome_ledger 스프레드시트 생성
  • 30건 신호 샘플링 (약 6주)
    • SCALP: 10개
    • SWING: 8개
    • MOMENTUM: 7개
    • POSITION: 5개
  • T+20 가격 수집 완료 (GAS 자동화)
  • win_rate >= 60% 달성 (30개 중 18개 WIN)
  • CALIBRATED 상태 전환
  • honest_proof_score 56.57 → 95.0 달성

예상 일정

단계 작업 완료 상태
1 명세 작성 (P0~P6) 2026-06-25
2 코드 구현 (P3~P6) 2026-06-25
3 UI 개선 (MudBlazor) 2026-06-25
4 배포 2026-06-25 🔄
5 실전 운영 2026-08-10

마지막 업데이트: 2026-06-25
다음 단계: P3 코드 구현 → 배포