大多数散户会跳过回测。看到一个策略觉得不错,充了钱就直接开实盘。这几乎总是个错误。

回测不保证未来的结果——但它决定了你下的是一个有依据的注,还是一个闭着眼睛的注。本文讲怎么把回测做对:用什么数据、重点看哪些指标,以及哪些陷阱会让回测结果具有误导性。

重要提示:即使回测结果完美,也无法保证未来盈利。市场会变。回测的用途是筛掉明显糟糕的策略——而不是找出稳赢的策略。

什么是回测?

回测是把交易策略放到历史价格数据上运行,看它过去会有怎样的表现。它回答的问题是:“如果我过去 6 个月一直按这套逻辑操作,现在我的账户会是什么样?”

一次做得扎实的回测能告诉你:

真正重要的指标

多数人先看总收益。这个起点是错的。按下面这个顺序去看指标:

最大回撤
从峰值到谷底的最大亏损
✓ 良好:低于 20%
盈利因子
总盈利 / 总亏损
✓ 良好:1.5 以上
胜率
盈利交易的占比
✓ 需结合上下文判断
平均盈利 / 平均亏损
单笔盈亏比
✓ 良好:2:1 以上
夏普比率
每单位风险的回报
✓ 良好:高于 1.0
最大连亏次数
最长的连续亏损
✓ 你扛得住吗?
盈利因子怎么算:如果你的策略总盈利 $10,000、总亏损 $6,000,那么盈利因子 = 10,000 / 6,000 = 1.67。低于 1.0 就意味着策略净亏损。

分步操作:如何正确回测

1. 选定周期和标的

用你打算实盘交易的那个标的和那个周期去测。拿 ETH 数据测出来的 BTC 策略,不是一个经过验证的 BTC 策略。用 1 分钟 K 线去测 4 小时策略,说明不了这个策略在 4 小时上的表现。

2. 用足够长的历史数据

至少用 12 个月的数据,最好是 2–3 年。加密市场会在牛市、熊市和横盘整理之间来回切换。一个只在 2021 年牛市有效的策略不是通用策略——它是牛市策略。

注意检查你的回测区间是否包含了:

3. 把手续费和滑点算进去

绝大多数回测就是在这一步变得危险地乐观。一个扣费前回报 40% 的策略,扣费后可能只有 15%。要用符合现实的假设:

4. 跑回测并记录结果

把完整结果记录下来——不只是收益,而是上一节列出的每一项指标。如果你手上只有总收益,那你掌握的信息还不足以评估这个策略。

5. 对参数做压力测试

把策略参数小幅改动(±10–20%)后重新跑一遍回测。稳健的策略在参数小幅变动后应该依然盈利。如果把 RSI 周期从 14 改成 12 就让结果崩掉,那这个策略是过拟合的——它找到的是过去偶然有效的规律,换到新数据上就不成立。

6. 用真实行情做模拟盘

回测结果为正之后,把策略放到模拟盘/测试网模式下,对着真实行情至少跑 2 周。这一步会暴露回测看不到的问题:成交延迟、API 延迟,以及实时数据上的差异。只有走完这一步,才谈得上考虑实盘。

5 个常见的回测错误

过拟合(曲线拟合)
不停调参数,直到回测曲线看上去很完美。任何数据集都有噪声——优化得太狠,你拟合的就是噪声而不是信号,策略换到新数据上就会失效。解决办法:在看结果之前就把参数定下来再测,并用样本外数据做验证。
忽略手续费和滑点
很多回测默认成交是零成本的。现实中,高频策略的手续费加滑点可能吃掉总盈利的 50–100%。一定要把真实成本算进去。
未来函数偏差
用了当时根本拿不到的数据。例子:用 K 线的收盘价触发一笔“在开盘价成交”的开仓。这会让回测看起来远好于真实水平。
幸存者偏差
只在今天还活着、而且表现不错的标的上做测试。如果你用今天的“市值前 20”名单去构建一篮子策略,你纳入的都是活下来的币种——而不是三年前的平均水平。请用回测起始日期当时就已存在的标的来测试。
没有检验回撤期
年化收益 50%、最大回撤 45% 的回测,对大多数人来说并不是好策略——45% 回撤在心理上和资金上都极其难熬。永远要设想一下亲身经历最糟糕那段时期是什么感受,而不只是看平均值。

回测与模拟盘:各自什么时候用

这些情况用回测:

这些情况用模拟盘(demo 模式):

两者都不可或缺,谁也替代不了谁。通往实盘的路径永远应该是:回测 → 模拟盘 → 小仓位实盘 → 逐步放大。

免费试用 Enliko 回测工具 14 天

Enliko 的回测工具在 Binance 或 Bybit 的历史 K 线上运行规则型策略模板(最多 365 天),并计入手续费和滑点。它会给出胜率、盈利因子、夏普比率、最大回撤和资金曲线。回测功能包含在试用期和 Pro 套餐中。

开始免费试用
无需支付信息 · 含回测功能 · 14 天模拟试用

常见问题

回测需要多少历史数据?

最少 12 个月,最好 2–3 年。数据量要足以覆盖不同的行情环境:牛市、熊市和震荡。只用牛市里 3 个月的数据,几乎能让任何偏多头的策略看起来都很漂亮。

实盘前盈利因子应该达到多少?

盈利因子高于 1.5 通常被认为可以接受,高于 2.0 算好。高于 3.0 反而该让你警惕——那可能是曲线拟合的迹象。稳定性比绝对数字更重要。

回测该用 1 分钟 K 线还是日线?

用你打算交易的那个周期。如果你的策略每小时检查一次信号,就在 1 小时 K 线上测。用高于策略运行周期的数据去测,会漏掉 K 线内部的波动,得出过于乐观的结果。