Files
QuantEngineByItz/spec/realtime/live_outcome_ledger_plan.yaml
T
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

162 lines
7.5 KiB
YAML

---
schema_version: "live_outcome_ledger_plan_v1"
generated: "2026-06-25"
description: "실전 거래신호 추적 및 CALIBRATED 전환 계획"
# ─────────────────────────────────────────────────────────────────────────────
# 목표
# ─────────────────────────────────────────────────────────────────────────────
purpose: |
실제 거래 신호 30개를 T+20 기준으로 평가하여
UNVALIDATED → PROVISIONAL → CALIBRATED 상태 전환
honest_proof_score: 56.57 → 95.0 달성
current_state:
honest_proof_score: 56.57
target_score: 95.0
improvement_needed: 38.43
# ─────────────────────────────────────────────────────────────────────────────
# 레저 구조 (19 필드)
# ─────────────────────────────────────────────────────────────────────────────
ledger_fields:
- "signal_id: 거래신호 고유 ID"
- "date: 신호 발생 일자 (YYYY-MM-DD)"
- "ticker: 종목코드"
- "signal_type: BUY|SELL"
- "signal_score: 신호 강도 (0-100)"
- "entry_price: 진입가 (KRW)"
- "entry_quantity: 진입 수량"
- "entry_time: 진입 시간 (HH:MM)"
- "style: SCALP|SWING|MOMENTUM|POSITION"
- "routing_confidence: 라우팅 확신도 (0-100)"
- "price_t5: T+5 종가"
- "price_t10: T+10 종가"
- "price_t20: T+20 종가"
- "return_pct_t20: T+20 수익률 (%)"
- "outcome: WIN|LOSS|BREAKEVEN"
- "win_margin: 수익률 절대값 (%)"
- "validation_status: UNVALIDATED|PROVISIONAL|CALIBRATED"
- "notes: 평가 메모"
- "last_updated: 마지막 업데이트 (ISO 8601)"
# ─────────────────────────────────────────────────────────────────────────────
# 상태 전환 규칙
# ─────────────────────────────────────────────────────────────────────────────
state_transitions:
UNVALIDATED:
condition: "신호 생성 직후"
action: "T+20 가격 데이터 대기"
duration: "약 20 거래일"
PROVISIONAL:
condition: "T+20 데이터 수집 완료"
criteria:
- "return_pct_t20 계산됨"
- "outcome 판정됨"
- "win_margin 기록됨"
action: "신호 품질 임시 검증"
CALIBRATED:
condition: "30개 신호 누적 + 평균 win_rate >= 60%"
criteria:
- "sample_count >= 30"
- "avg_win_rate >= 60%"
- "win_margin >= 2.0% (평균)"
action: "해당 스타일 알고리즘 locked (배포)"
honest_proof_score_gain: "+15점"
# ─────────────────────────────────────────────────────────────────────────────
# 샘플링 일정
# ─────────────────────────────────────────────────────────────────────────────
sampling_schedule:
start_date: "2026-06-25"
target_date: "2026-08-10" # 약 6주 (30개 신호 × 20거래일 수집)
expected_completion: "30개 신호 완료"
sampling_targets:
SCALP: "10개" # 초단타
SWING: "8개" # 중단기
MOMENTUM: "7개" # 모멘텀
POSITION: "5개" # 장기
# ─────────────────────────────────────────────────────────────────────────────
# 품질 기준 (W/L 판정)
# ─────────────────────────────────────────────────────────────────────────────
quality_criteria:
WIN:
condition: "return_pct_t20 > 2.0%"
example: "진입 50,000 → T+20 51,000원 (+2%)"
LOSS:
condition: "return_pct_t20 < -2.0%"
example: "진입 50,000 → T+20 49,000원 (-2%)"
BREAKEVEN:
condition: "-2.0% <= return_pct_t20 <= 2.0%"
action: "통계에서 제외 (noise)"
success_threshold: "avg_win_rate >= 60% (30개 중 18개 WIN)"
# ─────────────────────────────────────────────────────────────────────────────
# honest_proof_score 개선 경로
# ─────────────────────────────────────────────────────────────────────────────
honest_proof_improvement_path:
current: 56.57
phase_1_complete:
name: "P0 거짓 100% 제거"
gain: "+10점"
new_score: 66.57
phase_2_30_samples:
name: "live_outcome_ledger 30건"
gain: "+20점"
new_score: 86.57
phase_3_p3_to_p6:
name: "P3~P6 체계 운영"
gain: "+8점"
new_score: 94.57
final_target: 95.0
# ─────────────────────────────────────────────────────────────────────────────
# 추적 시스템
# ─────────────────────────────────────────────────────────────────────────────
tracking_system:
spreadsheet: "live_outcome_ledger (GAS 연동 스프레드시트)"
daily_tasks:
- "신규 신호 entry 작성 (시작할 때)"
- "T+5, T+10, T+20 가격 입력 (자동 수집)"
- "outcome 자동 계산"
- "validation_status 자동 전환"
weekly_review:
- "누적 신호 수 확인"
- "win_rate 추이 분석"
- "스타일별 성적 비교"
- "honest_proof_score 예상치 갱신"
# ─────────────────────────────────────────────────────────────────────────────
# 체크리스트
# ─────────────────────────────────────────────────────────────────────────────
checklist:
- [ ] "live_outcome_ledger 스프레드시트 생성 (GAS 연동)"
- [ ] "신호 기록 템플릿 작성"
- [ ] "T+20 가격 수집 자동화 (GAS)"
- [ ] "daily commit: 신호 추가 시마다"
- [ ] "30개 신호 누적 (약 6주)"
- [ ] "win_rate >= 60% 달성"
- [ ] "CALIBRATED 전환"
- [ ] "honest_proof_score 95 달성"