交易系统 · 第 10 节

回测的坑:深度与滑点

建立你自己的规则 · 第 10 页。

一句话速览 用收盘价回测小市值币,等于假设你的单子不影响价格。实盘上这个假设完全不成立。
这节课要你带走的 深度和滑点为什么让小市值币的回测严重失真、怎么估算真实的成交成本,以及一个自检的方法。

回测通常假设你能按收盘价成交。 这个假设在主流币上大致成立,在小市值币上完全不成立。

回测的隐含假设

用历史 K 线回测时,你默认了三件事:

一是你的单子不影响价格。
二是那个价位上有足够的对手方。
三是你能在那个时刻成交。

在深度只有几万块的币上,三条全部不成立 (见 C2-2)。

失真有多大

用一个具体的算法估:

先量出这个币的盘口深度(买一到买五的总量), 再看你的策略每笔交易的规模

如果单笔规模达到深度的相当一部分, 那么每一笔的滑点都是显著的, 而回测里那部分成本是零。

更麻烦的是它有方向性:你买入时推高价格, 卖出时压低价格,两头都亏。

还有一个更隐蔽的问题

回测里的「成交」在实盘里可能根本不会发生。

回测看到某根 K 线的最低价触及了你的挂单价,就判定成交。 但那个最低价可能只有极小的成交量, 你的单子未必能排到。

这在插针时尤其明显: 一根长下影可能只对应几笔小额成交, 而回测会认为你在那个价位买到了全部仓位。

三条处理办法

一、给回测加一个保守的滑点假设。 按品种深度估一个百分比,每笔都扣掉。 宁可估高,因为估低的代价是实盘亏损。

二、限制单笔规模不超过深度的一个小比例。 这条同时是回测假设和实盘纪律。

三、用成交量过滤品种。 日均成交量低于某个门槛的直接排除, 不管回测结果多好。

一个自检方法

把回测里的滑点假设翻一倍,看策略还成不成立。

如果翻倍之后策略从盈利变成亏损, 说明它的收益主要来自一个你无法验证的假设, 而不是来自策略本身。

这跟期货频道拼接方式那个检验 是同一个思路:改一个你不确定的假设, 看结论稳不稳。

今天就做这一件事

查你回测里用到的某个小市值币,看它当前的买一到买五总量

跟你策略的单笔规模比一比。

如果单笔规模超过了总量的两成,那这个回测结果基本不能用。

带走这一条:回测隐含三个假设:不影响价格、有足够对手方、能在那个时刻成交,在小市值币上三条全不成立。更隐蔽的是插针那根长下影可能只有极小成交量。自检方法是把滑点假设翻一倍看策略还成不成立。