Alpha 研学
AI · 可解释 Alpha 因子

智能体能否生成有经济解释
A 股 Alpha 因子?

研究过程沉淀的短想法:一条进展、一张示意图、一个留给你的问题。

防 look-ahead 样本外滚动 纯代码回测 LLM 只提想法
路线图工程设置

五天可信底座路线图

先把「防未来数据 + 样本外划分 + 纯代码回测」做成有测试的可信底座,再让 LLM 提因子——没有可靠回测,生成再多因子也没意义。

M0 数据契约 → M1 PIT 对齐 → M2 因子引擎 → M3 回测(纯代码)
                                            └── 可信底座到此 ✔ 全部有 pytest
M4 LLM 封装 → M5 三 Agent 闭环 → M6 汇总与可解释性
样本外回测方法

样本外只能按日期滚动,不能随机打乱

时间序列里随机划分训练/测试等于用未来教过去——样本外必须严格按日期切,train_end 之后的每一天都是「当时不可见」的检验区。

|<──── 训练区 (≤ train_end) ────>|<──── 样本外区 (> train_end) ────>|
时间轴 ─────────────────────────●─────────────────────────────────▶
                            train_end
✗ 随机 shuffle 后再切:测试点可能早于训练点 → 信息泄漏
✓ 只按日期切:测试永远在训练之后
防泄漏point-in-time

一张时间线讲清「防未来数据」

财报要用「公告日 ann_date」对齐,而不是「报告期 report_period」——T 日的因子只能看见 ann_date ≤ T 的数据,否则就偷看了未来。

报告期 2026Q1 (report_period = 2026-03-31)
      │
      │   真空期:季报还没公布,这段时间不能用 Q1 数据
      ▼
公告日 ann_date = 2026-04-28  ← 从这天起,因子才允许引用 Q1 财报
      │
      ▼
可用区间 [ann_date, +∞)  →  pit_merge 只并入 ann_date ≤ 当日 的最新一期
数据契约防幸存者偏差

三张表的数据契约:先定协议,再填数据

在拿到聚源数据前,先把输入表结构写死成契约——尤其把「历史成分股」单列一张表,不然回测会只看今天还活着的股票,天然偏乐观。

prices        date, code, open/high/low/close, vol, amount, adj_factor
fundamentals  code, report_period, ann_date, <财务字段…>   ← ann_date 用于时间对齐
universe      date, code                                    ← 历史成分股,防幸存者偏差
                  └── 回测只在「当日在册」的股票上做横截面
工单入口

提问 / 建议

在这里直接提交,系统会用项目账号同步成一条 GitHub Issue —— 你不需要 GitHub 账号。仓库公开,请勿填敏感数据。