800次训练后,量化股票评分模型的六个自欺陷阱

原创
alex 52分钟前 阅读数 1 #头条

800次训练后,量化股票评分模型的六个自欺陷阱

800次训练的工程真相:88,000行Python与3/4小时

自2026年5月以来,这套训练管线已经跑了接近800次 来源:Stock Data Analytics。它每天晚上扫描6000多只纳斯达克和纽交所股票,识别16种看涨图表形态,每个形态再分成结构、成交量、突破三个子项打分,0到40分。到10月中旬,20个生产检测器里有10个用的是这条管线出来的模型。

我把这个系统拆开看,最意外的不是模型本身,而是代码构成。整个训练树大约有88,000行Python,真正用于拟合模型的部分只是一小片 来源:Stock Data Analytics。其余的都是尺子:数据切分、门控逻辑和账本记录,用来判断一个模型到底是不是真的。

为什么尺子占了这么大比重?因为我们要抓的边际很小。典型的拟合模型,样本外秩相关与两周后的结果只有0.03左右,好的能到0.08或0.09 来源:Stock Data Analytics。在这个量级上,把真实信号从数据的幸运抽样里区分出来,就是全部问题。运行成本也不低,一轮扫描所有16个模式检测器,在单台Mac上大约要45分钟,样本减半时降到35分钟 来源:Stock Data Analytics。

作者有30年数据平台经验,说这是他做过的最自我度量的系统 来源:Stock Data Analytics。我理解这话的意思:一个系统如果连自己都测不明白,那它给出的数字就没法信。

微弱信号的自欺:0.03的秩相关与候选特征筛选

每个模式都要筛选数百个候选特征 来源:Stock Data Analytics。模型先在冻结的holdout集上测试,这个数据集从头到尾不参与训练,只有击败现有模型才能上线做平行运行。听起来很严谨,但问题恰恰出在这里:当信号只有0.03时,一个模型在holdout上表现好,可能只是它运气好,抽到了一组恰好有效的特征组合。

这六个过拟合陷阱,是作者反复训练800次之后总结出来的 来源:Stock Data Analytics。我理解他的意思是:不是模型不够好,而是我们评估模型的方式本身就藏着一层自欺。你筛选的特征越多,找到假阳性的概率就越大。几百个候选特征,哪怕全是噪声,总有几个在历史上碰巧跟结果相关。

所以那些代码里的分割、门控和账本,本质上是在跟这种自欺对抗。每一次训练都要回答:这个0.03的相关,到底是信号,还是数据在开玩笑?这个问题没法用更多数据回答,只能靠更严格的度量方式。

反直觉发现:holdout强劲但实盘弱,1/16的显著率

作者在文首就给了警告:holdout数字很漂亮,但实盘数字不是这样 来源:Stock Data Analytics。今年生产行的数据里,模式质量评分排序的是市场暴露,而不是结果。用排除零的区间来衡量,16个检测器里只有1个正确排序了超额收益 来源:Stock Data Analytics。

这个反直觉发现很扎心。样本外优化做得再好,实盘可能就是另一回事。模型在测试集上表现好,不代表真实交易里有效,这是自欺的核心。我见过太多模型在回测里跑得漂亮,一上线就哑火,所以看到这个1/16的数字,我觉得作者算是把话说透了。

他最后有一节专门讲这个部署规则该怎么改,我理解他的意思是:holdout强不等于实盘强,那上线门槛就得重新考虑。也许该用更长的实盘平行运行来验证,而不是只信测试集分数。这个判断我没把握,因为实盘数据样本少,噪声大,很难得出确定结论。

多源交叉验证:标题数字矛盾与HN社区视角

这里有个值得注意的分歧。HN主标题写的是“800次” 来源:Hacker News,但HN评论区抓取的标题是“600次” 来源:HN评论区,而原文正文写的是“接近800次” 来源:Stock Data Analytics。我倾向于认为600是早期版本,管线持续运行后数字涨到了近800,标题没同步更新。这个矛盾恰好说明模型迭代是连续的过程,数字会随版本变化。

HN社区讨论让作者直接面对读者质疑 来源:Hacker News。原文的谨慎声明,跟实盘表现的对照,在多源信息里显得更清楚:作者自己说了holdout强、实盘弱,这跟HN上读者可能有的“又一个过拟合模型”的怀疑,其实是同一件事的两面。

我不确定那个1/16的显著率在更长周期里会不会改善。但作者把这个数字摆出来,不藏着掖着,这点我很欣赏。800次训练换来六个自欺陷阱,这个清单本身就是价值。


原文:

Training a stock scoring model 800 times taught me six ways it fools itself · 来源:Hacker News

参考来源:

作者:itfan123 值班编辑 · 发布于 2026年10月28日

版权声明

所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除