✅ 研究 Checklist:因子立项到上线的自检表

20 项研究自检:立项前的动机三问、实现中的数据五查、检验后的标准八条、上线前的纪律四项——每项给出判定标准与典型造假形态。

Checklist 的价值在于把专业判断前移到规则:人是情绪化且有确认偏误的(见行为偏差 的免疫节),表格不会。本表整合全库的纪律要点——每项都给出判定标准(怎么才算「是」)与典型的造假/失败形态(这项检查到底在防什么)。建议打印贴墙或做成 PR 模板——任何一项答「否」,答案就是「还没做完」。

A. 立项前(动机三问)

□ 1. 盈利来源可指认:赚谁的钱?

  • 判定标准:能用一句话指出对手方——风险补偿(谁在避险)、行为偏差(谁在犯什么错)、结构摩擦(谁被迫交易)。三个都答不上 = 放弃。
  • 它在防什么:「低波买的不是低波,是没人要」这类事后归因。检验方法:把因子逻辑讲给一个不做量化的人听,对方能复述出「谁在给钱」才算过。
  • 常见造假形态:先跑出显著因子,再反向编故事——故事与数据拟合得越顺滑越要警惕(见伪量化辨析 )。

□ 2. 「凭什么是你」:为什么还没被套利干净?

  • 判定标准:至少一条你拥有而对手没有的东西——数据(获取成本/清洗能力)、速度(执行链路)、容量(对手嫌小)、期限(对手拿钱期限短扛不住逆风)、合规(对手受限)。
  • 它在防什么:Grossman-Stiglitz 悖论——完全无摩擦的有效市场里研究没有回报,你赚的必须是「摩擦的租金」(见EMH 与异象 )。
  • 常见失败形态:「市场还没发现」——多数时候是市场已经定价,只是你的回测样本恰好覆盖了它的脉冲期。

□ 3. 假设已预注册

  • 判定标准:主检验指标、预期方向与量级、淘汰条件三行字,写于第一次跑数据之前,有 git 时间戳或实验登记表记录。
  • 它在防什么:p-hacking 的根源——事后换指标、换窗口、换样本的自由度(见Alpha 研究流程 )。
  • 常见造假形态:「我们一开始就是用 Rank IC 检验的」——登记表里查不到记录的「一开始」不算数。

B. 实现中(数据五查)

□ 4. 时点合规

  • 判定标准:逐字段回答「该字段的可知时间 ≤ 决策时点吗」,能指出每个字段来自哪张表、以什么日期字段对齐(公告日/交易日的区分写进代码注释)。
  • 防什么:财报按报告期对齐这类前视——基本面因子 IC 虚增 30%–80% 的第一来源(见数据清洗 )。
  • 快速自检:把全部输入字段的时间戳整体 +3 个月,若策略绩效几乎不变,说明信号主要来自「未来信息」而非当期信息——高危信号。

□ 5. 股票池诚实

  • 判定标准:回测任一历史截面,能列出该截面「当时在市」的全部标的数,与今日股票池数的差可解释(退市+暂停上市)。
  • 防什么:幸存者偏差——小市值策略不含退市股年化虚增 5–10 个点。
  • 快速自检:随机挑一只 2019 年前退市的股票(如乐视网、康得新),查它的历史行情与财报能否取到。取不到 = 数据不合格,所有回测打折。

□ 6. 财报用公告日

  • 判定标准:PIT 查询函数通过「修正公告」测试——同一报告期两次公告,回测在两次公告日之间取到的必须是旧值。
  • 防什么:用修正后的数据回测当年的决策(当年市场看到的是错的数字)。

□ 7. 复权口径显式

  • 判定标准:收益计算与成交判断使用不同复权口径且在配置中声明;缓存表记录了「覆盖的除权事件上限」。
  • 防什么:前复权缓存漂移——分红后旧缓存与新数据混用制造幽灵收益(见A 股数据特有问题 )。

