LZLZL/预测市场/研究方法
免费究 · 系统 辛 研究方法方法学

你的回测赢了,
可能只是尺子错了

2026-08-20 · 一次真实的量尺故障:从「发现」到「假象」到「重审」

我们在 5 分钟盘上找到过一个很漂亮的规律,回测稳定为正,撑了很久。 后来发现它整个是标签造出来的假象——判赢输用的那把尺, 和市场真正结算用的那把,不是同一把。

先说症状:一个太漂亮的发现

规律很简单:在 5 分钟盘上按一条规则决定买哪一侧,回测显示有 +2 到 +6 个百分点的超额。 换个口径还在,换个子集还在,分段看也在。

凡是这种「怎么切都在」的发现,都该先怀疑一件事:它是不是根本不在数据里,而在量尺里

两把尺,量的不是同一个东西

要判断一个 5 分钟盘的赢输,你得知道「这个窗口是涨还是跌」。而这句话里的「涨跌」, 取决于你拿什么价去比:

研究用的尺市场结算用的尺
取价交易所现货的收盘价预言机末 60 秒的时间加权均价
比什么都和窗口开盘价比
大部分时候两者结论一致
结果临界时结论会不一样

把全部 5 分钟窗口逐个用两把尺各判一遍,结果是:2,051 个窗口里有 207 个判断不一致, 无条件错标率 10.1%

这 207 个不是随机散落的,它们集中在同一族窗口上——开盘价和收盘价贴得极近、 最后一分钟随便动一下就能改写结果的那种。我们叫它刀刃窗

看到 10% 这个数,大多数人的第一反应是:噪声而已,会互相抵消。

不会。这是全文最要紧的一句。

为什么误差不会自己抵消

误差要能抵消,前提是它和你的选择规则无关。而这里的问题恰恰是:两者高度相关。

那条选边规则挑出来的窗口,并不是在全体窗口里均匀分布的 —— 它们高度集中在同一族窗口上:开盘价与收盘价贴得极近、 最后一分钟随便动一下就能改写结果的那一族。

而那一族,正好就是刀刃窗,也正好就是两把尺最容易分歧的地方。 这不是巧合,但具体为什么会重合,属于策略内部的事,这里不展开 —— 要讲的道理不需要它

于是就形成了一个闭环

① 选择规则挑出的窗口高度集中在刀刃窗 → ② 刀刃窗正是两把尺最容易分歧的地方 → ③ 而在这一族窗口里,分歧不是正负各半的,它系统性地偏向同一边 → ④ 于是这条规则系统性地站在被错标偏袒的那一边

误差被自己的选择规则整流了。本来正负各半的噪声,被筛成了单向的偏差, 最后凝结成一个看起来稳定、其实不存在的 +2~6pp。

方向有多偏?可以直接算出来

把 207 个错标窗口按方向拆开:125 个偏向我们、82 个偏向反面, 净偏 43 个窗口

43 ÷ 2,051 = 2.1% 的窗口被系统性地判反了。而一个窗口判反, 在盈亏上就是 ±100 个百分点的差别(赢变输或输变赢)。两者相乘:

2.1% × 100pp ≈ 2.1pp 的虚高

而回测里观察到的超额正是 +2~6pp下限严丝合缝对上了—— 这个「发现」的大小,恰好等于量尺偏差的大小。到这一步基本可以定案了。

换句话说:分歧率高不高不是重点,分歧带不带方向才是。 10% 的对称分歧无害,2% 的定向分歧就足以造出一个假发现。

到链上去问真相:207 比 0

两把尺打架,靠争论没用,得找第三方裁判。链上的结算结果就是那个裁判—— 它是真金白银赔付的依据,不由任何一方解释。

我们把有分歧的窗口逐一拿到链上核对结算真相(读合约的赔付结果), 结果是 207 : 0:链上全部站在市场口径这一边,没有一个例外。 同日对其余周期做同颗粒度审计时,另一组 31 个争议窗的链上核对同样是 31 : 0

到这一步结论就无可回避了:研究用的那把尺是错的, 当初那一整族「发现」,是标签假象

那其他周期呢

量尺出问题,第一件要做的事不是修,是先划定污染范围—— 同一把错尺还量过什么?我们把其余周期按同样颗粒度重审了一遍:

周期两尺分歧是否带方向结论
5 分钟10.1%
207/2051
125 : 82
带方向
发现作废
15 分钟3.1%60 : 63
对称
无恙
1 小时0%
0/1010
无恙
4 小时0.4%
1/250
单例无恙

周期越短,末 60 秒在整个窗口里占的比重越大(5 分钟盘里占 20%,4 小时盘里只占 0.4%), 所以 5 分钟盘首当其冲。

