指标
0.0118 R
H-001
已失效
阅读英文版 →

从手动炒拉升到诚实的检验:H-001 Gap&Crap 之死

Gap&Crap 在 2019–2024 年看起来不错,但在未动用的 2013–2018 年上,优势没有站住:均值 0.0118 R,零落在区间之内。结论:已失效(dead)。

新地方的第一篇文章,就是一场葬礼。我知道,对一个交易博客来说,这不算最鼓舞人心的开头)) 但换成任何别的开头都不诚实。

主观交易的那些年

2013 年 10 月,我开始写一本美股 pump & dump 交易日记。接下来是六年:小盘股、Level II、成交明细(tape)、隔夜持仓、凌晨 3 点写的交易复盘。有过连续盈利的日子,有过“我人生中最艰难的一年”,有过我们自己的自营交易公司,也待过别人的。

我们圈子里最喜欢的玩法之一叫 Gap&Crap。一只股票大幅跳空高开,你等它泄气,然后做空。简单得像一张板凳。2015 年 1 月,我恰恰就栽在这上面:风险很小,“反正它会 Gap and Crap”,那就继续加仓…… 结果它没有 crap。一天之内,我连续七个盈利日赚到的钱全部亏光。当时我把原因归结为心理:我盯死了一只股票,带着报复心理交易。这些都没错。但我从来没有认真问过:这个想法本身到底有没有优势。

其实我离这个问题很近。同样在 2015 年,我们试着统计哪种跳空幅度最适合 Gap&Crap,而且正如我后来写到的,那时就已经很清楚,这个策略并不像人们说的那么美。2018 年我们统计了 NASDAQ 上的拉升行情,2003–2017 年共有 1311 次。2018 年底,我写道凭直觉交易是自欺欺人,并开始了一个关于“无聊的交易”的系列。

然后在 2019 年 11 月,我挂出了牌子:“Game over = Freedom”。别再拿交易的事来烦我了。

什么变了

我对市场的兴趣一直都在。变了的是我对待自己想法的方式。以前“有效”的意思是“我感觉有效”,再加上几张漂亮的截图。现在,我要求一个想法先经受住一次认真的“谋杀”尝试,然后我才会把它当回事。

这就是我们这个小型研究台的用途。分工很明确:一个负责把假设写成卡片,一个负责跑回测,一个审查员检查工作并给出结论,一个调度员维护登记表。每个想法都有一个编号。排在第一位的,自然是一位老熟人:H-001,Gap&Crap。

用大白话讲规则

做空一只大幅跳空高开的股票。只有在日内涨势开始出现裂痕、向下突破时才入场。止损设在当日最高价上方,收盘时离场。每只股票每天只尝试一次。我故意不写具体阈值:这个想法的一些变体仍在检验中,我不想把答案泄露给它们。

看数字之前,先说三个术语:

  • R 是以风险为单位的交易结果。每笔交易固定承担 $100 的风险,所以 +0.19 R 意味着平均每笔交易 +$19。这是回测,不是真实账户。
  • 留出期(held-out) 指在构建和检查规则期间没有人碰过的年份。这是一场不许带小抄的考试。
  • 95% 置信区间 是考虑到交易结果的噪声之后,“真实”平均值大概率所在的范围。如果区间包含零,就无法把这个策略和“什么都没有”区分开。

2019–2024:看起来不错

2019–2024 年共产生 1360 笔交易。在基础成本假设下(佣金、滑点、1% 的 locate 费用),均值为 0.1872 R,区间 [0.1343; 0.2411],胜率 63.75%,盈利因子 1.81。用真实报价、并加上 500 ms 执行延迟重新计算成本后,均值降到 0.1232 R。仍然为正。

失效标准在跑 2019–2024 之前就写好了:如果扣除成本后的结果不大于零,或者去掉最好的五笔交易后变成负数,这个假设就判定失效。在现实的成本假设下,2019–2024 年一条都没有触发。

说实话,这正是让人想开香槟的时刻。也正因为如此,才不能开。

我们自己在哪里栽了跟头

一个被烧掉的窗口。 我们在得出结论之前就跑了 2025–26,还用它来校准了成本。所以它已经不再是考试:我们看过它了。顺便说一句,那里其实早有警示信号:在 2025–26 年,最好的五笔交易占了全部利润的 106%。

