学习资料

回测结果怎么看:手续费、回撤与过拟合检查清单

回测,是把一套交易规则放回历史行情里跑一遍,看它过去会有怎样的表现。它能帮你筛掉明显行不通的想法,却也很容易被读错:同一条资金曲线,算不算成本、用了多少笔交易、在哪一段行情里测,结论可能完全相反。本文逐项说明读回测时最该核对的地方,最后附一张检查清单。

先看成本:手续费、滑点、资金费率算进去了吗

成本是回测里最常被省略、也最伤结果的一项:

  • 手续费:每次开仓、平仓都要付。
  • 滑点:信号价格与实际成交价之间的差距,行情剧烈或流动性差时更大。
  • 资金费率:永续合约持仓期间定期结算的费用,做多、做空都可能要付,机制见永续合约强平与爆仓。

举个假设的例子:一套规则每笔交易来回的手续费加滑点合计约 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. 回测没有计入滑点,会差多少?

取决于交易频率、下单方式和品种的流动性。交易越频繁、周期越短、币种越冷门,差距越大。你可以自己给每笔交易多扣一点成本重新估算,看看结果还剩多少。

提示:本文为教育性质的一般信息,不构成投资建议。回测结果仅反映过去,不代表未来收益。合约可能被强平,本金可能亏损。请从小额开始,并遵守所在地法律法规。