选股淘汰赛 · 2026-09-04 · xq_optional
从12只候选到2只入选的完整决策链
ELIMINATION TOURNAMENT REPORT · v1.0
雪球自选策略 — 选股淘汰赛报告
从 10 只候选 → 层层过滤 → 最终入选 2 只:金富科技(003018)、行云科技(300209)
今日结论
入选 2只 胜率 1/2 均收益 +0.2% | 被过滤均收益 +4.7%
今日共 10 只被过滤,前三大来源:3只 composite_score, 1只 tech_score, 1只 limit_up_weak_gap。 详细明细见下方被过滤股票分析。
全量4只技术分均值 36.6,标准差 8.9。 需关注因子区分力。
T+1 数据需在复盘后回填,届时可对比入选与淘汰股票表现。
数据先过关:漏斗数据完整性检查
每条过滤记录都有 stock_code、filter_step、filter_reason、tech_score 字段, 确保淘汰赛的每一步都是可追溯的。
数据来源:quant_funnel_stocks + quant_daily_funnel。 技术分在前几步可能为 NULL(尚未计算就被过滤),这是预期行为。
选股淘汰赛漏斗
每层过滤都有明确理由,被过滤股票在 quant_funnel_stocks 中有完整轨迹可追溯。 绿色行 = 最终入选并执行调仓。
| 层级 | 输入 | 淘汰 | 剩余 | 关键理由 |
|---|---|---|---|---|
| 问财筛选 | 10 | 0 | 10 | 条件匹配 → 返回原始候选 |
| ST/退市检查 | 10 | 0 | 10 | ST或退市股票直接排除 |
| K线获取 | 10 | 0 | 10 | 新浪/腾讯/雪球三源fallback |
| 风险过滤 | 10 | 0 | 10 | 波动率>25%、连板、5日涨幅>70% |
| 技术分过滤 | 10 | 1 | 9 | tech_score < 50(动态阈值) |
| 技术分天花板 | 9 | 0 | 9 | tech_score > 85(超买陷阱) |
| 量价确认 | 9 | 0 | 9 | 量价背离检测(无量上涨) |
| 综合分过滤 | 9 | 3 | 6 | composite_score < 固定阈值 |
| 动态得分门槛 | 6 | 0 | 6 | 综合分 < 市场动态阈值(策略Step4.5) |
| 低价股过滤 | 6 | 0 | 6 | 收盘价<2元或低分低价股 |
| 价格过滤 | 6 | 0 | 6 | 低价<5元 / 高价>100元 |
| 价格分层风控 | 6 | 0 | 6 | 高价股得分门槛加成 |
| 市值风控 | 6 | 0 | 6 | 市值<50亿 或 >500亿 |
| 评分分化保护 | 6 | 0 | 6 | 得分集中度检测(防低质量入选) |
| 开盘风控 | 6 | 0 | 6 | 开盘跌幅>5%/高开>8%/分布日 |
| ✅ 最终入选 | - | - | 2 | 金富科技(003018)、行云科技(300209) |
| ══ 漏斗未覆盖 | - | - | 5 | 5只候选未记录过滤步骤(需完善funnel_tracker集成) |
被过滤股票分析(误杀检测)
每个过滤步骤的股票明细。标注 T+1 涨>3% 的"误杀"情况。 误杀率≥25%的过滤器需重新审视阈值。
「候选未追踪」表示漏斗追踪器未覆盖该步骤——需完善 funnel_tracker 在各策略中的集成。
候选未追踪 — 5 只 | 漏斗追踪数据不完整 ⚠️ 误杀率偏高
| 股票 | 过滤原因 | 技术分 | T+1 |
|---|---|---|---|
| 金富科技(SZ003018) | 漏斗追踪未覆盖此步骤(需完善funnel_tracker集成) | - | -0.92% |
| 金钛股份(BJ920071) | 漏斗追踪未覆盖此步骤(需完善funnel_tracker集成) | - | -4.41% |
| 行云科技(SZ300209) | 漏斗追踪未覆盖此步骤(需完善funnel_tracker集成) | - | +1.41% |
| 金帝转债(SH113706) | 漏斗追踪未覆盖此步骤(需完善funnel_tracker集成) | - | +11.38% |
| 天通股份(SH600330) | 漏斗追踪未覆盖此步骤(需完善funnel_tracker集成) | - | +5.55% |
综合分过滤 — 3 只 | composite_score < 固定阈值 ⚠️ 误杀率偏高
| 股票 | 过滤原因 | 技术分 | T+1 |
|---|---|---|---|
| 中石科技(SZ300684) | 综合分=0.0543<0.15 | 51.1 | +14.68% |
| 光智科技(SZ300489) | 综合分=-0.0739<0.15 | 36.0 | +2.82% |
| 盛视科技(SZ002990) | 综合分=-0.0188<0.15 | 32.3 | +2.99% |
技术分过滤 — 1 只 | tech_score < 50 ⚠️ 误杀率偏高
| 股票 | 过滤原因 | 技术分 | T+1 |
|---|---|---|---|
| 欣天科技(SZ300615) | 技术分=0.27 <= 0.30 | 27.1 | +4.39% |
limit_up_weak_gap — 1 只 | ⚠️ 误杀率偏高
| 股票 | 过滤原因 | 技术分 | T+1 |
|---|---|---|---|
| 楚天龙(SZ003040) | 涨停高位竞价乏力(T+2) | - | +9.23% |
最终入选股票明细
以下 2 只股票通过全部过滤,已调仓到雪球组合并推送微信通知。
| # | 股票 | 技术分 | 综合分 | 板块动量 |
|---|---|---|---|---|
| 1 | 金富科技(003018) | - | - | - |
| 2 | 行云科技(300209) | - | - | - |
因子分布分析
技术分与综合分的分布特征,判断当前因子体系是否具备足够的区分度。
按过滤步骤分布(从 funnel_stocks 统计)
- 候选未追踪: 5 只
- 综合分过滤: 3 只
- 技术分过滤: 1 只
- limit_up_weak_gap: 1 只
判断标准:标准差 < 5 表示技术分区分度严重不足(所有股票得分接近,因子失效)。 此时应检查权重或调整因子计算方式,而非简单降低阈值。
保护样本:防止过度解释
保护路径不是历史命中率。它们阻止从少数极端案例反推普遍规律。
| 保护路径 | 场景 | 应怎样翻译 | 防止的误判 |
|---|---|---|---|
| 普通匀速缓跌 | 股票缓慢下跌,无加速 | 可以过滤,但不能因浮点误差写成向下反馈加速 | 把所有缓跌都叫踩踏 |
| 单根消息重估后横盘 | 一次性下跌后横盘,无持续卖压 | 没有候选后价格延续时降为"仅重叠" | 把一次性重估解释为持续级联 |
| 单股持续卖压、市场宽度向上 | 个股下跌但大盘上涨 | 范围保持 single_stock,记录方向冲突 | 把单一大资金执行提高为全市场合力 |
| 快速下跌后持续回升 | V型反转 | 先保留下压事件,再写修复 | 只看日内下跌而忽略恢复力 |
| 权重指数下跌、上涨家数占优 | 指数跌但多数股票涨 | 范围保持 index_weighted | 把上证等同于全部个股 |
| 指数、宽度、板块健康同向上行 | 全面上涨 | 可提高为全市场向上扩散 | 系统只能识别下跌 |
| 只有五分钟路径 | 数据粒度不足 | 保留五分钟粒度,停止一分钟候选 | 把桶结束时刻冒充真实事件 |
一只被过滤的股票即便次日涨停,也不能反推过滤器有Bug。需 ≥5个交易日、≥25% 误杀率才能标记为高风险过滤器。
这一步真正帮助什么,以及不能做什么
- 可视化每只股票的完整过滤轨迹
- 快速知晓命中/过滤了哪些股票
- 识别误杀率高的过滤器
- 追溯每步过滤的具体原因
- 预测 T+1 涨跌
- 单日数据调整过滤策略
- 确认量化成交占比
- 替代投资决策
真正的进步不是把直觉包装成确定性,而是让每次过滤、淘汰和入选都能留下来接受未来事实批改。 淘汰赛漏斗的真正价值在于积累足够的样本后,用数据驱动迭代,而非一日之得失。