From 3e2d253f9d0889bf64b21a79d52fee12dc97b20c Mon Sep 17 00:00:00 2001 From: AdamGao Date: Wed, 20 May 2026 16:42:07 +0800 Subject: [PATCH] vault backup: 2026-05-20 16:42:07 --- .obsidian/workspace.json | 8 +- .../GridSeeker/各版本模型技术参数.md | 347 ++++++++++++++++++ FleetingNotes/GridSeeker/模型信息汇总.md | 24 +- 3 files changed, 363 insertions(+), 16 deletions(-) create mode 100644 FleetingNotes/GridSeeker/各版本模型技术参数.md diff --git a/.obsidian/workspace.json b/.obsidian/workspace.json index 3af4289..97decf2 100644 --- a/.obsidian/workspace.json +++ b/.obsidian/workspace.json @@ -13,12 +13,12 @@ "state": { "type": "markdown", "state": { - "file": "FleetingNotes/GridSeeker/模型信息汇总.md", + "file": "FleetingNotes/GridSeeker/各版本模型技术参数.md", "mode": "source", "source": false }, "icon": "lucide-file", - "title": "模型信息汇总" + "title": "各版本模型技术参数" } } ] @@ -211,9 +211,10 @@ }, "active": "a2bf9b96c388dec4", "lastOpenFiles": [ + "FleetingNotes/GridSeeker/版本进程.md", + "FleetingNotes/GridSeeker/各版本模型技术参数.md", "FleetingNotes/GridSeeker/数据构建过程.md", "FleetingNotes/GridSeeker/模型信息汇总.md", - "FleetingNotes/GridSeeker/版本进程.md", "FleetingNotes/用工管理平台/未命名.md", "FleetingNotes/GridSeeker", "FleetingNotes/用工管理平台", @@ -251,7 +252,6 @@ "FleetingNotes/护理平台/护理平台信息笔记.md", "FleetingNotes/护理平台/功能与模块分析.canvas", "FleetingNotes/护理平台/产品逻辑概要设计.canvas", - "FleetingNotes/护理平台/阶段规划图/第一阶段功能模块图.excalidraw.md", "FleetingNotes/大健康商城/商城平台订货收款功能.canvas", "FleetingNotes/大健康商城/版本规划.canvas", "FleetingNotes/其他项目/亲子时光/界面功能与接口.canvas", diff --git a/FleetingNotes/GridSeeker/各版本模型技术参数.md b/FleetingNotes/GridSeeker/各版本模型技术参数.md new file mode 100644 index 0000000..726d76e --- /dev/null +++ b/FleetingNotes/GridSeeker/各版本模型技术参数.md @@ -0,0 +1,347 @@ +# 网格交易选股模型 — 全版本技术档案 + +本文档汇总项目从 v1.0 至 v6.7 所有版本的模型参数、训练数据、交叉验证指标和回测绩效,按版本时间线组织。 + + +## 一、总体概览 + +### 1.1 版本演进主线 + +``` +v1.0 (原型验证) + → v2.x (全市场扩展 + 市值因子) + → v3.x (特征消融 + 情绪因子) + → v4.x (三模型协同架构) + → v5.x (模型协同突破) + → v6.x (交易系统化 + Meta Ranker) + → v6.5-v6.7 (叶子Embedding增强) + → v7.0 (收益导向重构,规划中) +``` + +### 1.2 当前生产基线 + +| 组件 | 版本 | 核心指标 | +|:---|:---|:---| +| Rank | v6.3 原始 | Spearman 0.5355 | +| Top | v6.3 原始 | PR-AUC 0.3389, Top5命中率 100% | +| Stacking | v6.3 原始 | Spearman 0.6932 | +| Meta Ranker | v2 (1288条训练) | Spearman 0.7663 | +| **v6.4 整体回测** | — | **收益 152.15%, 回撤 -10.10%, 夏普 2.1583** | + + +## 二、v1.0 — 原型验证 + +### 2.1 基本信息 + +| 属性 | 值 | +|:---|:---| +| 版本号 | v1.0 | +| 阶段 | 原型搭建 | +| 模型类型 | 随机森林 (RandomForestRegressor) | +| 核心任务 | 验证“用机器学习预测网格匹配次数”的可行性 | + +### 2.2 训练数据 + +| 属性 | 值 | +|:---|:---| +| 股票数量 | 76只 (v1.0) / 116只 (v2.0增强版) | +| 数据天数 | 121个交易日 | +| 标签 | 网格成交次数 (买卖笔数) | +| 特征数 | 人工设计,早期版本 | + +### 2.3 模型性能 + +| 指标 | v1.0 (人工评分) | v2.0增强版 (随机森林) | +|:---|:---|:---| +| 建模方法 | 人工加权评分 | 随机森林 (200棵树) | +| 交叉验证 R² | — | 0.661 | +| 全量拟合 R² | 0.776 | 0.935 | +| MAE | 4.62次 | 1.59次 | +| 相关性 | 0.776 | 0.969 | + +### 2.4 关键发现 + +- 机器学习预测网格匹配次数可行 +- 随机森林替代人工评分后,全量拟合 R² 从 0.776 提升到 0.935 +- v2.0 新增 12 个特征维度(布林带、RSI、MACD、KDJ、CCI 等),但传统技术指标重要性较低(均排名 19 位之后) + + +## 三、v2.x — 全市场扩展 + 市值因子 + +### 3.1 基本信息 + +| 属性 | 值 | +|:---|:---| +| 版本号 | v2.0 ~ v2.1.1 | +| 阶段 | 规模扩展 | +| 模型类型 | LightGBM (回归) | +| 核心任务 | 从 278 只扩展到全市场 1,404 只,验证策略全市场有效性 | + +### 3.2 v2.1.1 训练数据 + +| 属性 | 值 | +|:---|:---| +| 训练股票数 | 1,404 | +| 样本总数 | 30,831 | +| y 均值 | 2.61 | +| 零值率 | 41.6% | +| 特征集 | 20维 (17基础 + 3市值因子) | +| 市值因子 | ln_float_mv, mv_vol_interact, small_cap_premium | + +### 3.3 模型性能 + +| 指标 | v2.0 (17特征) | v2.1.1 (20特征) | +|:---|:---|:---| +| 验证 MAE | 1.5931 | 1.5838 | +| 验证 R² | 0.1846 | 0.1978 | +| 回测平均匹配 | 6.06 | 6.47 | +| 回测胜率 | 95.2% (20/21) | 75% (18/24) | + +### 3.4 关键发现 + +- 市值因子有效——小市值股票弹性更大 +- 第一次尝试“让 Rank 的预测值作为 Top 的输入特征” +- 股票池从 278 扩大到 1,404,回测更严格但胜率依然稳健 + + +## 四、v3.x — 特征消融与精简 + +### 4.1 基本信息 + +| 属性 | 值 | +|:---|:---| +| 版本号 | v3.0 ~ v3.6 | +| 阶段 | 特征工程 | +| 模型类型 | LightGBM (Rank 回归 + Top 分类 + Stacking 融合) | +| 核心任务 | 从 36 个特征消融到最精简有效的集合 | + +### 4.2 特征消融路径 + +| 版本 | 特征数 | 核心变化 | Top50命中率 | Spearman | +|:---|:---|:---|:---|:---| +| v3.3 | 36 | 新增网格触碰/趋势/价格位置特征 | 66.35% | 0.5933 | +| v3.6 | 30 | 移除重要性最低的6个特征 | 66.47% | 0.5923 | +| v3.7 | 35-33 | 引入负向指标(流动性枯竭等) | 66.96% | 0.5929 | +| v3.8-C | 34 | 引入大盘独立因子(amplitude_uniqueness_20d) | 66.47% | 0.5923 | + +### 4.3 v3.6 特征重要性 Top 8 + +| 排名 | 特征 | 重要性 | +|:---|:---|:---| +| 1 | in_grid_range | 60.2% | +| 2 | avg_daily_amp | 9.8% | +| 3 | high_amp_days | 5.5% | +| 4 | volatility_20d | 4.0% | +| 5 | price_std | 2.3% | +| 6 | price_cv | 2.3% | +| 7 | atr_pct | 2.2% | +| 8 | volatility_60d | 1.5% | + +### 4.4 关键发现 + +- 特征不是越多越好:删除 6 个低重要性特征后 Spearman 微升至 0.59 +- 传统技术指标(RSI、MACD、KDJ、CCI 等)合计重要性 < 6% +- 负向指标中只有 `liquidity_drying_up_20d` 被模型充分吸收 +- 情绪因子对 Rank 有效(Spearman +0.03),但对 Top 始终无增益 + + +## 五、v4.x — 三模型协同架构 + +### 5.1 基本信息 + +| 属性 | 值 | +|:---|:---| +| 版本号 | v4.0 ~ v4.1 | +| 阶段 | 架构升级 | +| 模型类型 | LightGBM (Rank 回归 + Top 分类 + Stacking 融合) | +| 核心任务 | 确立三模型协同架构 | + +### 5.2 v4.1 模型性能 + +| 模型 | 指标 | 值 | +|:---|:---|:---| +| Rank | Spearman | 0.5355 | +| Top | PR-AUC | 0.3389 | +| Top | Top5命中率 | 100% | +| Top | Top10命中率 | 100% | +| Stacking | PR-AUC | 0.4953 | + +### 5.3 v4.1 回测绩效 + +| 指标 | 值 | +|:---|:---| +| 期末总资产 | 141,208 | +| 总收益率 | 135.35% | +| 最大回撤 | -19.16% | +| 最大回撤日期 | 2024-02-05 | +| 夏普 | 1.5960 | +| 胜率 | 94.31% | +| 总交易次数 | 1,163 | + +### 5.4 关键发现 + +- 三模型协同比单模型显著提升 +- `rank_predicted_rounds` 在 Top 中重要性排第 1 (11.7%) +- Top 模型 100% 命中率,头部精选能力极强 +- v4.1 的 Top 模型是后续所有版本中 Top5/Top10 精准度的标杆 + + +## 六、v5.x — 情绪因子与模型协同突破 + +### 6.1 基本信息 + +| 属性 | 值 | +|:---|:---| +| 版本号 | v5.0 ~ v5.4 | +| 阶段 | 特征深化 | +| 模型类型 | LightGBM | +| 核心任务 | 引入恐慌/贪婪情绪因子,让模型感知市场环境 | + +### 6.2 情绪因子探索路径 + +| 版本 | 特征 | 效果 | +|:---|:---|:---| +| v5.0 | 恐慌期弹性因子(抗跌型) | Rank Spearman +0.03, Top 无增益 | +| v5.1 | 恐慌期弹性因子(高弹性型) | 反弹强度比振幅放大更有效 | +| v5.2 | 贪婪期独立因子 | Rank 受益, Top 仍然无增益 | +| v5.3 | 放宽情绪阈值 | Spearman 0.5342(Rank 最强), 但 Top PR-AUC 依然无法超越 v4.1 | + +### 6.3 v5.4-E — 模型协同突破 + +| 模型 | 指标 | v5.4-E | vs v4.1 | +|:---|:---|:---|:---| +| Top | PR-AUC | 0.3290 | +0.0307 | + +**核心改进**:把 Rank 模型的预测值(`rank_predicted_rounds`)作为 Top 模型的第 35 维输入特征,分层标签 + 头部权重训练。 + +### 6.4 关键发现 + +- 情绪因子对 Rank 持续有效,但对 Top 始终无增益——Top 做头部精选,情绪信号在头部样本上区分度不足 +- “让 Top 站在 Rank 肩膀上”是 v5.x 最重要的突破 +- 情绪因子更适合做负向过滤(识别该淘汰的),不适合做正向精选 + + +## 七、v6.x — 交易系统化 + Meta Ranker + +### 7.1 v6.0 ~ v6.1:MLP 尝试 + +| 版本 | 方法 | 效果 | 结论 | +|:---|:---|:---|:---| +| v6.0 | MLP 多任务学习 | Spearman 0.49, PR-AUC 0.16 | 失败 | +| v6.1 | 知识蒸馏 MLP | PR-AUC 0.25-0.33 | 不如 LightGBM | + +**教训**:MLP 在表格数据上不如 LightGBM,深度学习不是万能药。之后不再尝试神经网络替代树模型。 + +### 7.2 v6.2 ~ v6.3:生产基线固化 + +| 指标 | v6.2 (线上版) | v6.3 (修复版) | +|:---|:---|:---| +| 期末总资产 | 140,786 | 141,208 | +| 总收益率 | 134.64% | 135.35% | +| 最大回撤 | -22.44% | -19.16% | +| 夏普 | 1.4687 | 1.5960 | +| Stacking PR-AUC | 0.4787 | 0.4953 | + +**v6.3 核心改进**:修复 `total_share` 数据源,4 个市值特征从常数恢复为有效信号。 + +### 7.3 v6.4 — Meta Ranker 诞生 + +| 属性 | 值 | +|:---|:---| +| 版本号 | v6.4 | +| 模型架构 | Rank (v6.3) + Top (v6.3) + Stacking (v6.3) + **Meta Ranker (新增)** | +| Meta Ranker 输入 | 3维 (latest_close + stacking_prob + rank_pred_rounds) | +| Meta Ranker 输出 | predicted_profit(预测未来60天网格利润) | +| Meta Ranker 训练样本 | 1,288条(v6.4自身回测产生的真实买入交易记录) | +| Meta Ranker Spearman | 0.7663 | + +**v6.4 最优参数(规则探索 720 种组合)**: + +| 参数 | 值 | +|:---|:---| +| 补仓价格区间 | [9.0, 10.0] | +| 建仓价格区间 | [8.0, 11.0] | +| 淘汰阈值 | Top100 | +| TOP_N | 10 | +| 每格股数 | 200 | +| 初始资金 | 60,000 | + +**v6.4 回测绩效**: + +| 指标 | v6.3 基线 | v6.4 | +|:---|:---|:---| +| 期末总资产 | 148,976 | **151,292** | +| 总收益率 | 148.29% | **152.15%** | +| 最大回撤 | -19.78% | **-10.10%** | +| 夏普 | 1.7362 | **2.1583** | + +**关键发现**: +- Meta Ranker 是 v6.x 阶段最重要的突破——回撤从 -19.78% 降到 -10.10%,夏普从 1.74 提到 2.16 +- Meta Ranker 仅需 3 个特征 + 1288 条样本就能产生显著增益 +- 用模型替代价格一刀切规则,让模型自己学“什么价买入能赚钱” + +### 7.4 v6.5 ~ v6.7:叶子 Embedding 增强 + +| 版本 | 核心变化 | 效果 | +|:---|:---|:---| +| v6.5 | 在 v6.3 训练数据上加入 20 组叶子编码,重训上游 | Rank 0.74, Top 0.75, Stacking 0.78(全部超越 v6.4) | +| v6.7 | 在 v6.4 训练数据上加入 20 组叶子编码,重训上游 + 复用 Meta Ranker | 上游模型全面超越,但 Meta Ranker 样本不足,回测失败 | + +**v6.7 上游模型性能**: + +| 指标 | v6.4 基线 | v6.7 | 变化 | +|:---|:---|:---|:---| +| Rank Spearman | 0.5355 | 0.7357 | +37% | +| Top PR-AUC | 0.3389 | 0.5353 | +58% | +| Top5命中率 | 100% | 100% | 持平 | +| Stacking Spearman | 0.6932 | 0.7206 | +4% | + +**关键发现**: +- 叶子 Embedding 是最有效的特征增强方式——三列新特征包揽重要性前 3 名 +- PCA 降维效果远不如叶子 Embedding(Spearman 0.49 vs 0.74) +- Meta Ranker 不能跨版本复用:v6.7 复用 v6.4 的 Meta Ranker 导致回测崩溃(收益 47% vs 152%),因为 Meta Ranker 对输入特征的数值分布极度敏感 + + +## 八、v7.0 — 收益导向重构(规划中) + +### 8.1 目标 + +将整条链路的训练目标从“匹配轮数(y_rounds)”改为“总回报(total_return_60d)”,让 Rank/Top/Stacking/Meta Ranker 全链路都学习收益规律。 + +### 8.2 与 v6.4 的主要差异 + +| 维度 | v6.4 | v7.0 | +|:---|:---|:---| +| 标签 | y_rounds(匹配轮数) | total_return_60d(总回报 = 已实现利润 + 期末持仓市值) | +| 新特征 | — | 规模中性化特征(amount_to_mv_ratio 等) | +| 基准指数 | 仅沪深300 | 沪深300 + 中证500 + 中证1000 | +| 训练数据 | 复用 v6.3 旧样本 | 从零重建(需 2018-2026 全市场 K 线数据) | + +### 8.3 当前状态 + +数据源准备中(需要 2018 年起、沪深主板+创业板的 K 线数据)。 + + +## 九、全版本回测绩效对比 + +| 版本 | 期末总资产 | 收益率 | 最大回撤 | 夏普 | 核心改进 | +|:---|:---|:---|:---|:---|:---| +| v4.1 | 141,208 | 135.35% | -19.16% | 1.5960 | 三模型协同架构确立 | +| v6.3 | 148,976 | 148.29% | -19.78% | 1.7362 | 修复 total_share 数据源 | +| **v6.4** | **151,292** | **152.15%** | **-10.10%** | **2.1583** | **Meta Ranker 诞生** | + +> 注:v1.0 ~ v3.x 为早期版本,回测口径与 v4.x 之后不同,不直接可比。 + + +## 十、全版本关键教训总结 + +| 教训 | 来源版本 | 说明 | +| :-------------------------- | :-------- | :---------------------------- | +| 情绪因子适合负向过滤,不适合正向精选 | v5.x | 对 Rank 有效,对 Top 无效 | +| MLP 在表格数据上不如 LightGBM | v6.0-v6.1 | 深度学习不是万能药 | +| PCA 丢弃的 8.3% 方差恰好是网格策略的收益来源 | v6.6 | 线性降维破坏非线性尖峰信号 | +| 叶子 Embedding 是最强特征增强方式 | v6.5-v6.7 | 3 列新特征包揽重要性前 3,Spearman +0.20 | +| Meta Ranker 是体系最关键一环 | v6.4 | 用利润预测替代价格一刀切,夏普 +24% | +| Meta Ranker 不能跨版本复用 | v6.7 | 对输入分布极度敏感,必须基于本版本输出重新训练 | +| 训练数据必须与策略边界匹配 | v7.0 | 上游评分分布偏移会导致可买标的枯竭 | +| 规则探索需专门为每个模型体系做一次 | v6.4/v6.5 | 同一参数在不同模型上效果截然不同 | \ No newline at end of file diff --git a/FleetingNotes/GridSeeker/模型信息汇总.md b/FleetingNotes/GridSeeker/模型信息汇总.md index 2f0da42..1b40ed8 100644 --- a/FleetingNotes/GridSeeker/模型信息汇总.md +++ b/FleetingNotes/GridSeeker/模型信息汇总.md @@ -268,15 +268,15 @@ Rank/Top/Stacking 共享同一份训练样本,这是 v5.0 时代固化的全 ## 六、关键参数汇总 -| 参数 | 值 | 适用模型 | -|:---|:---|:---| -| 补仓价格区间 | [9.0, 10.0] | 实盘回测 | -| 建仓价格区间 | [8.0, 11.0] | 实盘回测 | -| 淘汰阈值 | Top100 | 实盘回测 | -| TOP_N | 10 | 实盘回测 | -| 每格股数 | 200 | 实盘回测 | -| 初始资金 | 60,000 | 实盘回测 | -| 观察窗口 | 120天 | Rank/Top/Stacking 训练 | -| 标签窗口 | 60天 | Rank/Top/Stacking 训练 | -| 滑窗步长 | 20天 | Rank/Top/Stacking 训练 | -| 情绪窗口 | 180天 | 情绪因子计算 | \ No newline at end of file +| 参数 | 值 | 适用模型 | +| :----- | :---------- | :------------------- | +| 补仓价格区间 | [9.0, 10.0] | 实盘回测 | +| 建仓价格区间 | [8.0, 11.0] | 实盘回测 | +| 淘汰阈值 | Top100 | 实盘回测 | +| TOP_N | 10 | 实盘回测 | +| 每格股数 | 200 | 实盘回测 | +| 初始资金 | 60,000 | 实盘回测 | +| 观察窗口 | 120天 | Rank/Top/Stacking 训练 | +| 标签窗口 | 60天 | Rank/Top/Stacking 训练 | +| 滑窗步长 | 20天 | Rank/Top/Stacking 训练 | +| 情绪窗口 | 180天 | 情绪因子计算 | \ No newline at end of file