{ "schema_version": "1.0", "run_id": "RUN-ANA-WUJI-BASELINE-PILOT-20260607-001", "generated_at": "2026-06-08T00:40:00+08:00", "stage": "CANDIDATE_POOL_GENERATED", "date_constraints": { "entry_start": "2023-03-24", "entry_end": "2026-04-20", "reason": "minute replay evidence required for buy/sell decision views" }, "input_rows": { "daily_rows": 4206897, "breadth_rows": 795, "entry_dates": 743 }, "candidate_counts": { "candidate_rows": 37116, "candidate_entry_dates": 743, "strict_candidate_rows": 34251, "review_candidate_rows": 2865, "market_gate_open_entry_dates": 267, "market_gate_closed_entry_dates": 476 }, "candidate_sort_policy": { "group_key": "signal_trade_date", "sort_keys": [ "upper_shadow_pct", "volume_ratio", "amount" ], "ascending": [ false, false, false ], "evidence_field": "amount", "top_n": 50 }, "previous_high_reference_volume_policy": { "policy_id": "FIRST_PREVIOUS_HIGH_IN_60D_WINDOW", "description": "When the signal day touches the previous 60-trading-day high, prev60_high_volume uses the first occurrence of the maximum high in the prior 60-trading-day window. This run preserves the audited pilot implementation and exposes prev60_high_ref_date / prev60_high_ref_policy for review.", "ledger_fields": [ "prev60_high", "prev60_high_volume", "prev60_high_ref_date", "prev60_high_ref_policy" ] }, "selected_cases": [ { "case_id": "WUJI-PILOT-CASE-01-20240304", "entry_trade_date": "2024-03-04", "signal_trade_date": "2024-03-01", "selection_bucket": "OPEN_STRONG_CANDIDATE", "case_status": "SELECTED_FOR_PILOT_REPLAY", "market_gate_status": "MKT_GATE_OPEN_PREV_DAY_UP_3000", "candidate_count": 50, "strict_candidate_count": 50, "review_candidate_count": 0, "up_count": 3492, "down_count": 1597, "selection_reason": "覆盖小样本分层:OPEN_STRONG_CANDIDATE" }, { "case_id": "WUJI-PILOT-CASE-02-20260225", "entry_trade_date": "2026-02-25", "signal_trade_date": "2026-02-24", "selection_bucket": "OPEN_HIGH_VOLUME_RATIO", "case_status": "SELECTED_FOR_PILOT_REPLAY", "market_gate_status": "MKT_GATE_OPEN_PREV_DAY_UP_3000", "candidate_count": 50, "strict_candidate_count": 39, "review_candidate_count": 11, "up_count": 4006, "down_count": 1391, "selection_reason": "覆盖小样本分层:OPEN_HIGH_VOLUME_RATIO" }, { "case_id": "WUJI-PILOT-CASE-03-20250212", "entry_trade_date": "2025-02-12", "signal_trade_date": "2025-02-11", "selection_bucket": "MARKET_GATE_CLOSED_WITH_CANDIDATES", "case_status": "SELECTED_NO_TRADE_MARKET_GATE_CLOSED", "market_gate_status": "NO_TRADE_MARKET_GATE_CLOSED", "candidate_count": 50, "strict_candidate_count": 48, "review_candidate_count": 2, "up_count": 1823, "down_count": 3399, "selection_reason": "覆盖小样本分层:MARKET_GATE_CLOSED_WITH_CANDIDATES" }, { "case_id": "WUJI-PILOT-CASE-04-20231124", "entry_trade_date": "2023-11-24", "signal_trade_date": "2023-11-23", "selection_bucket": "PREV_HIGH_REVIEW_RISK", "case_status": "SELECTED_FOR_PILOT_REPLAY", "market_gate_status": "MKT_GATE_OPEN_PREV_DAY_UP_3000", "candidate_count": 50, "strict_candidate_count": 30, "review_candidate_count": 20, "up_count": 4108, "down_count": 993, "selection_reason": "覆盖小样本分层:PREV_HIGH_REVIEW_RISK" }, { "case_id": "WUJI-PILOT-CASE-05-20230403", "entry_trade_date": "2023-04-03", "signal_trade_date": "2023-03-31", "selection_bucket": "MINUTE_COVERAGE_START_BOUNDARY", "case_status": "SELECTED_FOR_PILOT_REPLAY", "market_gate_status": "MKT_GATE_OPEN_PREV_DAY_UP_3000", "candidate_count": 50, "strict_candidate_count": 49, "review_candidate_count": 1, "up_count": 3431, "down_count": 1386, "selection_reason": "覆盖小样本分层:MINUTE_COVERAGE_START_BOUNDARY" }, { "case_id": "WUJI-PILOT-CASE-06-20260417", "entry_trade_date": "2026-04-17", "signal_trade_date": "2026-04-16", "selection_bucket": "MINUTE_COVERAGE_END_BOUNDARY", "case_status": "SELECTED_FOR_PILOT_REPLAY", "market_gate_status": "MKT_GATE_OPEN_PREV_DAY_UP_3000", "candidate_count": 50, "strict_candidate_count": 45, "review_candidate_count": 5, "up_count": 4291, "down_count": 1071, "selection_reason": "覆盖小样本分层:MINUTE_COVERAGE_END_BOUNDARY" }, { "case_id": "WUJI-PILOT-CASE-07-20230404", "entry_trade_date": "2023-04-04", "signal_trade_date": "2023-04-03", "selection_bucket": "MID_RANGE_NORMAL_OPEN", "case_status": "SELECTED_FOR_PILOT_REPLAY", "market_gate_status": "MKT_GATE_OPEN_PREV_DAY_UP_3000", "candidate_count": 50, "strict_candidate_count": 46, "review_candidate_count": 4, "up_count": 3277, "down_count": 1550, "selection_reason": "覆盖小样本分层:MID_RANGE_NORMAL_OPEN" } ], "artifacts": { "candidate_ledger.csv": { "path": "candidate_ledger.csv", "size": 16706152, "sha256": "cbc16024a9bda7cf55f1222c6d370f747010353c3f8e7d3c87b6b3c987828dee" }, "candidate_date_summary.csv": { "path": "candidate_date_summary.csv", "size": 129607, "sha256": "f47ea666b40c46addbd380e5466cbfe129a9aeb2cbfd3d9ef423fe76527f8386" }, "case_index.csv": { "path": "case_index.csv", "size": 1621, "sha256": "2193ad237aca9c709bc22226c141829e94affe3845efbc6da49663a5c779d1bf" } }, "limitations": [ "limit-up memory uses high/previous close >= 9.5% as a code proxy for first-pass candidate generation; later image/manual review must confirm semantics.", "flat60_flag uses a 60-day high/low range <= 35% only as a stratification signal, not a hard baseline buy rule.", "candidate_rank uses amount as the final same-day tie-breaker; candidate_ledger.csv now retains amount as sorting evidence.", "prev60_high_volume uses FIRST_PREVIOUS_HIGH_IN_60D_WINDOW and records prev60_high_ref_date for audit.", "candidate pool means observation pool only; it is not a buy list and produces no return conclusion." ], "next_step": "Generate candidate daily K-line image package for selected pilot cases." }