1
2026-06-10 d78c495dcb040de142bc5f25df420fd057a2d397
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
{
  "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."
}