formula_id: PRE_DISTRIBUTION_EARLY_WARNING_V3 version: "2026-06-03_P0-009" purpose: > 5개 분산 feature의 가중합으로 DISTRIBUTION_CONFIRMED(≥4) 또는 WARNING(2~3)을 판정한다. CONFIRMED 종목 신규 BUY를 즉시 차단하고 TRIM_REVIEW를 권고한다. 손절 이탈 전에 설거지 구간을 포착한다. features: F1: name: DISTRIBUTION_DETECTOR_SIGNALS_GE2 condition: "distribution_sell_detector.signals_count >= 2" weight: 1 F2: name: RUNUP_WITH_WEAK_SMART_MONEY condition: "velocity_1d >= 3.0% AND smart_money_score < 50" weight: 1 F3: name: RSI_OVERBOUGHT_GE75 condition: "rsi14 >= 75" weight: 1 F4: name: PRICE_REVERSAL_AFTER_SURGE condition: "ret5d < 0 AND velocity_5d > 5%" weight: 1 F5: name: DISTRIBUTION_VERDICT_ACTIVE condition: "distribution_sell_detector.distribution_verdict contains DISTRIBUTION" weight: 1 verdicts: DISTRIBUTION_CONFIRMED: threshold: "weighted_sum >= 4" action: TRIM_REVIEW buy_blocked: true WARNING: threshold: "2 <= weighted_sum < 4" action: WATCH_TRIM_CANDIDATE buy_blocked: false CLEAR: threshold: "weighted_sum < 2" action: HOLD_MONITOR buy_blocked: false acceptance_criteria: distribution_confirmed_buy_count: "== 0" warning_to_trim_lag_days: "<= 1" distribution_t5_down_capture_rate_pct: ">= 60 (표본 축적 후)" false_distribution_rate_pct: "<= 35" effectiveness_tracking: formula_id: DISTRIBUTION_BLOCK_EFFECTIVENESS_V1 rationale: "weighted_sum>=4 차단이 실제로 손실을 회피했는지(차단 종목의 T+5 수익률)를 측정해야 임계값을 데이터로 보정 가능" implementation: - step: 1 desc: "weighted_sum>=4로 BUY 차단된 종목 리스트와 차단일 기록" - step: 2 desc: "차단 후 T+5 가상 수익률(차단 안 했다면) 계산. 음(-)이면 차단 정당(avoided_loss)" - step: 3 desc: "avoided_loss_rate = 음수 비율. 목표 >= 60%(차단의 60% 이상이 실제 손실 회피)" - step: 4 desc: "60% 미만이면 임계값(4.0) 조정 후보 제시(자동 적용 금지, 권고만)" metrics: avoided_loss_rate: current: null target: ">= 0.60" label: "[UNVALIDATED_LOW_N: 표본 미달]" source: Temp/distribution_block_effectiveness_v1.json.avoided_loss_rate blocked_sample_count: current: 0 target: ">= 30" output: - Temp/distribution_block_effectiveness_v1.json.avoided_loss_rate python_tool: tools/build_distribution_exit_presignal_v2.py gs_coverage: "gas_apex_alpha_watch.gs:trackDistributionBlockEffectiveness_()" validator: "tools/validate_distribution_exit_presignal_v2.py" acceptance: "avoided_loss_rate >= 0.60 OR [UNVALIDATED_LOW_N] 라벨 부착" llm_prohibition: - "LLM이 distribution_verdict를 재판단하거나 번복하는 것을 금지" - "CONFIRMED BUY 권고 금지" - "avoided_loss_rate 미산출 상태에서 임계값(4.0) 자동 조정 금지"