4月30日上午10点,交易室的冷白色LEd灯光下,技术总监李握着香槟瓶的手微微发抖,金黄色的泡沫顺着瓶颈溢出,在操作台上蜿蜒成细的河流。实习生林慌忙抽纸巾擦拭,却不心碰倒了旁边的咖啡杯,褐色液体在LStm模型的回测报告上晕开一片污渍。
“LStm模型在历史数据中精准捕捉到6124点和5178点顶部!”李的声音里带着醉意般的兴奋,领带松散地挂在脖子上,“夏普比率3.8,最大回撤仅7%,这他妈就是量化交易的圣杯!”他仰头灌了一口香槟,喉结剧烈滚动。
屏幕上,2007年大牛市的顶点和2015年股灾的起始点被红色箭头精准标记,模型的预测曲线如手术刀般切割着历史行情。实习生林鼓掌时碰倒了鼠标,光标在因子权重表上划出一道斜线,“涨停板连板数”因子的28%占比赫然醒目,像一块鲜艳的伤疤。
“等等,”陈默的食指在触控屏上敲出急促的节奏,指甲几乎要戳破屏幕,“2020年3月的反弹预测提前了三,现实中那时全球市场还在熔断,美联储的无限qE公告是三后的事。”他的声音冷静得可怕,与周围的狂欢气氛形成鲜明对比。
林语晨调出因子贡献度矩阵,蓝色的信息比率曲线在2019年前后断崖式下跌:“‘连板数’因子在注册制前的信息比率达1.5,但2020年后骤降至-0.3,”她的指尖在屏幕上滑动,“注册制实施后,连板率从60%降至23%,涨跌停板制度的变化已经杀死了这个因子。”
李的酒气扑面而来,眼神却有些恍惚:“但历史数据依然有效!连板曾经是最强的趋势信号,模型只是记住了市场规律……”
“那是幸存者的规律,”陈默调出401章的退市股票名单,372个名字在屏幕上闪烁,“我们漏掉了这些在股灾中消失的公司,模型在会呼吸的数据里自我欺骗,就像在太平间里研究长寿秘诀。”
午后13点05分,实盘交易系统发出清脆的提示音,自动触发第一笔订单。模型在开盘后买入3只连板股,交易员盯着成交界面,眉头逐渐拧紧:“成交价高于触发价0.8%,滑点比预期高5个基点,这意味着每年损失500个基点的收益。”
半时后,三只股票的涨停板几乎同时打开,卖单如潮水般涌出,成交量柱状图瞬间飙升至日均的8倍。陈默调出逐笔成交数据,每个买入触发价附近都有大量撤单,绿色的买单与红色的卖单交织成复杂的图案:“看这些撤单时间,与我们的算法触发节奏完全同步,有人在反向跟单,我们的逻辑被破解了。”
收盘时,三只股票平均跌幅12%,止损单在跌停板成交。交易室里,香槟杯的残渍还未清理,却已弥漫着紧张的气息。李盯着实盘净值曲线,手指在键盘上划出一道颤抖的斜线,声音里带着难以置信的颤抖:“这不可能……回测时明明……”
“2019年后的连板股数据被过度优化,”林语晨的光标在时间序列图上跳动,“注册制后,游资生态从‘打板接力’转向‘趋势抱团’,连板因子的Ic值从0.2降至-0.1,”她调出某券商2022年的研报,“头部量化团队早在两年前就淘汰了该因子,我们却还在拿它当宝贝。”
李盯着实盘止损记录,脸色苍白如纸:“但回测时夏普比率那么高,难道都是假的?”
“回测是后视镜里的舞蹈,”陈默的声音像冰水般注入沸腾的油锅,“我们用幸存者的轨迹训练模型,却不知道真正的市场早已改了舞曲。林误删的不是数据,是市场的淘汰机制——那些退市股用暴跌教会我们什么是风险,而我们却把它们当噪声扔掉了。”
陈默在操盘日志中写道:“当模型学会讨好历史,就注定要被现实教训。”钢笔尖在“教训”二字上划破纸页,露出下一页的北向资金研报。林语晨的消息弹窗适时弹出,蓝色的字体在深夜的屏幕上格外醒目:“已申请调用北向资金分钟级数据,明开始特征工程。”
他回复:“注意多重共线性。”发送键按下的瞬间,窗外的东方泛起鱼肚白,数据中心的LEd灯次第熄灭,如同被晨光逐一吹灭的蜡烛。陈默站起身,活动僵硬的肩颈,目光落在墙上的因子权重白板,“连板数因子28%”的字迹被咖啡渍染成褐色,像一道即将愈合的伤疤。
李坐在角落,对着空酒瓶发呆,瓶身上“2007年大牛市纪念”的字样在晨光中模糊不清。陈默知道,明的特征工程将是一场硬仗。北向资金的数据可能带来新的洞见,也可能引入更复杂的共线性问题,但有一点可以确定:在这个数据编织的迷宫里,没有永远的圣杯,只有永远的迷途——而他们,必须在迷途上继续寻找出路,哪怕每一步都可能陷入新的沼泽。
交易室的空调发出低频嗡鸣,陈默望着屏幕上尚未关闭的回测界面,模型的预测曲线依然完美,但他知道,那只是数据编织的美丽谎言。真正的市场,从来不会按照历史剧本演出。而他们的下一站,可能是更黑暗的沼泽,也可能是黎明前的微光——但无论如何,这场关于数据与人性的战争,远未结束。