ETF v5.4 Pipeline 运行汇总 — 2026-06-29 周一
运行时间: 2026-06-29 14:28 CST
数据基准日: 2026-06-26(上周五收盘)
Pipeline版本: v5.4 (etf_ml_pipeline_v54.py)
模型: DeepSeek V4 Pro
子代理: pipeline_v4_test (510s, 100k tokens)
一、今日改动清单
1. Cron安排变更
- ✅ 新增
ETF选股重训-周一— 每周一15:00,完整pipeline v5.4 + 五方案对比 - ✅ 新增
ETF选股重训-周三— 每周三15:00,同上 - ✅ 更新
ETF选股重训-周五(原周度重训) — v5.3→v5.4,加五方案对比 + 周度复盘(含周一三趋势变化) - ⛔ 禁用
ETF选股日度监测— 被三次完整pipeline重训替代(日度被弃用)
2. v4五层过滤集成到Pipeline
etf_ml_pipeline_v54.py中select_top12_with_limit已接入五层v4过滤(F1→F2→F3→F4→F5)- 品类限制bug已修复(之前
etf_sector_map中部分ETF品类分类错误导致误淘汰) - 多方案定义
SCHEME_DEFS已写入脚本: - v4原版:slope20≥-0.005, dev20∈(-4%,+12%), slope60≥-0.03(29只通过,默认)
- 方案C:只松F2斜率到-0.001(31只,推荐)
- 方案A:温和全面松(34只)
- 方案D:松F2抬dev20上限到15%(34只)
- 方案B:最激进(39只)
- 每次运行自动生成
方案对比报告_v54.md
3. 五方案对比文档已生成
- Word文档:
ETF_v4_Filter_五方案对比_20260629.docx(7个表格,29/31/34/34/39只) - 下载链接:https://100wjjw.com/public/reports/ETF_v4_Filter_五方案对比_20260629.docx
4. MEMORY.md已更新
- 执行频率:从"12:00+15:30日度"→"周一三五15:00三次完整pipeline"
- 脚本路径:日度监测已弃用,主脚本etf_ml_pipeline_v54.py保留
二、v4五层过滤实际运行结果
Pipeline(最新panel 65只ETF)
| 过滤层 | 输入 | 输出 | 淘汰 | 规则 |
|---|---|---|---|---|
| 起始 | 65 | — | — | panel中最新日期有数据的ETF |
| F1 空头排列 | 65 | 39 | 26 | close < MA20 < MA60 < MA120 |
| F2 短期趋势 | 39 | 25 | 14 | MA20斜率≥-0.005, dev20∈(-4%,+12%) |
| ├ slope不足 | 11 | ma_slope_20 < -0.005 | ||
| ├ dev20过高 | 3 | ma_dist_20 > 0.12 (泡沫化) | ||
| └ dev20过低 | 0 | 没有跌超4%的 | ||
| F3 MA60确认 | 25 | 25 | 0 | dev60>-8%, ma_slope_60≥-0.03 |
| F4 长期方向 | 25 | 25 | 0 | long_term_signal=right,无left/neutral |
| F5 量价 | 25 | 25 | 0 | vol_ratio_20d > 0.3 |
| 最终 | 25/65 | 通过率38.5% |
三、F1淘汰详情(26只,空头排列)
这26只处于 收盘价 < MA20 < MA60 < MA120 空头排列,直接淘汰:
| 方向 | ETF | 代码 |
|---|---|---|
| 军工(3) | 军工ETF / 军工ETF / 军工信息化 | 512660 / 512810 / 512560 |
| AI(3) | 软件ETF / 软件ETF / 大数据ETF | 159852 / 515230 / 515400 |
| 新能源(2) | 光伏ETF / 智能汽车ETF | 515790 / 515250 |
| 消费(2) | 旅游ETF / 食品饮料ETF | 159766 / 515170 |
| 传媒(2) | 游戏ETF / 传媒ETF | 159869 / 512980 |
| 其余(14) | 中概/建材/农业/黄金/家电/央企/地产/红利低波/东南亚/红利/汽车/云计算/基建/中药 | 159605/159745/159825/159937/159996/510270/512200/512890/513730/515080/516110/516510/516950/560080 |
军工/AI/新能源/消费四个大类方向ETF全军覆没,无一只进入后续筛选。
四、F4长期方向判断(全部right)
25只F3通过ETF全部为 right(收盘价 > MA250,右侧确认),无一只 left/neutral/turning:
宽基: 159338/159339/159591/159686/159845/159901/159915/159919/159949/510050/510180/510300/510330/510500/512100/560530/563300/563360/588450 (19只)
债券: 511010/511220
货币: 159001
通信: 159994
美股: 513500
海外: 513880
独立脚本F4淘汰的513090(香港证券ETF,left信号,dev250=-10.9%)在Pipeline panel中不存在,因港交所数据缺失未进入panel。其余21只共同ETF的F4信号100%一致。
五、最终候选池(25只,ML得分排序)
| # | 代码 | 名称 | 品类 | ML得分 | 动量 | RSI |
|---|---|---|---|---|---|---|
| 1 | 588450 | 科创50增强 | 宽基 | -0.42 | +4.0% | 71 |
| 2 | 159994 | 5G通信 | 通信 | -0.63 | -2.1% | 55 |
| 3 | 511220 | 城投债 | 债券 | -0.92 | 0.0% | 57 |
| 4 | 159915 | 创业板 | 宽基 | -0.96 | -1.3% | 53 |
| 5 | 159949 | 创业板50 | 宽基 | -1.03 | -1.9% | 52 |
| 6 | 511010 | 5年国债 | 债券 | -1.05 | -0.5% | 26 |
| 7 | 513880 | 日经225 | 海外 | -1.14 | +1.0% | 60 |
| 8 | 510500 | 中证500 | 宽基 | -1.40 | — | — |
| 9 | 159001 | 货币ETF | 货币 | -1.61 | 0.0% | 45 |
| 10 | 510050 | 上证50 | 宽基 | -1.88 | — | — |
| 11 | 513500 | 标普500 | 美股 | -1.97 | -3.2% | 34 |
| 12-25 | — | 其余14只全为宽基 | 宽基 | -2.0~-2.4 | — | — |
品类分布:宽基19只(76%) · 债券2 · 通信1 · 货币1 · 美股1 · 海外1
关键观察
- ML得分全负(-0.42 ~ -2.38):模型对所有65只ETF都悲观,无一正值。588450(-0.42)只是"相对最优",不代表看好。
- 宽基压倒性优势:76%候选池是宽基,非宽基行业ETF大面积处于空头排列
- 排名高度集中:前3名跨度从-0.42到-0.92,第4名开始全在-0.96以下,区分度明显
六、Top12选股结果(品类限制,仅9只出)
| # | 代码 | 简称 | 品类 | ML得分 | 动量 | RSI |
|---|---|---|---|---|---|---|
| 1 | 588450 | 科创50增强 | 宽基 | -0.42 | +4.0% | 71 |
| 2 | 159994 | 5G通信 | 通信 | -0.63 | -2.1% | 55 |
| 3 | 511220 | 城投债 | 债券 | -0.92 | 0.0% | 57 |
| 4 | 159915 | 创业板 | 宽基 | -0.96 | -1.3% | 53 |
| 5 | 159949 | 创业板50 | 宽基 | -1.03 | -1.9% | 52 |
| 6 | 511010 | 5年国债 | 债券 | -1.05 | -0.5% | 26 |
| 7 | 513880 | 日经225 | 海外 | -1.14 | +1.0% | 60 |
| 8 | 159001 | 货币ETF | 货币 | -1.61 | 0.0% | 45 |
| 9 | 513500 | 标普500 | 美股 | -1.97 | -3.2% | 34 |
只出9只的根因
- 候选池25只中19只宽基,品类限制宽基≤3只 → 取588450/159915/159949,其余14只宽基全跳过
- 非宽基仅6只(通信1+债券2+海外1+货币1+美股1),品类恰好不重复 → 全进Top12
- 6 + 3 = 9,填不满12只
如果要填满12只的选项
- 宽基限制3→6 → 可额外进510500/510050/513500(标普是美股不算宽基)
- 但当前市场信号下,填进去的也是低分宽基(-1.4以下),边际价值存疑
七、Pipeline vs 独立脚本差异分析
核心差异
| 维度 | Pipeline | 独立脚本 |
|---|---|---|
| 输入ETF | 65只(panel数据可用) | 91只(排除<250天数据) |
| 最终通过 | 25只 | 29只 |
| 交集 | 21只 | 21只 |
| 重叠率 | 72.4% (21/29) | — |
| Jaccard | 63.6% (21/33) | — |
| F4一致性 | 100% (21/21) | — |
差异根因(三个来源)
1. 斜率定义不同(F2层最大差异来源)
- Pipeline:ma_slope_20 = MA20 / shift(MA20, 10) - 1 → MA曲线变化率
- 独立脚本:polyfit(收盘价, 20) → 价格曲线斜率
- MA斜率更平滑、更滞后,响应慢于价格斜率
- 导致同一只ETF可能在一边通过、另一边不过(如159591/513500)
2. F3斜率阈值差异
- Pipeline:ma_slope_60 ≥ -0.03(MA60曲线)
- 独立脚本:price_slope_60 ≥ -0.001(价格60日斜率)
- 数值量级完全不同(MA斜率是比率,价格斜率是绝对量),不能直接比
3. ETF输入集不同
- Pipeline panel在最新日期丢弃了35只ETF(数据合并/港交所缺失等)
- 独立脚本直接读JSON序列数据,不会合并丢弃
结论
两套v4过滤不完全等价,但差异是设计层面的(MA斜率 vs 价格斜率),不是bug。F4(长期方向判断)逻辑100%一致。现有生产脚本用MA斜率,这是正确的设计选择——MA斜率更稳定、更少假信号。
八、待决策事项
| # | 事项 | 建议 | 状态 |
|---|---|---|---|
| 1 | 宽基品类限制3→6 | 当前候选池76%宽基,3只限制太严 → 调6只可填满Top12 | ⏳ 待999决定 |
| 2 | 五方案选择 | 推荐方案C(31只,只松F2斜率到-0.001),最佳折中 | ⏳ 待999选择 |
| 3 | Top12只出9只 | 根因已定位(品类限制+候选池集中),待方案1解决 | 🔗 取决于#1 |
九、周三运行前备忘
- 周二(6/30)无任何ETF pipeline运行(仅周一三五有)
- 周三(7/1)15:00自动跑完整pipeline v5.4,需要关注:
- 周二一天行情变化后,F1空头排列数是否减少
- 非宽基行业ETF是否有新进入候选池的
- Top12是否能填满12只(如果宽基限制未调,大概率还是9只)
归档文件:
- 本文件:memory/cron/weekly-etf-retrain/2026-06-29_周一.md
- 原始报告:memory/cron/weekly-etf-retrain/2026-06-29_周一_pipeline_v4_test.md
- 生产脚本:memory/ML特征工程/etf_ml_pipeline_v54.py
- 方案速查:memory/ML特征工程/SCHEMES_README.md