找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

3839

积分

0

好友

496

主题
发表于 昨天 21:10 | 查看: 2| 回复: 0

这里是《alphaFind》。

很多做量化的朋友,尤其是刚从互联网大厂转行来搞 机器学习 炒股的炼丹师,一定经历过这种绝望:

辛辛苦苦搭了个 Transformer 模型,跑了几天几夜,测试集上的预测误差(Loss)终于降到了全宇宙最低。你满心欢喜地把信号扔进回测系统,结果实盘一跑——净值曲线直接跳水,滑点和手续费把利润吃得骨头都不剩。很多人把这归咎于因子失效或者市场风格切换。

为什么在实验室里霸榜的模型,到了实盘却成了“散财童子”?

最近,MIT 和普林斯顿联合发表了一篇名为《The Optimizer as an Implicit Prior in Financial Time Series》的硬核论文,直接撕开了这层遮羞布。它告诉我们一个残酷的真相:在金融市场里,评价一个模型好不好,看预测准确率纯属自欺欺人。

1. 殊途同归的假象:你在赚什么钱?

在传统的图像识别里,识别猫就是猫,准确率 99% 就是厉害。但在金融时间序列这种极度嘈杂、信噪比极低的环境下,情况完全不同。

论文针对标普 500 股票的波动率预测进行了一场大规模实验。他们发现了一个极其反直觉的现象:预测等效性(Predictive Equivalence)

你用最简单的多层感知机(MLP),或者最复杂的 Transformer,分别配上 SGD(随机梯度下降)或者 Adam 优化器,跑出来的样本外测试集 Loss 竟然是一模一样的!

如果只看排行榜,你会觉得这些模型没区别。但论文把这些模型放到真实的“波动率排序投资组合”中去跑回测,漏洞出现了:在夏普比率几乎相同的情况下,不同优化器训练出来的模型,其实盘换手率(Turnover)相差高达 3 倍!

这意味着什么?意味着你以为你在进行高大上的 Alpha挖掘,但实际上,你的模型底层因为选错了优化器,正在疯狂地进行微观结构上的无效高频摩擦。

2. 优化器:暗中操盘的“影子交易员”

既然 Loss 看不出区别,那区别在哪?核心在于你选的优化器(Optimizer)

很多量化工程师在炼丹时,对优化器的选择往往是随大流:默认用 Adam,或者随便切个 SGD。但论文指出,优化器不是一个无情的“算题工具”,它是一个暗中自带交易风格的“影子基金经理”

打个生活中的比方:假设你是老板,要雇人去菜市场买菜,目标是“每天花 100 块钱,买到 10 斤肉”(这叫 Loss 相同,目标达成)。

  • 员工 A(对应 SGD 优化器):是个老实巴交的笨大叔。他每天早上慢悠悠走到固定的肉摊,一刀切下 10 斤肉,付钱走人。他的决策逻辑简单,交易频率极低,换手率低。
  • 员工 B(对应 Adam 等自适应优化器):是个极其精明、对价格极度敏感的小伙子。他为了凑齐这 10 斤肉,在整个菜市场 50 个摊位之间疯狂穿梭,对比每一毛钱的差价,跟大妈砍价,甚至利用了摊主去上厕所的时间差。他的决策逻辑极其复杂非线性,交易频率极高,换手率极高。

在老板(评价指标 Loss)眼里,这俩人业绩一样。但如果你要为他们的“步数”付车马费(交易成本和滑点),员工 B 绝对会让你破产。

在金融数据里,Adam 这种高级优化器会利用复杂的非线性逻辑去“拟合”噪音,导致它对市场微小的波动极其敏感(稍微有点风吹草动就调仓);而 SGD 因为比较“笨”,反而停留在平坦、简单的解里,表现出极好的实盘稳定性。

3. 实盘老炮的找茬:你算过真实的冲击成本吗?

作为天天在市场里摸爬滚打的量化老炮,看到这篇论文,我最大的感慨是:理论很丰满,现实很骨感。

这篇论文在学术上是神作,但在实盘 Quant 眼里,它更像是一个警钟。如果在硬核量化圈里讨论,同行们吐槽最狠的一点绝对是:把换手率当成线性成本,是学术界最大的天真。

在真实的订单簿里,你频繁调仓不是按固定比例交手续费的。高换手意味着你要不断去主动吃单,你的资金量一旦大一点,就会产生严重的冲击成本(Market Impact)。Adam 那种神经质的调仓频率,根本不需要等到月底,第一天就会因为滑点把净值打穿。

顺便提一句,论文里预测的目标是 Garman-Klass 波动率,全篇最核心的公式长这样:

$$\sigma^2_{GK} = \frac{1}{2}\left(\ln \frac{H}{L}\right)^2 - (2\ln 2 - 1)\left(\ln \frac{C}{O}\right)^2$$

(大白话解释:H 是最高价,L 是最低价,C 是收盘价,O 是开盘价。这个公式就是用每天的这四个价格,来估算今天这只股票上蹿下跳得有多厉害)。

但在真实的交易世界里,这种日线级别的理论指标,根本处理不了美股最致命的隔夜跳空。你用最前沿的模型,去预测一个连隔夜跳空都处理不了的指标,最后发现是优化器导致了差异。这就像用洲际导弹去打一只蚊子,最后发现导弹的制导系统轨迹不一样。你在拟合一个理论上的幽灵,而不是真实的交易利润。

4. 给数据分析师和交易者的降维启发

云栈社区https://YunPan.Plus ) 的日常讨论中,我们一直强调:从因子到策略,陪你走完最后一毫秒。这最后一毫秒的微观结构博弈,拼的绝不是谁的 Loss 低了小数点后四位。

这篇论文给了我们三个极其通透的启发:

  1. 放弃对“预测准确率”的单一迷信。在金融市场,准确率是一个伪命题。评价一个量化模型,必须把“预测误差”和“决策后果(换手率、最大回撤、交易容量)”结合起来看。
  2. 警惕你代码里的 import Adam。99% 的人默认无脑使用 Adam 优化器。但在噪音极大的市场里,“笨”一点的 SGD 往往能给你带来更丝滑、更抗造的净值曲线。
  3. 金融机器学习的尽头,是“选择你想要的偏见”。既然大家预测得都一样准,那模型选择的本质就不再是“谁更准”,而是“谁的交易逻辑更符合你的资金体量”。大资金、高手续费环境,就该人为选择那些“迟钝、长周期、低换手”的模型;小资金、高频环境,再去玩 Adam 搞出来的非线性微操。

总结

不要让实验室里的“完美 Loss”,成为现实镰刀下的“完美韭菜”。放下对学术指标的迷信,对市场的摩擦成本保持敬畏,才是活下去的关键。大家如果对底层代码实现感兴趣,也可以来我们的 开发者广场 深入交流。


参考资料

标签:#TheOptimizerAsPrior #云栈社区 #量化交易 #Alpha挖掘 #机器学习炒股 #因子失效 #量化回测 #微观结构 #夏普比率

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-3-14 00:07 , Processed in 0.387440 second(s), 38 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表