回测结果怎么看:手续费、回撤与过拟合检查清单
回测,是把一套交易规则放回历史行情里跑一遍,看它过去会有怎样的表现。它能帮你筛掉明显行不通的想法,却也很容易被读错:同一条资金曲线,算不算成本、用了多少笔交易、在哪一段行情里测,结论可能完全相反。本文逐项说明读回测时最该核对的地方,最后附一张检查清单。
先看成本:手续费、滑点、资金费率算进去了吗
成本是回测里最常被省略、也最伤结果的一项:
- 手续费:每次开仓、平仓都要付。
- 滑点:信号价格与实际成交价之间的差距,行情剧烈或流动性差时更大。
- 资金费率:永续合约持仓期间定期结算的费用,做多、做空都可能要付,机制见永续合约强平与爆仓。
举个假设的例子:一套规则每笔交易来回的手续费加滑点合计约 0.1%,一年交易 300 次,如果每次都动用全部资金,光是成本就要吃掉约 30 个百分点(单利粗算)。交易越频繁、周期越短,这个问题越严重。资金费率则按持仓时间累积,持仓越久影响越大,所以持仓时间长的合约规则更需要把它算进去。看到一条漂亮的曲线,第一个问题永远是:成本算了没有?怎么算的?
交易笔数与测试期间:样本够不够,行情够不够多样
交易笔数决定了结果里有多少运气成分。只有一二十笔交易的回测,几笔大赚就能撑起整条曲线;笔数越多,偶然性越小。没有一个神奇的门槛,但如果笔数少到可以一笔一笔数过来,结论就不要太当真。还可以做个简单的测试:去掉表现最好的几笔,看结果还剩多少。
还要看最长连续亏损:回测里最多连亏过几笔、低潮持续了多久。这决定了你在实盘中可能要熬过多长的难受期,也是判断自己能否坚持下去的直接依据。
测试期间要覆盖不同的行情。只在一轮大涨里测出来的顺势规则,往往都很好看——但那说明的是行情,不是规则本身。比较理想的回测至少包含上涨、震荡、下跌三种阶段,并且能分段查看。三种行情的特点和判断难点,见牛市、熊市、震荡市怎么交易。
最大回撤与仓位大小:曲线背后的代价
最大回撤是资金从某个高点跌到之后最低点的幅度,它告诉你这套规则最难熬的时候有多难熬。一套最终结果不错、中途却从高点跌去一半的策略,大多数人在真实账户里撑不到最后。计算方法和怎样评估自己的承受力,见最大回撤是什么。
同时要看仓位假设:每笔用固定金额,还是用全部资金滚动?有没有用杠杆?复利滚动会让曲线后段急剧放大,回撤的金额也同样放大;有杠杆时,回撤甚至可能超过投入的本金。此外,很多回测并不模拟强平和保证金,杠杆越高,回测与现实之间的差距越大。
胜率高,不等于赚钱
很多人读回测时先看胜率,但胜率必须和盈亏比放在一起看。每笔交易的平均结果 ≈ 胜率 × 平均盈利 −(1 − 胜率)× 平均亏损。举个假设的例子:胜率 80%,平均每笔盈利 1 USDT、平均每笔亏损 5 USDT,那么平均每笔是 0.8 × 1 − 0.2 × 5 = −0.2 USDT,交易越多亏得越多。反过来,胜率只有 40%、但平均盈利是平均亏损三倍的规则,平均每笔仍然为正。所以看到「高胜率」时,务必追问平均盈利和平均亏损各是多少。
样本内、样本外,以及两种常见偏差
样本内(in-sample)是用来调整参数的那段数据,样本外(out-of-sample)是调参时没有看过的数据。样本内的成绩几乎总比未来好看,因为参数本来就是照着这段历史挑出来的。比较可信的做法是:用一段数据调参,再拿到另一段完全没碰过的数据上检验;或者用滚动前进(walk-forward)的方式反复验证。
过拟合,是把规则调得过分贴合历史里的噪音。常见迹象包括:参数特别多;数值精确得奇怪,比如某条均线必须是 37,换成 35 或 40 就明显变差;稍微改一个参数,结果就大幅走样。经得起检验的规则,参数附近一片区域的结果都应该差不多。
选择偏差,是只展示表现好的币种、周期或时间段。十个币里挑出最好看的一个放在首页,本身就是一种误导。另外,已经下架或几乎归零的币往往不在数据里,这也会让结果偏乐观,也就是常说的幸存者偏差。
一张表:读回测时的检查清单
| 检查项目 | 要找的答案 | 警讯 |
|---|---|---|
| 成本 | 手续费、滑点、资金费率是否计入 | 完全不提成本 |
| 交易笔数 | 笔数足够,不靠少数几笔撑场 | 少数几笔贡献大部分结果 |
| 胜率与盈亏比 | 同时给出平均盈利与平均亏损 | 只强调胜率 |
| 测试期间 | 覆盖上涨、震荡、下跌 | 只测一段单边行情 |
| 最大回撤 | 明确给出,并说明从哪里算起 | 只给最终结果 |
| 仓位与杠杆 | 写明每笔用多少资金、几倍杠杆 | 复利加杠杆却不说明 |
| 样本内外 | 说明参数怎么定、有没有样本外检验 | 把调参结果当成未来表现 |
| 选择范围 | 公开所有测试过的品种和全部交易 | 只放挑选过的截图 |
| 规则一致性 | 回测规则与实际提供的指标一致 | 回测版本与实用版本不同 |
Pullwave 的回测该怎么读
按上面的标准,也说明一下我们自己的做法。Pullwave 的所有回测和所有交易都公开在成绩页面,而不是只放精选片段。回测都计入了手续费;永续合约回测还计入了资金费率和滑点,而现货回测没有计入滑点,阅读时请记住这一点。回测中没有计算强平和保证金。另外,这些结果是用过去的数据调好设置后得出的样本内成绩,未来的表现可能更差。读我们的回测时,也请用上面这张清单逐项核对,而不是只看最终结果。
常见问题
Q. 回测结果好,是否代表以后也能赚钱?
不代表。回测只说明规则在过去那段行情里会怎样表现,而且多数是样本内结果。它的价值在于筛掉明显行不通的想法,并让你事先知道可能要面对多深的回撤。
Q. 多少笔交易才算够?
没有统一标准,但一般越多越好,而且要分布在不同的行情里。如果大部分结果来自少数几笔交易,去掉它们再看一次,就能知道结论有多脆弱。
Q. TradingView 自带的策略回测可以相信吗?
工具本身可以用,关键在设置:手续费、滑点和仓位大小要按实际情况填写。还要注意,回测对 K 线内部的价格路径做了简化;如果信号会在收盘前出现又消失(即重绘),回测也会偏乐观。
Q. 回测没有计入滑点,会差多少?
取决于交易频率、下单方式和品种的流动性。交易越频繁、周期越短、币种越冷门,差距越大。你可以自己给每笔交易多扣一点成本重新估算,看看结果还剩多少。
提示:本文为教育性质的一般信息,不构成投资建议。回测结果仅反映过去,不代表未来收益。合约可能被强平,本金可能亏损。请从小额开始,并遵守所在地法律法规。