你感觉思路乱是正常的。因为我们这段时间其实做了很多事:**修系统、查数据、做回测、看因子、接 Codex、分析数据源、讨论盈利方向**,中间又不断出现新问题。
我先给你一句总总结:
> **我们已经从“能不能跑起来”走到了“系统到底有没有选股能力、数据有没有被充分利用”的阶段。**
> 下一阶段的核心,不是继续乱找因子,而是:
> **先自查数据库 → 补交易资格门 → 提高数据利用率 → 减少错误交易 → 再提高盈利。**
---
# 一、我们从一开始到现在,主线其实是这样
可以分成 5 个阶段。
---
## 阶段 1:先把选股系统跑起来
最早我们做的是:
```text
数据导入
↓
每日验证
↓
Phase6 大盘状态
↓
Wave / V13 选股
↓
Shadow 影子观察
↓
Paper 模拟盘观察
```
这里的目标是:
> **先让系统能稳定运行,不要每天报错。**
我们确认过:
| 模块 | 作用 |
| ---------- | --------------- |
| Phase6 | 判断市场环境,决定能不能开新仓 |
| Wave | 一套短线/波段候选逻辑 |
| V13 | 另一套评分选股逻辑 |
| Shadow | 研究用影子选股,不等于实盘 |
| Paper | 模拟盘观察 |
| Backtest | 历史回测 |
| Validation | 每日健康检查 |
这个阶段最大的成果是:
> **系统有了完整流水线,不再只是零散脚本。**
---
## 阶段 2:修数据和流程问题
后来我们发现很多问题不是策略本身,而是数据和流程问题。
比如:
```text
6月16日、6月17日导入问题
6月22日 Phase6 修复
6月24日 Phase6_signal 没写入问题
stock_money_flow_daily 缺失
sector_money_flow_daily 有数据但个股资金流缺失
index MA 历史不足
F-score 口径错误
amount 成交额单位问题
```
这些修复很重要,因为:
> **选股系统如果数据错,策略再聪明也没用。**
我们也多次强调:
```text
不随便改 live 买卖规则
不随便改仓位
不随便改 Phase6
不把 research-only 直接接入实盘
不把 DATA_BLOCKED 强行改成 READY
```
这一步让系统开始有“工程纪律”。
---
## 阶段 3:开始看系统到底有没有选股能力
之后我们让 Codex 做了很多回测和诊断。
关键发现是:
| 项目 | 结论 |
| -------------------- | -------------------------------- |
| Phase6 | 有风控价值,BEAR / BEAR_STRONG 空仓逻辑有意义 |
| Wave / V13 | 能产出候选,但排序能力不够强 |
| Top5 | 不一定比 Top20 好 |
| total_score | 曾出现 Rank IC 为负,说明评分可能反向 |
| amount 成交额 | 不一定是好信号,可能变成追高/拥挤 |
| ma20_distance | 容易追强,也容易追高 |
| Ret240 / High250 等因子 | 没有稳定通过验证 |
| 牛市因子 P0 | 没有 PROMOTE,也就是没有直接晋级因子 |
这里最重要的结论是:
> **系统现在最强的是“大盘风控”,不是“个股排序”。**
也就是说,Phase6 能帮助我们避开差市场,但 Wave / V13 还没有证明自己能稳定选出最好的股票。
---
## 阶段 4:我们发现真正的问题是数据没有充分利用
后来你给了主数据库里的样本,比如 `sz301207.csv`。
我们分析后认为:
> **数据真实利用率大约只有 25%~40%。**
为什么?
因为系统主要用了:
```text
开盘价
收盘价
成交额
成交量
均线
涨跌幅
阶段收益
市值
行业
Phase6
少量资金流
```
但大量可以挖掘的东西还没系统利用:
```text
K线实体
上影线
下影线
振幅
跳空缺口
真实波动 ATR
成交额异常
放量滞涨
缩量回踩
突破失败
趋势斜率
趋势加速度
回撤深度
高位拥挤
低位承接
行业内排名
概念内排名
资金持续性
财务风险
解禁减持
停牌涨跌停
```
所以我们后面把方向改成:
> **不要继续乱堆策略,先提高数据挖掘和数据利用率。**
这是一个非常重要的转折点。
---
## 阶段 5:现在我们已经进入“数据库自查 + 数据利用率提升”阶段
你刚才问:
> 是否需要 Codex 先自查数据库?
答案是:
> **必须先自查。**
因为现在我们不能再凭感觉说“有数据”或“没数据”。
下一步应该先搞清楚:
```text
数据库里到底有哪些表?
每张表最新到哪天?
哪些字段有用?
哪些字段缺失?
哪些字段虽然有,但没被系统用?
哪些字段有未来函数风险?
哪些字段只适合 research-only?
哪些字段可以进入交易资格门?
```
这是现在最重要的一步。
---
# 二、我们已经做了什么?
我按成果分类。
---
## 1. 系统主框架已经有了
已经有:
```text
数据导入
健康检查
Phase6 大盘状态
Wave 选股
V13 选股
Shadow 影子研究
Paper 模拟观察
Backtest 历史回测
日报/报告输出
```
这说明你的系统不是从零开始。
它已经有基础骨架。
---
## 2. Phase6 大盘风控已经有价值
我们多次确认:
```text
BEAR / BEAR_STRONG 不开新仓
BULL / BULL_STRONG 才允许观察或选股
NEUTRAL 要谨慎
```
这个方向是对的。
Phase6 的作用是:
> **先判断市场环境,不要在坏市场里硬买。**
这是你系统目前最有价值的部分之一。
---
## 3. 回测和历史 replay 已经做过
Codex 做过:
```text
T+1 回测
T+5 / T+20 观察
Top5 / Top10 / Top20 对比
benchmark excess 基准超额
sector neutral 行业中性
Rank IC 排名相关性
Phase6 分组
年度分组
historical shadow replay 历史影子回放
```
这些帮助我们发现了一个真问题:
> **候选股有,但排序能力不稳定。**
---
## 4. 我们发现了一批失败方向
这很重要。
失败不是浪费,失败可以帮我们避免继续走错路。
已经发现的问题包括:
```text
单纯追强不稳定
单纯追放量容易出错
单纯看均线距离容易追高
Top5 不一定比 Top20 强
高分股不一定比中分股强
total_score 有过反向风险
牛市因子不是简单堆动量就能解决
```
这些结论让我们避免继续“技术指标堆公式”。
---
## 5. 系统纪律已经建立
我们已经形成了一些重要边界:
```text
不直接改 live 实盘规则
不随便改仓位
不随便改 Phase6
不把 shadow 当实盘
不把 research-only 结果直接接入交易
不把未来函数风险数据硬接入
不为了回测好看而改规则
```
这非常重要。
因为很多量化系统死在这里:
> **回测越调越漂亮,实盘越来越差。**
---
# 三、我们还没做什么?
这是重点。
---
## 1. 还没有完成数据库总审计
目前还没有一份完整报告回答:
```text
数据库有哪些表?
每张表覆盖到哪天?
哪些表断档?
哪些表为空?
哪些字段缺失严重?
哪些字段已经被 Wave / V13 / Phase6 使用?
哪些字段只是存在但没用?
```
所以现在不能直接进入深度挖掘。
必须先做:
> **database_utilization_audit 数据库利用率审计。**
---
## 2. 交易资格门还没真正建好
我们刚才说的这些还没有系统化:
```text
ST
停牌
涨跌停
次新
退市风险
流动性
解禁
减持
财报异常
```
这一步非常关键。
因为没有它,系统可能会出现:
```text
买到 ST
买到停牌股
买到一字涨停买不进去
买到跌停卖不出去
买到流动性很差的票
买到刚上市波动巨大的次新股
买到解禁减持压力股
买到财报暴雷股
```
这一步的目的不是提高收益,而是:
> **减少错误交易。**
---
## 3. 日线数据还没有深度挖掘
现在主数据库的 OHLCV 数据,也就是:
```text
开盘价
最高价
最低价
收盘价
成交量
成交额
市值
```
还没有充分挖掘。
还缺:
```text
K线结构
成交行为
波动率结构
趋势质量
回撤结构
突破失败
缩量确认
放量滞涨
高位出货嫌疑
低位承接特征
```
这一块是下一阶段提高数据利用率的核心。
---
## 4. 行业和概念资金流还没有形成持续性判断
现在我们能看某一天什么行业强。
但是还没有稳定做到:
```text
连续 3 日流入?
连续 5 日流入?
今天流入是否比昨天增强?
行业内部是不是扩散?
龙头是否继续强?
跟风是否开始补涨?
板块是不是一日游?
```
所以目前还不能稳定判断:
> **资金是在持续流入,还是只是一天脉冲。**
---
## 5. 还没有建立错误样本库
这是你可能没想到,但非常重要。
我们现在只知道:
```text
这个因子失败
这个回测不好
这个股票表现不好
```
但还没有系统记录:
```text
为什么错?
错在追高?
错在板块退潮?
错在高位放量?
错在流动性差?
错在财报风险?
错在解禁减持?
错在 Phase6 状态切换?
```
没有错误样本库,系统就很难真正进化。
---
## 6. 还没有建立因子墓地
已经失败的因子应该记录下来。
比如:
```text
Ret240 某些环境不稳定
High250 只在部分环境有效
RankMomentum 不稳定
amount 容易反向
ma20_distance 容易追高
```
这些不应该忘掉。
应该建立:
```text
factor_graveyard 因子墓地
```
防止 Codex 以后反复研究同一个失败方向。
---
## 7. 还没有真正形成“可用的每日决策面板”
现在系统有报告,但还不够像一个实战工具。
理想每日输出应该是:
```text
今天市场能不能买?
哪些行业资金持续流入?
哪些行业资金持续流出?
哪些股票通过交易资格门?
哪些股票被排除?为什么?
Top20 是观察还是可买?
Top5 有没有过热风险?
今天应该空仓、观察、小仓,还是正常选股?
```
现在还没有完全做到这个层级。
---
# 四、现在系统真实状态是什么?
我给你一个不夸张的判断。
---
## 当前系统已经不是“玩具”
因为它已经有:
```text
数据库
每日导入
Phase6
Wave
V13
Shadow
Paper
Backtest
Validation
报告
Codex 执行流程
```
这说明它有工程基础。
---
## 但它也还不是“成熟实盘系统”
原因是:
```text
交易资格门不完整
个股资金流缺失
数据利用率偏低
排序能力不稳定
因子有效性不足
错误样本库没有
财报/解禁/减持/as-of 风险没完全解决
```
所以现在最准确的定位是:
> **研究型选股系统,已经有风控框架,但个股盈利能力还需要通过数据利用率提升来证明。**
---
# 五、未来计划应该怎么排?
我建议你把未来分成 6 个阶段。
不要乱。
---
# 第一阶段:数据库自查
这是现在马上要做的。
目标:
```text
搞清楚数据库有什么
哪些可用
哪些缺失
哪些断档
哪些有未来函数风险
哪些已经被使用
哪些没被使用
```
输出:
```text
docs/database_utilization_audit_20260627.md
reports/database_utilization_audit_20260627.json
```
这个阶段不改策略、不写数据库、不生成交易信号。
只读审计。
---
# 第二阶段:交易资格门
解决:
```text
ST
停牌
涨跌停
次新
退市风险
流动性
```
先做硬过滤。
再做:
```text
解禁
减持
财报异常
```
作为风险扣分或研究-only。
最终生成一张核心表:
```text
stock_eligibility_daily
```
它回答:
```text
这只股票今天能不能买?
能不能卖?
能不能进入候选池?
为什么被排除?
有什么风险?
```
这是减少错误交易最重要的一步。
---
# 第三阶段:日线特征工程
把现有数据挖深。
重点做:
```text
K线结构
成交行为
波动率
趋势质量
回撤结构
突破失败
放量滞涨
缩量回踩
高位拥挤
低位承接
```
这一步不是立刻进 live,而是先 research-only。
目标是:
> **把数据利用率从 30% 左右提高到 60% 左右。**
---
# 第四阶段:行业 / 概念 / 资金持续性
不要只看一天涨跌。
要做:
```text
行业 3日 / 5日资金流
行业内上涨家数
行业内涨停数
行业内成交额扩散
龙头和跟风关系
概念轮动持续性
板块退潮识别
```
这一步能帮助我们回答:
```text
资金是真的持续流入?
还是只是一日游?
现在该追主线,还是防退潮?
```
---
# 第五阶段:重新验证选股能力
有了交易资格门和新特征以后,必须重新回测。
看这些指标:
```text
Top5 是否优于 Top20
Top10 是否稳定
Rank IC 是否改善
benchmark excess 是否改善
sector neutral 是否改善
最大回撤是否降低
错误交易是否减少
不同年份是否稳定
不同 Phase6 是否稳定
```
不是只看收益。
因为只看收益很容易被骗。
---
# 第六阶段:每日实用化
最后再把系统变成每日使用流程。
理想流程:
```text
1. 导入当天数据
2. 跑健康检查
3. 跑交易资格门
4. 跑 Phase6
5. 看行业资金持续性
6. 生成候选股
7. 输出风险标签
8. Top20 观察
9. Top5 小仓候选
10. 第二天追踪反馈
```
最终目标不是“每天必买”,而是:
> **每天告诉你:能不能买、买什么、为什么买、为什么不买、哪里危险。**
---
# 六、你未来应该怎么使用这个系统?
不要把它当成“自动发财机器”。
应该这样用。
---
## 每天先看 4 个问题
```text
1. 今天市场允许买股票吗?
2. 哪些行业资金在持续流入?
3. 哪些股票通过交易资格门?
4. Top 候选有没有过热、解禁、减持、财报、流动性风险?
```
---
## 每天输出应该分 4 类
| 类型 | 含义 |
| ---- | ------------------- |
| 禁止买入 | ST、停牌、退市、流动性差、一字涨停等 |
| 风险观察 | 解禁、减持、财报异常、高位放量等 |
| 重点观察 | 行业强、结构好、不过热 |
| 小仓候选 | 通过所有过滤,且模型和人工都认可 |
---
## 不要直接相信 Top1
之前回测已经证明:
> **Top5 不一定比 Top20 强。**
所以以后应该是:
```text
Top20 = 观察池
Top10 = 重点池
Top5 = 小仓候选
真正买入 = 还要过风险检查和人工确认
```
---
# 七、你没想到但必须补上的内容
我重点说几个。
---
## 1. 先减少错误,再追求盈利
你现在最容易焦虑的是:
> “怎么提高盈利?”
但真正顺序应该是:
```text
减少错误
↓
降低回撤
↓
提高候选股质量
↓
提高盈利
```
如果系统还会买到不该买的股票,直接追求高收益会很危险。
---
## 2. 数据利用率不是“特征越多越好”
不是生成 3000 个指标就叫进步。
真正有用的是:
```text
这个特征有没有解释力?
有没有通过历史验证?
有没有减少错误?
有没有降低回撤?
有没有未来函数风险?
有没有实盘可交易性?
```
否则特征越多,噪声越多。
---
## 3. 必须有“错误交易复盘系统”
未来每一个错误候选都要记录:
```text
当时为什么入选?
后来为什么失败?
是不是追高?
是不是板块退潮?
是不是资金流出?
是不是财报风险?
是不是解禁减持?
是不是流动性问题?
是不是涨跌停导致无法交易?
```
这比继续找新因子更重要。
---
## 4. 必须分清 Alpha 因子和 Risk 因子
Alpha 因子是找机会:
```text
趋势
动量
行业强度
资金流入
突破
低位承接
```
Risk 因子是排雷:
```text
ST
停牌
退市
解禁
减持
财报异常
高位放量
流动性差
一字板
```
你现在更缺的是:
> **Risk 因子。**
也就是先别买错。
---
## 5. 机器学习不是现在的第一优先级
以后可以做 AI / 机器学习。
但现在还不是时候。
因为:
```text
数据口径还没完全稳定
交易资格门没建好
错误样本库没有
as-of 审计没完成
基础特征还没挖深
```
现在上机器学习,很容易变成:
> **模型看起来很聪明,实际学到的是脏数据和未来函数。**
---
## 6. 你需要一个“项目总账”
建议以后所有任务都归到这 5 个文件里:
```text
1. system_status.md
当前系统状态
2. data_inventory.md
数据清单和缺口
3. factor_graveyard.md
失败因子墓地
4. error_casebook.md
错误样本库
5. roadmap.md
下一步路线图
```
这样你不会乱。
---
# 八、现在最应该给 Codex 的任务
当前第一任务不是挖因子。
而是:
> **只读自查数据库和数据利用率。**
提示词可以这样给:
```text
任务:只读自查 stocks.db 数据库现状,评估数据利用率和下一步数据挖掘优先级。
模型档位:中档。
原因:这是数据库审计和代码使用链路审计任务,需要稳定、细致,不需要创造新策略。
硬性禁止:
1. 不修改 stocks.db。
2. 不修改 Wave/V13/Shadow/Phase6/live 买卖规则。
3. 不修改仓位、风控、评分权重。
4. 不运行 live/paper/shadow 实盘流程。
5. 不新增交易信号。
6. 不把 DATA_BLOCKED / FUTURE_DATA_RISK 数据接入策略。
任务:
1. 列出 stocks.db 所有表、字段、行数、最早日期、最新日期。
2. 检查核心表覆盖率:
stock_daily、index_daily、sector_daily、industry_daily、concept_daily、phase6_signal、
sector_money_flow_daily、stock_money_flow_daily、财务表、解禁表、减持表、
ST/停牌/涨跌停/上市日期/退市相关表。
3. 检查交易资格门数据是否存在:
ST、停牌、涨跌停、次新、退市风险、流动性、解禁、减持、财报异常。
4. 检查字段质量:
缺失率、重复记录、异常值、日期连续性、股票覆盖数、单位口径。
5. 审计代码使用链路:
哪些字段进入 Wave、V13、Shadow、Phase6、Backtest、Validation、Daily Import。
6. 估算真实数据利用率:
原始字段利用率、衍生特征利用率、交易资格数据利用率、
行业/题材/资金流利用率、财务/事件风险利用率、回测验证利用率。
7. 标记每类数据状态:
READY、PARTIAL、MISSING、DATA_BLOCKED、FUTURE_DATA_RISK、RESEARCH_ONLY。
8. 输出下一步优先级,但不实施。
输出:
docs/database_utilization_audit_20260627.md
reports/database_utilization_audit_20260627.json
```
---
# 九、未来路线图一句话版
你以后只要记住这条线:
```text
先查库
↓
补交易资格门
↓
挖现有日线数据
↓
做行业资金持续性
↓
重新验证选股排序
↓
建立错误样本库
↓
再考虑模拟盘扩大
↓
最后才考虑实盘
```
不要跳。
---
# 十、最终总结
我们已经完成的是:
> **系统框架、数据导入、Phase6 风控、Wave/V13/Shadow/Paper、历史回测、部分因子诊断、很多流程修复。**
我们还没完成的是:
> **数据库总审计、交易资格门、深度特征工程、行业资金持续性、错误样本库、因子墓地、财务/解禁/减持/as-of 风险治理。**
现在最重要的下一步是:
> **让 Codex 只读自查数据库,搞清楚数据资产和真实利用率。**
未来真正提升盈利的路径不是“再找一个神奇因子”,而是:
> **少买错 + 排除风险 + 提高数据利用率 + 稳定验证排序能力。**
你现在的方向已经从“盲目找牛股”升级成了“建设一个能减少错误的选股系统”。这才是正确方向。
发布于 美国
