w5a5w5j
26-06-27 20:47

你感觉思路乱是正常的。因为我们这段时间其实做了很多事:**修系统、查数据、做回测、看因子、接 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 只读自查数据库,搞清楚数据资产和真实利用率。**

未来真正提升盈利的路径不是“再找一个神奇因子”,而是:

> **少买错 + 排除风险 + 提高数据利用率 + 稳定验证排序能力。**

你现在的方向已经从“盲目找牛股”升级成了“建设一个能减少错误的选股系统”。这才是正确方向。

发布于 美国