回测-实盘偏差解剖:五个来源的量化对照
先掌握这个答案
五来源:①成本差:实际滑点>假设(量级1-3%/年,换手越高越大)——用实盘成交回流校准(q-939);②执行差:信号到成交的时滞与部分成交(0.5-2%/年)——执行算法与限价策略的损耗;③数据差:回测数据的修正/幸存者(0-3%/年,事前难知,事后用PIT复检);④统计差:过拟合的样本内虚高(2-10%/年——最隐忍的大头,靠样本外预判);⑤环境差:市场结构变化、因子拥挤(0-∞——2017/2024的教训)。监控体系:上线起每日对比"实盘净值 vs 同期回测重放净值"(用真实成交重跑),偏差序列分来源归因月报。
先读结论,再核对下方使用边界;数字例题为教学情景,涉及实际行情与规则时请核对原始来源。
从理解到使用
每一笔收益都要有可执行时间线
打印数据截止时间、信号时间、订单时间、成交时间和持仓收益区间。收盘信号不能乘当天完整收益;次日开盘成交也不能无条件拿到整个close-to-close收益。用原始价格判断可成交性,并纳入停牌与涨跌停。
用模拟盘先验证系统行为
先演练重复信号、网络超时、断线重连和部分成交,检查订单幂等与持仓对账。回测结果不验证交易通道、延迟与容量;启动、暂停和恢复都要有明确条件与记录。
本阶段实战方法 · 回测先过时序、成交与成本三道关
把信号变成策略收益时,每笔收益必须能追溯到当时能下出的订单。
- 画出时间线:数据可得→算信号→下单→成交→持仓收益;收盘信号不能倒用当天完整收益。
- 明确交易价格、T+1可卖数量、停牌涨跌停、仓位上限和实际成交量约束。
- 同时报告毛/净收益、换手、最大回撤、基准和样本外结果;对滑点与费率做压力测试。
使用边界
- 简单shift(1)只解决部分时序问题;次日开盘成交还要区分隔夜和日内收益。
- 成本应按成交金额与买卖方向计提;0.15%是教学情景,不是统一市场费率。
- 实盘差=策略失效:先拆解——若主要是成本差(可校准)与执行差(可优化),策略本体可能依然健康;环境差才谈"失效"
- 回测重放很麻烦没必要:它是唯一能把"策略问题"与"落地问题"分开的手术刀——机构上线标配
- 偏差监控三个月就够了:环境差与统计差的显现以年计——监控是策略的终身伴侣
🛠 本题实践任务
为你的(模拟盘)策略建立偏差预算表:五来源各预填一个年化估计与监控方式。若有模拟盘数据,做一次月度归因对照。
💡 提示(先自己想5分钟再看)
没有实盘时来源①②可用模拟盘成交近似;预算表的真正价值是上线前建立"合理预期"。
在你的浏览器内运行。首次需联网下载 Python;支持标准库和 Pyodide 提供的 NumPy、pandas 等包。行情抓取、系统文件访问和部分第三方库请在本地环境运行。输出自检仅比对结果关键词,不代替逻辑审查。
🤖 AI导师
导师会先检查你的前置知识(四大杀手、滑点假设),再用案例、公式和代码帮助理解。此功能需要先启用服务。