一张事后写的卡片。 H-001 的卡片是在已经看过 2019–2024 之后才写的。它描述的是一个已有的策略,不是预注册,卡片里也明确写了这一点。真正没被碰过的,只剩下 2013–2018 年。

数据里的垃圾。 反向拆股会画出虚假的跳空,所以拆股过滤器不得不重做。权证混过了“只要普通股”的过滤器。还有一笔交易,在交易暂停之后,报价数据里出现了一个值为 1000 的占位卖价(ask)。止损就在那里“成交”了,回测显示单笔交易虚假亏损约 $111k。之后我们加了一个价格合理性过滤器。如果那个错误是对我们有利的,我们可能永远都不会发现。这比什么都让我害怕。

到底试了多少个变体。 交易规则本身从未改动,但我们尝试了不同的成本模型、执行假设、延迟和样本过滤条件。最早的结论写的是 1 个变体。给出结论时登记表写的是 13 个,审查员数出来是 18 个(如果把每种组合单独计算则是 33 个),而登记表现在写的是 35 个。所以取决于怎么数,在 18 到 35 之间。这很重要:看得越多,就越容易看到并不存在的东西。

考试:2013–2018

运行之前,审查员冻结了一切:规则、主要指标、成本和失败标准。文本被计算了哈希值,也就是得到了一个数字指纹,这样就没人能事后悄悄修改。只跑一次,不重跑,不微调。(有几次启动因为起始日期的 bug 在任何计算开始之前就崩溃了,没有产生任何交易。)

结果:

  • 230 笔交易,均值 0.0118 R,区间 [−0.1733; 0.1848]。零稳稳地落在区间之内。
  • 合计 +$272.24,但最好的五笔交易赚了 $1,483.79,是总额的 545%。去掉它们:−$1,211.55。
  • 按年份:2013 −0.1680,2014 −0.0249,2015 −0.3627,2016 +0.1448,2017 +0.1398,2018 +0.0278 R。

逐笔累计 R 图:2019–2024 的曲线升至 +166.4 R,留出期 2013–2018 的曲线最终在 +2.7 R 附近

逐笔累计 R:2019–2024(1,352 笔交易,与主要指标一致,剔除了 8 只非普通股)对比留出期 2013–2018(230 笔交易)。

四条标准中触发了两条:K2(去掉最好的五笔交易后为负)和 K4(区间下限低于零,且均值不到 2019–2024 结果的一半)。K1(合计不大于零)和 K3(均值不大于零)没有触发,因为从技术上讲还有一点点利润。但一份靠五笔交易撑着的利润不是优势。那是一张彩票。

2013–2018 年累计美元图:全部交易合计 $272.24,去掉最好的五笔交易为 −$1,211.55

留出期 2013–2018:全部交易合计 $272.24,去掉最好的五笔为 −$1,211.55。

结论:已失效(dead)。在 2019–2024 年发现的优势,在未动用的年份上没有站住。这并不能证明这个策略平均来说会亏钱,但也无法证实它能赚到任何钱。而这还是宽容的解读:成本是从 2025–26 年沿用过来的,而 2013–2018 年小盘股的价差很可能更宽,所以如果说有偏差,这个估计也是偏乐观的。作为对比,如果不做基于真实报价的成本调整,同样这些交易看起来会相当不错,大约 +0.15 R。“有效”和“无效”之间的全部差距,就是价差和延迟。手动交易的时候,我一次都没看到过这一点。

2013–2018 这个窗口现在已经用掉了,不能再作为干净的检验。

我从中得到了什么

2015 年的我,大概会想起几笔漂亮的空单,然后继续做这个形态。这一次,只用了一份带哈希的文件和一次运行,一夜之间就有了定论。无聊吗?非常无聊。无聊得要命,就像我曾经写过的那样。但这比用钱去学同样的教训便宜。

这个家族的一些变体仍在检验中,比如 H-003。它们会有自己的卡片、自己的标准,以及自己失效的机会。我会把它们都写出来,包括失效的。失效的大概会比存活的多。没关系。这就是这份工作。

“Game over”说的是从猜测中解脱。看起来,现在开始了一场新游戏,一场可以诚实地输掉的游戏。


来源

← 全部文章阅读英文版 →