SELECT trade_date, stock_count, up_count, flat_count, down_count, zero_prev_close_count, positive_share, avg_ret_from_prev_close_pct, benchmark_type, price_source_table, run_id AS breadth_cache_run_id, CASE WHEN up_count >= 4000 AND down_count >= 4000 THEN 'BOTH_4000' WHEN up_count >= 4000 THEN 'UP_4000' WHEN down_count >= 4000 THEN 'DOWN_4000' ELSE 'OTHER' END AS class_label FROM ts_market_breadth_daily_cache WHERE scope_type = 'ALL_A_SHARE' AND scope_value = 'ALL' AND trade_date >= '2023-01-01' AND trade_date <= '2026-12-31' ORDER BY trade_date;