选股淘汰赛 · 2026-09-07 · xq_optional
从17只候选到2只入选的完整决策链
ELIMINATION TOURNAMENT REPORT · v1.0
雪球自选策略 — 选股淘汰赛报告
从 15 只候选 → 层层过滤 → 最终入选 2 只:中国船舶(600150)、福建水泥(600802)
今日结论
入选 2只 胜率 2/2 均收益 +1.2% | 被过滤均收益 +0.2%
今日共 15 只被过滤,前三大来源:4只 composite_score, 2只 tech_score, 1只 low_price。 详细明细见下方被过滤股票分析。
全量7只技术分均值 40.3,标准差 11.8。 需关注因子区分力。
T+1 数据需在复盘后回填,届时可对比入选与淘汰股票表现。
数据先过关:漏斗数据完整性检查
每条过滤记录都有 stock_code、filter_step、filter_reason、tech_score 字段, 确保淘汰赛的每一步都是可追溯的。
数据来源:quant_funnel_stocks + quant_daily_funnel。 技术分在前几步可能为 NULL(尚未计算就被过滤),这是预期行为。
选股淘汰赛漏斗
每层过滤都有明确理由,被过滤股票在 quant_funnel_stocks 中有完整轨迹可追溯。 绿色行 = 最终入选并执行调仓。
| 层级 | 输入 | 淘汰 | 剩余 | 关键理由 |
|---|---|---|---|---|
| 问财筛选 | 15 | 0 | 15 | 条件匹配 → 返回原始候选 |
| ST/退市检查 | 15 | 0 | 15 | ST或退市股票直接排除 |
| K线获取 | 15 | 0 | 15 | 新浪/腾讯/雪球三源fallback |
| 风险过滤 | 15 | 0 | 15 | 波动率>25%、连板、5日涨幅>70% |
| 技术分过滤 | 15 | 2 | 13 | tech_score < 50(动态阈值) |
| 技术分天花板 | 13 | 0 | 13 | tech_score > 85(超买陷阱) |
| 量价确认 | 13 | 0 | 13 | 量价背离检测(无量上涨) |
| 综合分过滤 | 13 | 4 | 9 | composite_score < 固定阈值 |
| 动态得分门槛 | 9 | 0 | 9 | 综合分 < 市场动态阈值(策略Step4.5) |
| 低价股过滤 | 9 | 1 | 8 | 收盘价<2元或低分低价股 |
| 价格过滤 | 8 | 0 | 8 | 低价<5元 / 高价>100元 |
| 价格分层风控 | 8 | 0 | 8 | 高价股得分门槛加成 |
| 市值风控 | 8 | 0 | 8 | 市值<50亿 或 >500亿 |
| 评分分化保护 | 8 | 0 | 8 | 得分集中度检测(防低质量入选) |
| 开盘风控 | 8 | 1 | 7 | 开盘跌幅>5%/高开>8%/分布日 |
| ✅ 最终入选 | - | - | 2 | 中国船舶(600150)、福建水泥(600802) |
| ══ 漏斗未覆盖 | - | - | 7 | 7只候选未记录过滤步骤(需完善funnel_tracker集成) |
被过滤股票分析(误杀检测)
每个过滤步骤的股票明细。标注 T+1 涨>3% 的"误杀"情况。 误杀率≥25%的过滤器需重新审视阈值。
「候选未追踪」表示漏斗追踪器未覆盖该步骤——需完善 funnel_tracker 在各策略中的集成。
候选未追踪 — 7 只 | 漏斗追踪数据不完整
| 股票 | 过滤原因 | 技术分 | T+1 |
|---|---|---|---|
| 中国船舶(SH600150) | 漏斗追踪未覆盖此步骤(需完善funnel_tracker集成) | - | +1.35% |
| 高争民爆(SZ002827) | 漏斗追踪未覆盖此步骤(需完善funnel_tracker集成) | - | +0.31% |
| 华升股份(SH600156) | 漏斗追踪未覆盖此步骤(需完善funnel_tracker集成) | - | -1.01% |
| 福建水泥(SH600802) | 漏斗追踪未覆盖此步骤(需完善funnel_tracker集成) | - | +0.97% |
| 芒果超媒(SZ300413) | 漏斗追踪未覆盖此步骤(需完善funnel_tracker集成) | - | -3.19% |
| 马矿股份(SH601123) | 漏斗追踪未覆盖此步骤(需完善funnel_tracker集成) | - | +1.00% |
| 中信银行(SH601998) | 漏斗追踪未覆盖此步骤(需完善funnel_tracker集成) | - | +1.71% |
综合分过滤 — 4 只 | composite_score < 固定阈值 ⚠️ 误杀率偏高
| 股票 | 过滤原因 | 技术分 | T+1 |
|---|---|---|---|
| XD剑桥科(SH603083) | 综合分=0.0723<0.18 | 50.5 | +3.40% |
| 欧普康视(SZ300595) | 综合分=0.1326<0.18 | 48.9 | +0.64% |
| 五洋自控(SZ300420) | 综合分=-0.0568<0.18 | 35.0 | -2.18% |
| 火星人(SZ300894) | 综合分=0.0409<0.18 | 31.6 | +0.98% |
技术分过滤 — 2 只 | tech_score < 50
| 股票 | 过滤原因 | 技术分 | T+1 |
|---|---|---|---|
| 新易盛(SZ300502) | 技术分=0.29 <= 0.30 | 29.2 | -0.70% |
| 中际旭创(SZ300308) | 技术分=0.27 <= 0.30 | 26.7 | +0.35% |
低价股过滤 — 1 只 | 收盘价 < 2元极端波动
| 股票 | 过滤原因 | 技术分 | T+1 |
|---|---|---|---|
| 亚盛集团(SH600108) | 低价(4.36<5) | 60.0 | +0.00% |
开盘风控 — 1 只 | 低开/高开/分布日
| 股票 | 过滤原因 | 技术分 | T+1 |
|---|---|---|---|
| 海通发展(SH603162) | 高开(13.67%) | - | -1.34% |
最终入选股票明细
以下 2 只股票通过全部过滤,已调仓到雪球组合并推送微信通知。
| # | 股票 | 技术分 | 综合分 | 板块动量 |
|---|---|---|---|---|
| 1 | 中国船舶(600150) | - | - | - |
| 2 | 福建水泥(600802) | - | - | - |
因子分布分析
技术分与综合分的分布特征,判断当前因子体系是否具备足够的区分度。
按过滤步骤分布(从 funnel_stocks 统计)
- 候选未追踪: 7 只
- 综合分过滤: 4 只
- 技术分过滤: 2 只
- 低价股过滤: 1 只
- 开盘风控: 1 只
判断标准:标准差 < 5 表示技术分区分度严重不足(所有股票得分接近,因子失效)。 此时应检查权重或调整因子计算方式,而非简单降低阈值。
保护样本:防止过度解释
保护路径不是历史命中率。它们阻止从少数极端案例反推普遍规律。
| 保护路径 | 场景 | 应怎样翻译 | 防止的误判 |
|---|---|---|---|
| 普通匀速缓跌 | 股票缓慢下跌,无加速 | 可以过滤,但不能因浮点误差写成向下反馈加速 | 把所有缓跌都叫踩踏 |
| 单根消息重估后横盘 | 一次性下跌后横盘,无持续卖压 | 没有候选后价格延续时降为"仅重叠" | 把一次性重估解释为持续级联 |
| 单股持续卖压、市场宽度向上 | 个股下跌但大盘上涨 | 范围保持 single_stock,记录方向冲突 | 把单一大资金执行提高为全市场合力 |
| 快速下跌后持续回升 | V型反转 | 先保留下压事件,再写修复 | 只看日内下跌而忽略恢复力 |
| 权重指数下跌、上涨家数占优 | 指数跌但多数股票涨 | 范围保持 index_weighted | 把上证等同于全部个股 |
| 指数、宽度、板块健康同向上行 | 全面上涨 | 可提高为全市场向上扩散 | 系统只能识别下跌 |
| 只有五分钟路径 | 数据粒度不足 | 保留五分钟粒度,停止一分钟候选 | 把桶结束时刻冒充真实事件 |
一只被过滤的股票即便次日涨停,也不能反推过滤器有Bug。需 ≥5个交易日、≥25% 误杀率才能标记为高风险过滤器。
这一步真正帮助什么,以及不能做什么
- 可视化每只股票的完整过滤轨迹
- 快速知晓命中/过滤了哪些股票
- 识别误杀率高的过滤器
- 追溯每步过滤的具体原因
- 预测 T+1 涨跌
- 单日数据调整过滤策略
- 确认量化成交占比
- 替代投资决策
真正的进步不是把直觉包装成确定性,而是让每次过滤、淘汰和入选都能留下来接受未来事实批改。 淘汰赛漏斗的真正价值在于积累足够的样本后,用数据驱动迭代,而非一日之得失。