schema_version: 2026-06-10-goal-risk-budget-harness-v2
formula_id: GOAL_RISK_BUDGET_HARNESS_V2
purpose: 5억 목표와 리스크 예산/현금 방어선 연결. 매 릴리즈 drift 추적 포함.
goal_target_krw: 500000000
required_fields:
  - goal_achievement_pct
  - goal_remaining_krw
  - cash_defense_line_d2_used
  # P9-T03 추가: 성과 분해 필드
  - net_return_pct             # 거래비용·슬리피지 제거 후 순수익률
  - gross_return_pct           # 세전 총수익률
  - max_drawdown_pct           # 최대낙폭 (운영 기간 전체)
  - hit_rate_pct               # 매수 후 T+5 기준 수익 달성 비율
  - late_entry_loss_rate_pct   # 추격매수 진입 후 손실 비율
  - profit_giveback_pct        # 최고점 대비 이익 반납 비율
  # P9-T03 추가: drift 추적 필드
  - risk_budget_drift_pct      # 이전 릴리즈 대비 MDD 예산 변화량
  - cash_defense_drift_krw     # D+2 현금 방어선 이전 릴리즈 대비 변화량
  - goal_drift_months          # 목표 달성 ETA 이전 릴리즈 대비 변화량(월)
performance_decomposition_rules:
  - gross_return은 표시용으로만 사용. 사이징·게이트 판단은 net_return 기준.
  - max_drawdown 상한(20%)을 초과하면 신규 매수를 차단.
  - 목표 달성 압박을 이유로 MDD 상한·stop 규칙을 완화하는 것을 금지.
  - late_entry_loss_rate가 15%를 초과하면 anti-late-entry gate를 강화한다.
  - profit_giveback이 30%를 초과하면 trailing stop 파라미터를 조정한다.
drift_gate:
  risk_budget_drift_max_pct: 2.0    # 단일 릴리즈에서 MDD 예산 ±2% 초과 시 경고
  cash_defense_drift_max_krw: 5000000  # 현금 방어선 500만원 이상 축소 시 경고
  goal_drift_months_max: 1           # ETA 1개월 이상 연장 시 경고
output_in_final_packet: true
owner: risk_manager
lifecycle_state: active
updated_at: '2026-06-10T23:29:00+09:00'
