你的策略赚钱了 —— 但如果完全不用策略、随便按一个固定规则下注 也赚同样多,那你赚的不是策略的钱,是行情的钱。 空模型就是这个对照组。它几乎不花成本, 却能一次性干掉一大批看起来很成功的策略。
假设某段时间市场整体往一个方向走。那么在这段时间里:
| 做法 | 结果 |
|---|---|
| 你的策略 | +2.5pp |
| 完全不判断,固定押同一边 | +2.5pp |
两者一样。那你的策略贡献了零。 它看起来在赚钱,实际上只是恰好站在了顺风的那一侧 —— 而这个顺风会结束,通常在你加大仓位之后。
好的空模型有三个性质:完全不用你的策略信息、行为简单到无可争议、 和你的策略在同一批样本上跑。
| 类型 | 它在检验什么 |
|---|---|
| 固定方向 | 你赚的是不是行情的单边走势 |
| 随机 | 你是不是连噪声都赢不了 |
| 跟随上一期结果 | 你赚的是不是一段简单的序列惯性 |
| 按某个公开分位机械选边 | 你赚的是不是某个人人可见的结构性偏差 |
| 永远接受市场当前价 | 你有没有跑赢「完全不判断、直接信价格」 |
怎么读这张表这是一份通用菜单,不是我们的名单。 下一段说的那三个,与这五行没有对应关系 —— 本站不公开它们分别是什么。
我们那条被判死的线用了三个空模型,判据写死「必须三条都赢」—— 输给任何一个就直接毙掉,判词叫「行情披皮」。
口径本站不公开这三个空模型分别是什么, 因为它们的具体形态和策略本身相关。但选法的原则可以照抄: 挑那些「不需要任何判断就能执行」的规则。
更常见的情况不是策略输给空模型,而是空模型暴露了整个量尺是坏的。
我们把某个周期的全部历史按市场真实结算重新打了一遍分。 策略线的变化不算特别大,但空模型的变化触目惊心:
| 旧量尺 | 正确量尺 | |
|---|---|---|
| 某条不含任何模型的对照基准 | +2.72pp | −1.23pp |
| 另一条对照基准 | −3.82pp | +0.13pp |
一个不含任何模型的对照基准,它的读数应该只反映市场本身。 如果换个口径它就从明显为正翻成明显为负,那问题一定不在策略上, 在测量上。
这是空模型最被低估的用途:它同时是策略的对照组,也是仪器的校准件。 策略变化了你会归因于策略;空模型变化了,你只能归因于量尺。
全过程在 你的回测赢了,可能只是尺子错了。
修好量尺之后,我们用正确的目标重训了一次。判断修好没有的标准之一是: 同期的空模型应该全部回到 ≈0 附近。
结果确实如此(同期各条空模型都落在 −1.27 到 +0.18 之间), 而策略本身四个格子全负。两件事合起来才构成一个干净的判死: 不是仪器坏了导致读数难看,是策略在修好的仪器上一样是死的。
反过来的错误也很常见。我们那条线的终读:
| 判据 | 结果 |
|---|---|
| 赢过三个空模型 | PASS(三条都赢) |
| 前后两半同号 | PASS |
| 毛超额 ≥ 2.25pp | FAIL(+1.56pp) |
| 显著性 z ≥ 2.0 | FAIL(1.62) |
赢过空模型只证明策略不是纯噪声,不证明它能覆盖成本。 这两件事之间隔着那条线的全部 $496.51。
某次模拟里,1 小时那一档看起来是正的(+4.31¢/股)。拆开看: 6 个盘里 1 个贡献了 +$667,其余 5 个中位是 −$19。
均值毫无意义。看一组结果时先问中位数,再问「去掉最好的那一个还剩多少」 —— 这两问和空模型一样便宜,一样能干掉大批假发现。
edge 是你减去空模型,不是你减去零。 而空模型还有个附带作用:如果它自己变号了,坏的不是策略,是尺子。 这是全套方法里最便宜的一个检查 —— 它几乎不花钱,却能救掉一整条线。