1
2026-06-15 13eaa23e4e6b21d8ca33c974ced86848ff3a184e
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
{
  "schema_version": "1.0",
  "run_id": "RUN-ANA-WUJI-V1-ORIGINAL-BUY-LIMITUP-SCOPE-CHECK-20260614-001",
  "task_id": "ANA-WUJI-V1-ORIGINAL-BUY-LIMITUP-SCOPE-20260614",
  "generated_at": "2026-06-14T02:28:00+08:00",
  "design_audit_id": "AUDIT-ANA-WUJI-V1-ORIGINAL-BUY-LIMITUP-SCOPE-20260614-DESIGN-001",
  "issue_id": "ANA-ISSUE-WUJI-V1-ORIGINAL-BUY-LIMITUP-SCOPE-20260614-001",
  "source_runs": {
    "v1_run": "RUN-ANA-WUJI-STRICT-SELL-ROLLING-REPAIR-20260609-001",
    "full_run": "RUN-ANA-WUJI-FULL-2023-2026-20260608-001"
  },
  "source_buy_identification": {
    "source_buy_rule": "strict_position_lot_ledger.lot_source_type == SOURCE_BUY and tranche_index == 1",
    "rolling_buy_exclusion_rule": "strict_position_lot_ledger.lot_source_type == ROLLING_LOW_BUY and tranche_index > 1",
    "expected_source_buy_lots": 710,
    "expected_rolling_low_buy_lots": 25
  },
  "signal_date_policy": {
    "primary_source": "full_selected_candidate_ledger.signal_trade_date joined by candidate_id/case_id/symbol",
    "entry_date_source": "full_selected_candidate_ledger.entry_trade_date",
    "missing_or_conflict_status": "SIGNAL_DATE_MISSING_HELD"
  },
  "strict_limitup_policy": {
    "window_trading_days": 30,
    "exclude_signal_day": true,
    "price_source_table": "a_share_daily_price",
    "limit_hit_field": "high_price",
    "previous_close_field": "prev_close",
    "limit_rate_policy": {
      "BJ": 0.3,
      "STAR_688": 0.2,
      "CHINEXT_300_301": 0.2,
      "MAINBOARD_DEFAULT": 0.1
    },
    "tolerance_pct_points": 0.05,
    "limit_hit_formula": "((high_price / prev_close) - 1) * 100 >= limit_rate_pct - tolerance_pct_points",
    "source_buy_rule": "strict_position_lot_ledger.lot_source_type == SOURCE_BUY and tranche_index == 1",
    "rolling_buy_rule": "strict_position_lot_ledger.lot_source_type == ROLLING_LOW_BUY and tranche_index > 1"
  },
  "data_sources": {
    "daily_price_table": "tianxia.a_share_daily_price",
    "daily_price_fields": [
      "trade_date",
      "symbol",
      "open_price",
      "high_price",
      "low_price",
      "close_price",
      "volume",
      "amount"
    ],
    "source_v1_lot_ledger": "ana-data/result/RUN-ANA-WUJI-STRICT-SELL-ROLLING-REPAIR-20260609-001/strict_position_lot_ledger.csv",
    "source_v1_order_ledger": "ana-data/result/RUN-ANA-WUJI-STRICT-SELL-ROLLING-REPAIR-20260609-001/strict_order_ledger.csv",
    "source_full_selected_candidate_ledger": "ana-data/result/RUN-ANA-WUJI-FULL-2023-2026-20260608-001/full_selected_candidate_ledger.csv"
  },
  "rounding_and_tolerance": {
    "reason": "A-share price-limit hits are rounded to price ticks; strict threshold uses a 0.05 percentage-point tolerance and exposes exact high/prev_close return.",
    "tolerance_pct_points": 0.05
  },
  "boundary_statuses": [
    "STRICT_LIMITUP_PASS",
    "STRICT_LIMITUP_FAIL",
    "SIGNAL_DATE_MISSING_HELD",
    "DAILY_DATA_GAP_HELD",
    "PRIOR_30_TRADING_DAY_WINDOW_INCOMPLETE_HELD"
  ],
  "citation_boundary": "Execution review is required before this run's readouts can be cited as formal conclusions."
}