diff --git a/V9_HARDENING_IMPLEMENTATION_ROADMAP.md b/V9_HARDENING_IMPLEMENTATION_ROADMAP.md new file mode 100644 index 0000000..c13a8a1 --- /dev/null +++ b/V9_HARDENING_IMPLEMENTATION_ROADMAP.md @@ -0,0 +1,211 @@ +# v9 Quant Engine Hardening — 전체 구현 로드맵 + +**상태**: 2026-06-25 명세 완성 → 구현 및 배포 준비 + +--- + +## 완료된 작업 + +### ✅ Phase 1: 명세 작성 (P0~P6) + +| Phase | 제목 | 스크립트 | 상태 | +|-------|------|--------|------| +| P0 | 거짓 100% 박멸 | `build_p0_*.py` (3개) | ✅ | +| P1 | 실행 권위 단일화 | `build_p1_*.py` (1개) | ✅ | +| P2 | 실전 피드백 루프 | `build_p2_*.py` (2개) | ✅ | +| P3 | 손절 체계 재정의 | `build_p3_*.py` (1개) | ✅ | +| P4 | 라우팅 단일화 | `build_p4_*.py` (1개) | ✅ | +| P5 | 뒷북 차단 | `build_p5_*.py` (1개) | ✅ | +| P6 | 현금확보 | `build_p6_*.py` (1개) | ✅ | + +### ✅ UI/UX 개선 + +| 컴포넌트 | 작업 | 상태 | +|---------|------|------| +| App.razor | MudThemeProvider 통합 | ✅ | +| MainLayout.razor | MudLayout + MudAppBar | ✅ | +| NavMenu.razor | MudNavMenu | ✅ | +| Dashboard.razor | MudCard + MudDataGrid | ✅ | +| csproj | MudBlazor 6.10.0 추가 | ✅ | + +--- + +## 진행 중인 작업 + +### 🔄 Phase 2: 코드 구현 (우선순위 순) + +#### 1️⃣ P3 구현: 손절 체계 (HIGH) + +**파일**: `spec/exit/stop_loss.yaml` + +**필수 섹션**: +```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: 배포 준비 + +#### 웹 서비스 배포 + +```bash +# 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주 | ⏳ 예정 | + +--- + +## 최종 체크리스트 + +- [ ] P3~P6 코드 구현 +- [ ] GAS 함수 테스트 +- [ ] dotnet publish 성공 +- [ ] 웹 서비스 배포 +- [ ] live_outcome_ledger 30건 누적 +- [ ] honest_proof_score 95 달성 + +--- + +**마지막 업데이트**: 2026-06-25 +**다음 단계**: P3 코드 구현 → 배포