Files
QuantEngineByItz/spec/xx_routing_contract.yaml
kjh2064 0a51702a9a feat(v9-hardening): Complete P3~P6 specs, GAS functions, and MudBlazor UI
Phase 2 implementation complete:

P3 - 손절 체계 재정의 (Stop Loss Taxonomy):
  - spec/exit/stop_loss.yaml: P3 섹션 추가
  - calcAbsoluteRiskStopV1_: 절대 손실 금지선 (entry * 0.92 vs ATR * 1.5)
  - calcRelativeUnderperfAlertV1_: 상대 성과 추적 (WATCH/TRIM_30/TRIM_50/EXIT_100)
  - calcStopActionLadderV1_: 사다리식 액션 결정

P4 - 라우팅 단일화 (Unified Routing):
  - spec/xx_routing_contract.yaml: 4가지 스타일 가중치 정의
  - buildRoutePacket_: SCALP/SWING/MOMENTUM/POSITION 점수 + best_style 결정

P5 - 뒷북 차단 (Anti-Late Entry):
  - spec/exit/pre_distribution_gate.yaml: 배분 위험 조기 감지
  - calcAlphaLeadV1_: Alpha Lead Entry Gate (alpha_lead_score >= 75)
  - calcDistributionRiskV1_: Pre-Distribution Early Warning (risk >= 70)

P6 - 현금확보 (Cash Recovery):
  - spec/exit/cash_recovery.yaml: K2 50/50 분할 + value_damage <= 10%
  - calcCashRecoveryOptimizerV1_: 현금 최적화 (부족액 4,134만원)

UI/UX 개선 (MudBlazor 6.10.0):
  - Dashboard.razor: 단순 버전 (컴파일 에러 제거)
  - MainLayout.razor: Typo enum 수정 (H5→h5, H6→h6)
  - NavMenu.razor: Icons.Material.Filled.Portfolio → Inventory2

릴리스 빌드:
  - dotnet publish -c Release 성공
  - publish 폴더 24MB (배포 준비 완료)

실전 운영 계획:
  - spec/realtime/live_outcome_ledger_plan.yaml: 30건 신호 샘플링 계획
  - honest_proof_score: 56.57 → 95.0 개선 경로 정의
  - 예상 기간: 2026-06-25 ~ 2026-08-10 (약 6주)

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-06-25 17:56:13 +09:00

82 lines
2.1 KiB
YAML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
schema_version: "unified_route_packet_v1"
generated: "2026-06-25"
description: "P4: 라우팅·서빙·판단 단일화"
# 목적: SCALP/SWING/MOMENTUM/POSITION 결정을 JSON으로 결정론화
# LLM 자유도 제거, 수량 결정 자동화
purpose: "SCALP/SWING/MOMENTUM/POSITION 판단을 결정론적 JSON으로 잠금"
route_dimensions:
- "SCALP"
- "SWING"
- "MOMENTUM"
- "POSITION"
# 스타일별 가중치 정의
style_weights:
SCALP:
technical: 0.50 # 기술지표 중시
smart_money: 0.25
liquidity: 0.15
fundamental: 0.10
SWING:
smart_money: 0.35 # 스마트머니 중시
technical: 0.30
liquidity: 0.20
fundamental: 0.15
MOMENTUM:
fundamental: 0.40 # 펀더멘탈 중시
smart_money: 0.30
technical: 0.20
liquidity: 0.10
POSITION:
fundamental: 0.55 # 펀더멘탈 최우선
smart_money: 0.20
liquidity: 0.15
technical: 0.10
# Conviction Score → 진입 수량 매핑
conviction_to_pct:
"0-34": "진입 금지 (BLOCKED)"
"35-49": "1.5% (PILOT 진입)"
"50-64": "3% (표준 진입)"
"65-79": "5% (강한 신호)"
"80-100": "7% (매우 강한 신호)"
# 점수 계산 공식
route_formula: |
score = weighted_score × data_quality × regime_scale × anti_chase × liquidity × cash_ratio
# 필수 출력 필드
mandatory_output:
- "ticker: 종목코드"
- "scalp_score: SCALP 점수 (0-100)"
- "swing_score: SWING 점수 (0-100)"
- "momentum_score: MOMENTUM 점수 (0-100)"
- "position_score: POSITION 점수 (0-100)"
- "best_style: 최우선 스타일"
- "conviction_score: 최종 확신도"
- "recommended_pct: 추천 진입 수량 (%)"
- "blocked_reasons: 블록 이유 코드 (있으면)"
- "timestamp: 생성 시간 (ISO 8601)"
# 구현 파일
implementation_files:
- "src/google_apps_script/gas_data_feed.gs: buildRoutePacket_()"
- "tools/validate_capital_style_allocation_v1.py (검증 스크립트)"
# 테스트 사례
test_case:
ticker: "000660" # SK하이닉스
technical_score: 75
smart_money_score: 65
liquidity_score: 70
fundamental_score: 60
expected_best_style: "SCALP"
expected_recommended_pct: 5.0