Prompt file imported from annypay/bn-aggtrade-engineering (
.github/prompts/code-review-quant.prompt.md). Copyright stays with the author.
Quantitative Code Review
对量化研究/交易代码进行深度审查,聚焦于 Makefile 静态检查无法覆盖的语义级偏差。
审查维度
1. 前视偏差 (Look-Ahead Bias) — 最高优先级
- 特征计算只使用 ≤ t 时刻的数据
- 标签/目标变量的时间对齐:预测 t+k 的收益,不能用 t+k 的信息
- 归一化(mean/std/min-max)在训练集 fit,测试集只 transform
- 数据分割严格按时间顺序,无 random shuffle 交叉验证
- rolling/expanding 窗口计算无错误偏移(off-by-one)
- 使用了未来才出现的交易对/参数设置
- [§6.6 EL-01] 执行时延: position[i] 仅依赖 ≤ i-1 的数据,PnL[i] = position[i-1] × return[i]
- [§6.6 EL-01] 双轨报告: 同时提供 t+1_open (乐观) 和 t+1_close (严格) 两轨,Gate 以严格轨为准
- [§6.6 EL-01] t+2 scan: 全量 config 扫描从 t+2_net 口径开始
- [§6.6 EL-01] 代码标记:
# EXECUTION_LAG: t+1_open或t+1_close在 PnL 计算处 - [TA-01] 时间轴对齐: same bar size 不等于 same timeline;same-clock subset 必须 exact timestamp projection
- [TA-01] 禁止 silent pad/clip: 审查
target_len/ pad / trim / clip /np.pad等长度对齐替代品 - [TA-01] admission rail: rerun / reuse 前需通过
make check-timing-alignment-contract SCRIPT=<path> - Same-bar contamination: verify
position[i]does NOT useclose[i]/regime info from bar i itself
2. 数据泄漏 (Data Leakage)
- 训练数据与测试数据时间范围无重叠
- 特征工程管道在 cross-validation fold 外执行
- 测试集不参与任何特征选择/超参数搜索
3. 过拟合风险 (Overfitting)
- 是否只报告了最佳结果
- 超参数搜索空间是否过大
- 是否有样本外指标对比
- 模型复杂度是否与数据量匹配
- Sharpe > 3 的结果是否有合理解释
4. 交易成本 (Transaction Costs)
- PnL 计算包含手续费
- 滑点模型是否合理(固定 vs 成交量依赖)
- funding rate 是否纳入持仓成本
- 同时报告 gross 和 net 指标
5. 工程质量
- 函数有 type hints 和 Google-style docstrings
- 关键路径有异常处理(非 bare except)
- 配置参数从
configs/加载,无硬编码 - 有对应的单元测试
- 日志使用 loguru,非 print
- 大数据处理考虑内存效率
- [R-410+] EXPERIMENT_CONTRACT 三元组:
experiment_class/template_id/execution_lag同时声明 - [R-410+] SSOT 一致性: 运行
make check-experiment-contract SCRIPT=<path>通过
审查输出格式
### 代码审查 — [模块/PR 名称]
#### 关键发现
| # | 类型 | 严重性 | 文件:行 | 描述 | 建议 |
|---|---|---|---|---|---|
| 1 | 前视偏差 | 🔴 Critical | xxx.py:42 | ... | ... |
| 2 | 过拟合 | 🟡 Warning | ... | ... | ... |
#### 通过项
- [列出已确认无问题的检查项]
#### 总结
- 拦截 / 修改后通过 / 通过
- 必要行动: ...
严重性分级
- 🔴 Critical: 前视偏差、数据泄漏、TA-01 对齐错误 → 必须修复方可继续
- 🟡 Warning: 过拟合风险、成本遗漏 → 应修复或详细说明理由
- 🔵 Info: 工程规范、文档完善 → 建议改进