研究文章
N / 260825

一个规则最近表现很好,我为什么没有把它放进 Polymarket Bot?

Polymarket Bot 策略研究最危险的时刻,往往是一个新规则刚好修复最近亏损的时候。本文用一次真实的被拒绝候选,讲我们如何避免把近期答案写进策略。

最近一段表现变差时,研究者最容易做的一件事是:

打开亏损样本,找出共同点,然后加一个规则把它们过滤掉。

这件事几乎一定能改善最近的回测。

也正因为如此,它很危险。

我们最近的策略研究里,就出现过一个这样的候选。

最后没有上线。

我觉得“为什么没上”比这个规则本身是什么更值得写。


事情是怎么开始的

短周期策略不可能每天都稳定。

某一段时间出现胜率下降、连续亏损增加,或者某类基础候选明显偏弱,并不奇怪。

但研究者看到一串亏损后,很自然会开始问:

这些亏损有没有共同结构?

然后你会找到一些东西。

市场状态、波动变化、方向一致性、局部成交结构……任何足够大的数据集里,都能挖到看起来有意义的模式。

问题不是“能不能找到”。

问题是:

这个模式在你不知道未来答案时,还会不会成立?


第一步:把“修复最近亏损”改成一个可证伪假设

我们没有把目标定义成:

找一个过滤器,让最近结果变好。

而是换成:

某一类近期弱势,是否反映了一个在更长历史中重复出现、并且可以被稳定识别的市场状态?

这两个目标非常不同。

第一个目标天然会追着最近的亏损跑。

第二个目标要求这个现象必须在其他时间也留下证据。


第二步:最近改善不能作为通过标准

新候选在局部窗口里确实可能看起来不错。

但局部改善只证明:

它解释了我们已经看到的这批样本。

所以后面必须继续问:

  • 更早历史有没有类似现象?
  • 不同年份是否还能命中?
  • 作用是不是集中在极少数样本?
  • 放回完整策略后,最大回撤如何?
  • 最长连续亏损如何?
  • 最差周或最差月是否真的改善?
  • 参数轻微移动后,方向是否还在?
  • 如果只允许使用过去数据做选择,结果还成立吗?

如果这些问题答得不好,最近窗口再漂亮也没有意义。


第三步:不要让一个小规则破坏完整系统

这是复杂策略里一个容易忽略的问题。

一个局部候选可能在自己的命中样本里非常好。

但把它加入完整策略后,会改变:

  • 哪些交易被执行;
  • 哪些交易被 STOP;
  • 某些内部状态后续如何推进;
  • 不同规则之间的优先关系;
  • 整个策略的时间路径。

所以不能只做:

候选命中的少量事件
before vs after

还要做:

完整策略
before vs after

我们真正关心的是后者。


第四步:看回撤和连亏,而不是只看增量

一个新过滤器的历史增量很好看时,很容易产生确认偏误。

但如果它同时让:

  • 最大回撤更差;
  • 连续亏损更长;
  • 某些年份表现更脆弱;

我不会把它当成明显升级。

稳定量化的核心经常不是:

让平均值再高一点。

而是:

不要为了局部平均值,把尾部风险变得更难承受。


第五步:检查“这个想法是不是最近数据教给我的”

这是最难的一步。

即使你把最后几天从阈值选择里排除,也要问:

我为什么会想到这个特征?

如果答案是:

因为我刚刚看到了这几天的亏损。

那这段近期数据已经影响了研究方向。

这不意味着候选一定无效。

但它意味着我们应该降低对“近期验证”的信心。

这也是为什么:

参数没有用最后几天选择

和:

整个研究方向完全没有受最后几天影响

是两种不同的声明。


最后的决定:不进入生产版本

这次候选最终没有通过完整策略的回撤、连续亏损和历史选择等验收要求。

所以结论很简单:

不上线。

没有继续为了让它“通过”而调更多参数。

这可能是量化研究里最难培养的习惯之一:

当一个想法离成功只差一点点时,仍然允许它死掉。

因为只要继续增加一个条件、移动一个阈值、换一个窗口,几乎总能找到更好看的历史结果。

问题是,那之后你研究的还是市场吗?

还是已经开始研究这份历史数据本身?


为什么我要公开这种“失败”

如果博客只写:

  • 新策略上线;
  • 胜率提升;
  • 回撤改善;
  • 又找到一个 edge;

读者很难判断我们是在研究,还是在做产品宣传。

真实的研究过程应该同时存在:

发现
验证
保留

和:

发现
验证
否定

被否定的规则可以证明一件事:

研究目标不是让回测曲线永远向上。

而是提高我们对策略为什么有效、为什么失效的理解。


为什么这里不会公开参数

这里不会出现:

  • 规则具体公式;
  • 哪个内部信号分支;
  • 精确历史窗口;
  • 阈值;
  • 具体触发边界;
  • 可直接反推策略的逐笔样本。

这些属于策略知识产权。

但研究过程可以公开:

一个候选如何从“最近看起来有效”,一步步走到“最终被拒绝”。

我认为这种透明度,比公开一堆参数更能建立信任。


我现在更喜欢的研究问题

以前容易问:

这个规则能让回测增加多少?

现在我更愿意问:

如果这个规则是假的,我们用什么方法最快把它否掉?

这两个问题会产生完全不同的研究文化。

前者容易不断累加规则。

后者会不断减少没有足够证据的规则。

对一个长期自动运行的 Polymarket Bot 来说,我更希望系统是后者。


相关阅读:

项目:

Polymarket BTC 5m Bot

本文只讨论研究方法和高层逻辑,不公开具体策略公式、阈值、窗口、内部规则映射或可用于复现策略的参数。