为什么回测看着很赚,实盘一跑就缩水?四个口子在哪里

回测漂亮、实盘拉胯,几乎是新手必踩的坑。这差距不是玄学,而是四个具体原因造成的,而且每一个都能在下实盘之前提前检查。

MyTrade Academy 编辑部
7 分钟阅读

几乎每个做策略的人都会经历这一幕:回测跑出来曲线漂亮得不行,一上实盘就开始缩水。这不是玄学,也不是运气差,而是回测和实盘之间本来就有几个固定的口子在漏。

最主要的四个:过拟合、前瞻偏差、被忽略的交易成本、以及历史图表里看不出来的成交差异。每一个都能在动用真钱之前查清楚。

TL;DR

回测和实盘差,主要因为四个口子:过拟合(策略拟合了测试那段时间的噪声)、前瞻偏差(测试用到了当时还不可用的信息)、交易成本(干净测试没算手续费和滑点)、执行差异(历史图表看不出真实的成交和时机)。每一项都可以在实盘前检查,查清楚了差距就被理解了,而不是实盘里才被吓一跳。

口子一:过拟合

一套策略被反复调校到某一段特定历史区间上,最终可能拟合的是这段区间的噪声,而不是一个可重复的模式。回测在被调过的数据上当然好看,换个时段就原形毕露。

这是「好回测让人失望」最常见的原因:结果描述的是测试期本身,不是市场。

口子二:前瞻偏差

测试可能悄悄用到被测试那一刻还不可用的信息:后来修订的财务数字、后来才变化的成分,甚至未来才有的价格。

这让策略好像拥有了实盘交易者从没有过的先见之明,结果被抬高了你却没察觉。

回测和实盘的差距从哪来
原因它做了什么怎么检查
过拟合拟合了测试的噪声在没调校过的时段上重测
前瞻偏差用了未来的信息核对每个输入当时的可用时间
交易成本没算手续费和滑点给测试加上现实成本
执行差异假设完美成交为真实成交和时机留出空间

口子三:交易成本

一份「干净」的回测可以完全不考虑手续费、点差和滑点,于是每笔交易看起来都比实盘便宜。

暴露最狠的是高频换手的策略:每笔只差一点点成本,攒成几百上千笔,就是一个大数字。

示例:100 笔回测交易,加上真实成本前后的对比
项目干净回测(不含成本)加上真实成本后
胜率55%(55 / 100 笔)55%(不受成本影响)
平均盈利300 元 / 笔300 元 / 笔
平均亏损200 元 / 笔200 元 / 笔
每笔手续费 + 滑点0 元80 元
期望值(每笔)+75 元-5 元

同一套 100 笔的交易记录,唯一变化的只是有没有算上真实成本,期望值就从正转负。

胜率55%
平均盈利300 元
亏损率45%
平均亏损200 元
毛期望值75 元 / 笔
每笔真实成本80 元
净期望值-5 元 / 笔
75 元变成 -5 元,只差了一步

干净回测里,这套策略每笔平均能赚 75 元,胜率 55% 看着也不差。但只要把每笔 80 元的手续费和滑点算进去,净期望值就从正转负——这正是“口子三”在数字上的样子。

口子四:执行差异

历史图表显示的是价格,不是真实成交的体验:跳空、薄盘口、下单时机,这些在干净测试里全都看不见。

一个假设每个信号都完美成交的策略,自然会高估实盘真正能拿到手的成绩。

差距不是玄学,也不是零

回测和实盘有差距,是因为几个具体、可检查的原因。纪律就是用现实成本、用没调校过的时段来测,并把回测当成证据,而不是承诺。

怎么把这几个口子堵上

在策略从没被调校过的时段上跑回测,把真实的交易成本加进去,再核对每个输入在测试那天是不是真的可用。

差距不会消失,但一个测法正确的策略,会让你知道差距大概在哪、为什么在,而不是等上了实盘才被现实教育。

常见问题

实盘比回测差,是正常的吗?

如果成本、执行和测试偏差都没算进去,那很正常。差距本身正常,但大小取决于具体原因。

哪个原因影响最大?

看策略。高换手策略被成本吃掉最多;被调校过的策略栽在过拟合;基本面策略容易被前瞻偏差坑。

这差距能完全消除吗?

不能,但用现实成本、样本外测试和严格的数据可用性检查,能把它压到很小。

把回测当证据,别当承诺

第 44 课讲过拟合、参数风险,以及怎么用独立时期验证来暴露对噪声的拟合。

打开第 44 课