跳转至

附录 C:常见误区对照表

量化研究里大多数"看起来很美、实盘就崩"的结果,都源于少数几个反复出现的误区。本附录把全书各章强调过的陷阱汇成一张速查表,便于在动手前、复盘时对照自查。每条都标注了对应章节,便于回溯细节。

数据与回测口径

❌ 常见误区 ✅ 正确做法 章节
\(T\) 时刻用到 \(T\) 之后才可得的数据(未来函数 / 前视偏差) 严格时间戳对齐;向量化记得 shift(1),事件驱动天然杜绝 3、4、12
用不复权原始价回测,除权日出现跳空 回测用前复权(adjust="qfq" 3
只用当前存续的标的回测(幸存者偏差) 维护含退市标的的全集数据库 3
把向量化回测当成能模拟撮合/资金/T+1 需要路径依赖时改用事件驱动回测 4
裸回测得到漂亮高收益 计入佣金、印花税、滑点与换手成本 6、10

市场制度与账户语义

❌ 常见误区 ✅ 正确做法 章节
A 股当日买入当日卖出 检查 available_position(T+1 可用持仓) 6
涨跌停封板仍假设能成交 用数据携带 can_buy / can_sell 等标记辅助判定 6
把期货保证金账户当现货账户,开仓即扣全额名义本金 equity / used_margin / notional_value 理解杠杆暴露 7
期权只押方向、忽略希腊字母 同时管理 Delta / Gamma / Theta / Vega 暴露 8

优化与验证

❌ 常见误区 ✅ 正确做法 章节
直接采用样本内夏普最高的单点参数 寻找"参数平原",做样本外验证 11
试了很多组参数,挑最好的就上 用 DSR 按尝试次数抬高夏普门槛(多重检验校正) 10、11
只用一条历史路径(单次 walk-forward)下结论 用 CPCV 得到夏普比率的概率分布 11
时间序列直接随机 K-Fold 交叉验证 用 Purged K-Fold + Embargo 防信息泄露 12
固定时间窗口标签忽略期间回撤 用三重屏障法(止盈/止损/时间)打标签 12
样本太短就断言策略有效 参考最小回测长度,低夏普策略需更长样本 11

指标与工程

❌ 常见误区 ✅ 正确做法 章节
指标 warmup 未满就发出交易信号 计算后先剔除前部 NaN / 空值区段 16
迁移时不对齐结果就直接切 Rust 后端 先用 backend="python" 对齐基线,再切 rust 16
多输出指标解包顺序记错(如 MACD/BBANDS 牢记解包顺序,结果不报错但语义会悄悄失真 16
只看全周期静态夏普,忽略局部波动 配合滚动夏普 / 滚动波动率观察稳定性 13

实盘运维

❌ 常见误区 ✅ 正确做法 章节
凭"本地请求成功"就推进订单终态 CTP strict 模式下终态以柜台 OnRtnOrder 回报为准 15
把内置 MiniQMT/PTrade 当生产级开箱即用 视为占位骨架;A 股集合竞价/打新等需自定义或增强 broker 15
不经模拟盘直接实盘 paper 充分验证,再 broker_live,灰度发布 15
实盘不开前置风控 RMS 前置风控(单笔上限、资金使用率、日内撤单数、策略级止损)是最后防线 15

一句话总结:量化里最贵的错误,往往不是模型不够复杂,而是悄悄用了未来信息、忽略了成本、或被多次尝试挑出的"运气"骗了。 对照本表,能避开其中大半。