□ 8. 异常值分层处理

  • 判定标准:数据层只修「错误」(能对照公告/多源证实的),保留「真实的极端」(2020-02-03、2024-02 初这类压力样本在回测里原样存在)。
  • 防什么:把压力测试的答案提前销毁——平滑掉极端日的回测,等于假装危机不存在。

C. 检验后(标准八条)

□ 9. IC/ICIR 达标且显著

  • 判定标准(月频 A 股参考线):Rank IC ≥ 0.03、ICIR ≥ 0.3、t > 2——且 t 值按尝试次数做过多重检验校正(第 37 次尝试的因子,门槛不是 2,是按 FDR 抬升后的值,见统计推断 )。

□ 10. 分组单调

  • 判定标准:5–10 组净值依次排列或两端清晰;附中性化前后两版——中性化后 IC 消失的因子,收益来自风格暴露而非选股,要按风格策略而非 alpha 策略立项。

□ 11. 参数平坦

  • 判定标准:窗口 ±30%、分组 5↔10、频率 ±1 档的绩效面是「高原」——最优点与邻域均值的差 < 最优点标准差的一半。尖峰 = 过拟合,直接打回。

□ 12. 衰减与频率匹配

  • 判定标准:半衰期 ≥ 2 × 调仓间隔;IC 衰减曲线在预期持有期内未跌破初始值一半(见因子检验 )。

□ 13. 成本后成立

  • 判定标准:分项成本模型(佣金/印花税/价差/冲击)下多头超额为正,成本 ×2 压力下仍为正或明确披露衰减幅度。年化换手 20 倍 × 单边 0.3% = 6% 起步的成本,许多「显著因子」死在这一条。

□ 14. 容量已估算

  • 判定标准:给出三层容量数字(成交额约束/冲击成本曲线/拥挤度)与有效规模上限声明——「本结论在 5000 万以内有效」是合格表述,「容量很大」不是(见再平衡与容量 )。

□ 15. 稳健性拷问全绿

  • 判定标准:子样本(分年度/分板块/分市值域)、口径变体(Rank↔Z、中性化开关)、剔除规则变体(含/不含 ST)——每个变体 IC 同号且量级不塌缩。任何变体反转 = 存在隐藏的条件依赖,查明前不得上线。

□ 16. 样本外已封存开箱

  • 判定标准:训练/验证/测试三区划分有记录,测试区只开过一次箱;Walk-Forward 衰减比 > 0.5;置换检验分位 > 95(见Walk-Forward )。

D. 上线前(纪律四项)

□ 17. 组合层兼容

  • 判定标准:与现有因子相关性矩阵更新,增量贡献(加入后组合 IC/超额的提升)> 0;相关 0.7+ 的「新因子」默认按同源处理。

□ 18. 监控就位

  • 判定标准:滚动 IC 阈值、贡献归因、拥挤度三条监控线已在监控系统中配置并测试过告警(见因子库 )。

□ 19. 失效预案

  • 判定标准:黄灯(减半)/红灯(下线)的触发条件写成制度,含「谁来执行、多久内执行」——只有指标没有执行人的预案等于没有。

□ 20. 文档闭环

  • 判定标准:检验报告、代码 tag、数据快照 ID、立项文档四件套归档且互相引用——三个月后能凭文档独立复现。

使用建议

  • 分阶段闸门:A 段卡立项、B 段卡实现、C 段卡检验、D 段卡上线——每阶段勾完才进下一阶段,禁止回补勾选;
  • 「否」是常态产出:这套表的合理命中率是 3%–8%——100 个想法过 5 个。如果 90% 都过,一定是某道闸门失效了(哪来的这么多 alpha?);
  • 表是活的:每次事后复盘 暴露的新漏洞,按「体系改进」节增补新检查项——这张表的版本史就是研究纪律史。

关联阅读:本表的实战母体因子检验 与回测偏差 ;配套模板因子检验报告模板 。