花了整个周六下午在看盘软件上翻看历史 K 线,每一个突破点都清清楚楚,每一笔买入都顺理成章,表格算出的胜率高达 80%。你甚至兴奋得睡不着觉,觉得自己终于破解了市场的财富密码。
然而周一一进实盘,做同一套形态,连续吃了五次止损。发生了什么?不是市场针对你,而是你的回测在撒谎。在手动翻看静态历史图表时,如果没有严格的规则防线,我们的大脑会在不知不觉中完成一整套天衣无缝的“作弊”,制造出虚假的暴利幻觉。
手动回测最容易掉入五大虚假繁荣陷阱:偷看右侧未来的走势(后视镜作弊);专挑顺风顺水的漂亮单边,绕开锯齿震荡;遇到亏损就临场修改规则或参数(过度拟合);完全不扣除手续费与滑点摩擦;以及遇到失败案例找借口‘实盘我肯定不买’。科学的回测必须像蒙眼推演:使用 K 线切片回放挡住未来走势、开测前白纸黑字锁定规则 50 笔不动、并且无情记录每一笔打止损的失败样本。
陷阱一:偷看右侧 K 线(哪怕只是用眼角余光)
这是手动回测中最致命、也最难以自察的心理作弊。
当你把一张完整的历史日 K 线图摊在屏幕上时,哪怕你试图假装不知道后面发生了什么,你的眼角余光也早就瞄到了右侧:两周后这只股票暴涨了 30%。在这种潜意识先入为主的影响下,原本一个形态并不标准、量能模棱两可的模糊进场点,瞬间变得“无比诱人”。你自信地记上一笔:“入场,大赚 3R”。
反过来,如果右侧行情随后断崖式跳水,你的大脑会立刻极其聪明地替你寻找开脱理由:“这里均线好像还没完全走平,如果是在实盘中我肯定比较谨慎,这笔就算了不进。”不知不觉中,你用上帝视角把亏钱的单子全摘出去了,只把赚钱的单子留在了表格里。
陷阱二:规则越测越改(把球门挪来挪去)
你原本设计了一套基于 20 日均线突破的交易规则。第 1 笔赚钱,第 2 笔赚钱,到了第 3 笔,一根下影线轻轻打掉了你的止损,随后股价冲天而起。
你感到极度懊恼,于是暗暗对自己说:“如果我把止损再放宽 1%,这笔不就活下来而且赚大钱了吗?”于是你在第 4 行悄悄修改了止损间距;测到第 15 笔,遇到震荡拉锯连亏两笔,你又加了一条新条件:“加上一条 RSI 必须小于 70 才能买”。
测完 30 笔时,你的规则已经变异了五次。你这不是在测试一套通用的交易系统,你这是在照着这片特定历史走势的高低点“量体裁衣”。这在统计学上叫做过度拟合(Curve-fitting)。这套被改得面目全非的策略一进实盘必死无疑,因为未来的市场行情绝不可能按照你这几十根 K 线的剧本原样重演。
| 作弊手法 | 大脑是如何自我欺骗的 | 正确的防作弊解药 |
|---|---|---|
| 1. 偷看右侧行情 | 带着对后续大涨大跌的预知,反向挑选对自己有利的买点 | 强制使用 K 线回放(Replay)功能,严禁露出右侧未成形 K 线 |
| 2. 规则边测边改 | 每次亏损都临场加参数打补丁,把规则改得面目全非 | 测试期间规则冻结;哪怕有新想法,也只能记录在 Version 2 |
| 3. 专挑漂亮行情 | 只回测大牛市或最强势的龙头股,避开一地鸡毛的震荡期 | 严格按自然日历月份整段回测,包括最恶劣的垃圾轮动行情 |
| 4. 忽略交易摩擦 | 假装每次都能在最低价买进、最高价卖出,且没有手续费 | 每笔交易强制扣除 0.1R 到 0.15R 的双边佣金与保守滑点 |
| 5. 假装“这次不算” | 遇到亏损就找借口“当天有特殊新闻,实盘我肯定避开” | 只要符合技术触发规则,不管多丑陋都必须毫无借口计入表格 |
回测的唯一目的不是在表格里拿高分虚荣,而是尽可能在无风险的环境里,把这套策略最脆弱、最丑陋的一面彻底逼出来。
陷阱三:只测大顺风,逃避大逆风
如果你只拿 2020 年放水大牛市去回测突破买入策略,任何买点看起来都是天才。在单边狂飙的环境中,市场会包容你的所有瑕疵,哪怕买点选得再烂,多拿几天也会被大盘顺势推向盈利。
然而在真实市场中,行情常常长时间处于没有明确方向的震荡与拉锯中。一套策略是否真正具备韧性,不取决于它在顺风局能赚多快,而取决于它在逆风的震荡磨损期会不会直接把本金亏光。一份诚实的回测,必须故意挑一段最难受的窄幅拉锯期进行高压测试。
绝不在静态图表上做回测。打开看盘软件的“逐根回放(Bar Replay)”功能,把时间切回到起点。光标停在入场 K 线那一刻,先在表格里白纸黑字写定你的入场价与止损价。之后按动空格键,一根一根推进 K 线,直到行情真正触碰止损或止盈。落子无悔,严禁反悔重来。
- 我的屏幕右侧未成形 K 线被完全遮挡,我是逐根推进验证的。
- 测试开始前,我的出入场规则已用文字明确锁定,中途绝不修改。
- 所有触发了条件的信号都如实计入了表格,包括被扫损的案例。
- 所有交易的盈亏结果都扣除了手续费与合理的滑价摩擦。
常见问题
如果在回测到一半时,突然产生了一个极佳的优化灵感,该怎么办?
立刻在笔记本上记下来:“优化假说:止损由固定点位改为 2.5 倍 ATR 跟踪”。但**绝对不要在当前测试中立刻改规则**。坚持用原始规则把当前的 50 笔测完;然后再开一份新表格,用新规则完整跑一套独立的 50 笔测试,两者进行严格的数据对照。
手工回测测出 85% 的胜率,这正常吗?
在常规的单边趋势或波段突破策略中,这极不常见。这类策略通常更依赖单笔盈利覆盖亏损,而不是单纯追求极高胜率。如果你手工测出了 85% 这样惊人的高胜率,通常意味着你在推演过程中可能无意间偷看了后市 K 线,或是下意识把原本应该触发的亏损单给跳过了。
为什么新手更推荐手工回测,而不是直接写 Python 搞量化?
量化回测虽然快,但冷冰冰的代码无法培养人眼对图表上下文的感知。手工逐根推演能强迫你看清几十种假突破、大阴线下杀和盘整洗盘的微观细节,这种看盘手感与盘面直觉,是冰冷的数据回测无法赋予的。