15 分钟盘虽然也有 3.1% 的错标,但方向是 60 : 63—— 几乎完全对称,甚至略微偏向不利的一边。没有被选择规则整流,所以不构成偏差。 这一栏才是判断「有没有被污染」的依据,而不是错标率那一栏。

这张表就是「污染范围」的答案:只死了一个,其余不用重做。 如果不做这一步,要么盲目地把所有结论都推翻(浪费),要么假设别的没事(危险)。

裁定:先修尺,再重审

发现量尺坏掉之后,很自然的冲动是「换个角度再试试」。这条我们写成了硬规矩:

错的是量尺——先修尺,再用对的尺,重审所有被错尺判过的线。

为什么不能跳过重审?因为错尺不只可能造出假发现,也可能掩盖真发现。 分歧带方向的时候,被压下去的那一侧同样是被系统性歪曲的。不重审,你不知道自己丢了什么。

修尺的做法是把市场结算真相本身落库:单开一张结算标签表, 从公开接口逐窗取回真实结算结果,另开采集任务持续更新,并把历史窗口全部回填。 从此判赢输一律以这张表为准,原来那把尺降级成伴读口径—— 两个口径并排跑,每次都报差值,差值一变大就会自己冒出来。

修完之后呢

用修好的尺,把原来的策略重新训练、重新回放。判据先写死在文件头,不看数据。

回放跑了四个格子:两种标签(旧的 / 修好的)× 两组配置, 这样既能看新标签下的结果,也能看同一套特征在两把尺下的差别。

结果:四格全负(−1.06 / −1.44 / −1.60 / …,z 值全部不显著)。

也就是说,这条线本来就是死的——错尺没有把一条活线害死,它只是把一条死线装扮成了活的。 判死的结论没变,但现在它站在正确的地基上了。

如果结果反过来,才是最坏的情况

要是修完尺之后策略变正了,那意味着我们之前差点因为一个坏标签 错过一条真的线。要是修完还是正的、但幅度变了,那意味着我们之前 按错误的幅度在定仓位

三种可能里,只有「本来就是死的」这一种是无害的。而在修尺之前, 你根本不知道自己抽到的是哪一种——这就是为什么修尺不能拖。

怎么防:四个动作

一、先问一句:判赢输的那个数,是不是市场结算真正用的那个数。 不是「差不多的数」,是同一个数。差不多在刀刃窗上就是不一样。

二、双口径并行,逐次报差。不要只留一个口径。两个并排跑、每次输出差值, 量尺漂移会自己浮出来,不用等到某天回头查。

三、检查你的选择规则和量尺误差相不相关。这是最容易漏的一步,也是本文的核心: 把你策略选中的窗口单独拎出来,看两个口径在这批窗口上的分歧率, 是不是显著高于全样本。高很多,就说明误差正在被整流。

四、看分歧的方向,不要只看分歧的比例。 对称的分歧是噪声,定向的分歧是偏差。前者可以忍,后者会直接变成假 alpha。

一句话记住

回测赢了,先别高兴。先确认赢的是策略,不是尺子。 尤其当你的选择规则,恰好会挑中两把尺最容易吵架的那批样本时—— 那不是发现,那是把自己的测量误差重新包装了一遍。

证据怎么自己核对

两把尺 研究口径=交易所现货收盘价 vs 窗口开盘价;市场口径=预言机末 60 秒 TWAP vs 窗口开盘价。 两者都能从公开接口取到,可自行比对。
无条件错标率 5m 207/2051 = 10.1%,方向 125:82(净偏 43 窗)· 15m 3.1%(60:63 对称)· 1h 0%(0/1010)· 4h 0.4%(1/250);逐 run 双口径差 ≤0.5pp。
幅度自洽 43/2051 = 2.1% 的窗口被判反 × 每窗 ±100pp ≈ 2.1pp, 与观察到的 +2~6pp 下限吻合。
链上裁判 读合约赔付结果逐窗核对:207 : 0,无一例外站在市场口径;更早一轮小样本 31 : 0
重审结果 两种标签 × 两组配置共四格,判据先写死在文件头,四格全负
局限 分歧率是在我们自己的窗口样本上算的,不同时间段、不同标的会有出入; 「带方向 / 对称」的判断也依赖样本量。这两条请自己在自己的数据上重做一遍, 不要直接引用本文的数字当结论

相关接着读什么

壬 · 坑与口径
589 股无声蒸发:活动流会让你高估自己
乙 · 费用与补贴
「四种返利」辨析——它们不是一个东西
辛 · 研究方法
预注册:为什么必须先立门后看数据
癸 · 判死档案
真钱跑完一条吃单线:净 −$496.51,返利 $0
本文属教育与研究记录,不构成投资建议,不承诺任何回报。所引数字来自我们自己的审计与台账, 方法与局限均已列出,欢迎自行复核并指出错误。