schema_version: 2026-06-03-anti-late-entry-pullback-gate-v4
formula_id: ANTI_LATE_ENTRY_GATE_V2_CALIBRATED
purpose: 뒷박(late-chase) 매수 차단 — T+5 실측 기반 보정 루프.
required_fields:
  - prediction_match_rate_pct
  - t5_direction_accuracy_pct
  - buy_after_5d_runup_without_pullback_count

# ── velocity 버킷 기반 실측 보정 (SCAFFOLDED_PENDING_LIVE_DATA) ─────────────
# [SCAFFOLDED_PENDING_LIVE_DATA: late_chase_attribution_samples=0, target>=30]
calibration:
  formula_id: ANTI_LATE_ENTRY_GATE_V2_CALIBRATED
  status: SCAFFOLDED_PENDING_LIVE_DATA
  current_samples: 0
  target_samples: 30
  velocity_buckets:
    - id: LOW
      range: "velocity_1d < 1.0%"
      t5_win_rate: null
      t5_avg_return: null
      sample_count: 0
      label: "[UNVALIDATED_LIVE: n=0]"
    - id: MID
      range: "1.0% <= velocity_1d < 3.0%"
      t5_win_rate: null
      t5_avg_return: null
      sample_count: 0
      label: "[UNVALIDATED_LIVE: n=0]"
    - id: HIGH
      range: "velocity_1d >= 3.0%"
      t5_win_rate: null
      t5_avg_return: null
      sample_count: 0
      label: "[UNVALIDATED_LIVE: n=0]"
      gate: GATE1_BLOCK
      gate_basis: EXPERT_PRIOR
  gate_threshold:
    velocity_1d_block_pct: 3.0
    threshold_source: EXPERT_PRIOR
    threshold_note: "[UNVALIDATED: 실측 표본 30건 누적 전까지 EXPERT_PRIOR(3%) 유지]"
    calibration_allowed: false  # 표본 < 30 → 자동 적용 금지, 데이터 충족 후 수동 적용
  chase_entry_rate:
    formula: "(velocity_1d>=3% 진입건 / 전체 BUY)"
    current: null
    target: "<= 10%"
    label: "[UNVALIDATED_LIVE: n=0]"
  output:
    - late_chase_attribution_v4.json.samples
    - operational_report.json.summary.chase_entry_rate_pct
  python_tools:
    - tools/build_late_chase_attribution_v1.py
    - tools/build_alpha_lead_threshold_optimizer_v3.py
  gs_coverage: "gas_apex_alpha_watch.gs:calibrateAntiLateEntryV2_()"
  validator: "tools/validate_no_late_chase_buy_v2.py"
