梦里下单
林一一第三次在凌晨3点33分被尿憋醒时,电脑屏幕还亮着。
她眯着眼爬起来,拖鞋在地板上划出懒洋洋的声响。宿舍是公司配的,就隔着一道玻璃墙,办公桌和床的距离不超过五米——这是公司引以为豪的”垂直生活”理念,说什么硅谷精英都这么住。林一一觉得这是资本家对狗窝的精美命名。
但此刻她没心思想这些。屏幕上的K线图像一条发光的蛇,在黑暗中扭动着。她扫了一眼模型评分,愣住了。
99.7%。
她的算法在刚才那一秒,对下一秒的走势判断准确率达到了99.7%。对于她这种做高频预测模型的来说,这个数字荒谬得像是同事在开玩笑。模型上线三个月,最好的成绩是73%,那已经够她拿着周报在晨会上炫耀三分钟了。
她揉了揉眼睛,盯着屏幕。3点33分01秒。评分回落到了71%。
她又等了一分钟。3点34分,71%。3点35分,70%。一切恢复正常。
林一一把这段数据标记下来,喝了口水,回去躺下。窗外的陆家嘴还在亮着,几十栋摩天大楼像一座座发光的墓碑,里面埋着跟她一样不肯睡觉的人。
她闭上眼睛,脑子里却全是那条发光的蛇。
林一一,28岁,985数学硕士,衍盛资本量化部唯一不穿西装上班的员工。
她的工位上堆着三本没叠完的衣服、一袋开封三天的辣条、以及一张她妈从老家寄来的符纸。符纸是保佑平安的,她妈李巧云女士每年寄一张,雷打不动。李巧云在苏北经营一家小面馆,招牌是青椒肉丝面,每天限量三十碗,卖完就关门,说”面是活的,过了那个时辰魂就散了”。
林一一每次想到这句话都觉得玄学,但不得不承认,她妈那碗面确实有点东西。
“你这孩子,整天吃外卖,脸上都不长肉。“李巧云的视频电话每周二准时打来,背景里永远有蒸笼的热气。
“妈,我在忙。”
“忙什么忙,你那个什么金——”
“量化投资。”
“哦,对,量——“李巧云像是在努力记住这个词,“就是数钱?”
“不是数钱,是——算了,差不多吧。”
“那挺好,数钱好。“李巧云露出满足的笑容,“数钱不累。”
林一一没告诉她妈,她的工作本质上是训练一个黑箱,让它学会从海量数据里找出规律,然后预测下一秒股票会涨还是跌。公司投了八个亿建这个模型,说是要”重新定义中国量化投资的格局”。林一一觉得这话有点像诈骗,但她还是认真做了——毕竟工资确实不低。
挂掉电话,她重新调出凌晨3点33分的数据。
她开始逐帧回放那个瞬间的所有输入变量:沪指、离岸人民币汇率、VIX恐慌指数、深圳成指、螺纹钢期货、甚至她公司楼下便利店的客流量——这是她自己的创新,把线下行为数据纳入模型,理论上能捕捉到”散户情绪”。
但所有指标在3点33分都没有异常。没有政策突发,没有黑天鹅,没有便利店里突然排起长队。
只有模型评分自己跳到了99.7%。
林一一在代码里搜”3:33”、“033”、“hocus”——什么都找不到。这个数字是随机出现的,没有任何人工干预。
她盯着那个时间戳看了很久。
然后她做了一件不太理性的事:她把模型的预测时间窗口从”下一秒”扩展到了”接下来三分钟”,设了个自动脚本,让它每小时跑一次,记录所有超过85%的评分节点。
下班前,她收到了第一批结果。
3:33,依然是最高峰。但还有另一个时间点也出现了异常:下午2点47分。
林一一查了一下2点47分的数据,什么也没有。
这更奇怪了。
她决定去便利店看看。
陆家嘴的这家便利熊是24小时的,林一一是常客,每天至少来一次,买咖啡或者饭团。店员是个瘦高的小伙子,姓周,话不多,但有一样让林一一印象很深——他每次找零的时候,会把硬币一个一个整齐地码在顾客手心里,而不是哗啦一下倒进去。
“小周,你们下午2点47分一般干嘛?“林一一装作随口问。
小周正在理货架,头也不抬:“吃饭,两点四十七正好换班。”
“换班的时候会发生什么特别的事吗?”
“吃饭啊。“小周终于转过头看了她一眼,“你问这个干嘛?”
“没,没什么。”
林一一买了杯冰美式,回去的路上接到了一条推送通知:
【衍盛资本内部邮件】 主题:关于”玄”模型V2.0上线的通知
各位同事,鉴于V1.0模型已稳定运行超过90天,现决定于本月15日进行重大版本更新。V2.0将引入”情绪因子”模块,理论上可进一步提升预测准确率10%-15%。请量化部于本周五前提交模型压缩包和技术文档。
附:本次更新已获得董事会战略委员会通过。
林一一看了邮件两遍。“情绪因子”这个词,她没在自己的代码里见过。
她走向隔壁工位,郑朋正在吃外卖,油光满面。
“老郑,那个情绪因子是你加的?”
郑朋是她的副手,比她大五岁,格子衫穿得像是第二层皮肤。“什么情绪因子?”
“邮件里说的,V2.0模块。”
“我不知道啊。“郑朋把筷子往碗里一插,“不是说你们量化部的事吗?”
林一一去找了技术总监老孟。老孟是个秃顶中年人,说话喜欢绕弯子,但今天他的回答异常直接:“一一啊,这个情绪因子是上面直接塞进来的,说是从某个高校实验室拿的授权,叫什么……共生预测算法。原理我们也不太懂,但据说很厉害,你就配合上线就行。”
“可是我不知道这个模块的底层逻辑,怎么做压力测试?”
“不用做。“老孟说,“委员会说了,这个模块是白盒,不需要测试。”
林一一从老孟办公室出来,在走廊站了一会儿。走廊的尽头是一面巨大的落地窗,外面是陆家嘴的天际线,永远灯火通明,像一张永不熄灭的脸。
白盒不需要测试。
这句话在她脑子里转了好几圈。
那天晚上,她没有等到凌晨3点33分。
她提前设好了监控脚本,然后去便利店买了两罐啤酒,坐在窗边喝。便利店里人不多,小周在收银台后面擦杯子,动作很慢。
“你不下班?“林一一问。
“两点才交班。”
“这么晚?”
“习惯了。“小周把杯子整齐地码在架子上,“夜里来买东西的人,都有点不一样。”
“哪里不一样?”
“说不上来。“小周想了想,“就是走路的姿势,踩着云的那种。不是真的踩云,是那种……很轻,像怕踩碎什么。”
林一一看了看窗外的写字楼,想了想那些加班到凌晨的人,觉得小周说得挺准。
2点47分到了。
她的手机震了一下。脚本发来了实时数据。
评分:88.6%。不高不低,但在往上走。
她看便利店的钟:2点47分整。
小周正在跟来接班的同事交接,两个人说话声音很轻,像是怕吵醒什么。林一一喝完最后一口啤酒,准备回宿舍看3点33分的数据。
就在她站起来的那一刻,便利店的灯闪了一下。
不是熄灭,是闪了一下。像是有什么东西从外面飞过,翅膀带起了一阵风。
林一一往窗外看。什么都没有。只有那些永远亮着的楼,永远不睡觉的灯。
但她的脚本弹了一条告警:
2:47:03,评分突破95%。
林一一盯着屏幕,心跳快了几拍。2点47分03秒,便利店的灯闪的那一秒。95%。不是下一秒,不是接下来三分钟——是精确到03秒。
她开始往回跑。
3点33分。
99.7%。
她把数据打印出来,铺满了整张床。三个通宵之后,她得出了一个自己也不太敢相信的结论:
模型的异常评分节点,跟上海凌晨的用电低谷曲线高度吻合。
上海电网每15分钟发布一次实时负荷数据,林一一把它们跟模型的评分节点叠加在一起,发现了一个惊人的规律——
每当上海的整体用电量降到当天最低点时,模型的预测评分就会飙升。最低点出现在凌晨3点15到3点45之间,而精确的峰值——3点33分——恰好是上海电网当天负荷的绝对最低值。
但奇怪的是,这不是简单的相关性。因为负荷数据根本没有被纳入模型的输入变量。
模型是怎么”感知”到电网负荷的?
林一一给在电网公司工作的同学打了个电话,那同学说:“负荷最低的时候,是凌晨三点多,那时候大部分人都在睡觉——但你知道吗,这两年有个奇怪的现象,上海的最低负荷出现的时间越来越晚了。以前是三点半左右,现在稳定在三点四十五。”
“为什么?”
“没人知道。有人说是因为外卖骑手多了,有人说是直播经济,但数据上对不上。就好像……”同学顿了顿,“就好像有人在那个时间点集体失眠似的。”
林一一挂掉电话,看了看窗外的陆家嘴。
失眠。她在备忘录里打下这两个字。
周五大促日,林一一被迫参加了模型上线的评审会。
郑朋、老孟、还有一个她从没见过的人——一个穿灰色套装的年轻女人,自我介绍叫方澜,说是董事会战略委员会派来的”项目观察员”。
“我们直接看演示吧。“方澜说,声音很平,没有任何起伏。
林一一打开PPT。模型跑起来,K线跳动。一切正常。
“切到情绪因子模块。“方澜说。
林一一愣了一下。“现在?”
“对,现在。”
林一一照做了。她不知道这个模块能跑出什么——毕竟她根本没见过它的代码。
屏幕上弹出一个新窗口。一个波形图,上面布满了密密麻麻的波峰和波谷。
“这是什么?“郑朋问。
“上海市实时情绪波动曲线。“方澜说,“基于对城市级数据的综合分析,包括电网负荷、移动支付行为、外卖订单节奏、社交媒体发帖频率等137个维度的特征融合。”
林一一盯着那些波峰和波谷。它们不是随机的。有些波峰高得离谱,尖锐得像一根根刺。
“3点33分,“方澜指向屏幕上一个最高点,“上海情绪波动达到当天峰值。这个时间点,全城有大约40万人处于浅睡眠状态,他们的脑波在同一个频段产生了共振——学术上叫’城市集体潜意识同步现象’。”
“这跟量化模型有什么关系?“林一一问。
方澜转向她,笑了笑。那个笑容让林一一想起了便利店的灯——亮着,但没有温度。
“林工,你的模型不是在预测股票走势。你的模型在预测那些失眠的人,会在下一秒把手机拿起来看行情。”
会议室里安静了几秒。
“所以,“林一一慢慢说,“这137个维度的数据,从哪来的?”
“衍盛资本的生态合作方。“方澜说,“包括三大运营商、三家外卖平台、以及——“她顿了顿,“上海市大数据中心。”
林一一想起了小周说的那句话:走路的姿势,踩着云的那种。
她低头看了看自己的手。有点发抖。
“这个模块,“她指着那个波形图,“能关掉吗?”
“为什么要关?“方澜反问,“它在帮你提升10%到15%的准确率。”
“准确率是高了,但——”
“但什么?”
林一一张了张嘴,又闭上了。
但什么?但她不想让自己的模型变成一个窥探城市失眠者的窃听器?但她不想让自己的工资里包含别人最脆弱时刻的脑波数据?
这些话,她没说出口。
评审会结束后,她没有回工位。她去了那家便利店。
凌晨的便利店像一个玻璃盒子,里面是暖光,外面是冷的钢铁森林。小周在理货架,动作很慢,很稳,像在做某种仪式。
“你们这儿,“林一一把咖啡放在柜台上,“夜里来买东西的人,一般都买什么?”
“关东煮,咖啡,烟。“小周说,“也有买酒的。”
“买酒的人多吗?”
“多。“小周把一个饭团摆正,“但有一种人,买酒的时候表情很奇怪。不是高兴,也不是难过,是那种……像在跟谁说再见。”
林一一想起自己建模时用的那些数据。每一个数据点,都曾经是一个睡不着觉的人。一个在凌晨三点半盯着手机屏幕的人。一个在看K线的时候,顺便也看了自己人生曲线的人。
“你说做梦的人,“她突然问,“踩着云的那种,他们梦见的是什么?”
小周抬起头看了她一眼。那个眼神让林一一有点意外——不是店员看顾客的眼神,是那种……同行之间交换情报的眼神。
“你怎么知道他们在做梦?”
“我猜的。”
小周把饭团摆回了原位。“以前有个老奶奶来买东西,每天凌晨三点多,买一包盐,说煮粥用。我后来才知道,她儿子在外地打工,一年回来一次。她每天那个点醒来,睡不着,就煮粥。”
“后来呢?”
“后来她儿子回来了,给她买了一套房,就在附近。但她还是每天那个点醒。“小周说,“她说,习惯了,睡不着的时候就想煮粥。”
林一一沉默了。
“所以你问他们梦见什么——“小周说,“我猜不是梦见赚大钱。”
“那梦见什么?”
“梦见有人敲门。“小周说完就去理货架了,留下林一一一个人站在收银台前。
第二天,她提了离职。
郑朋问她为什么,她没说实话。她说:“模型跑通了,我的人生也该换条线了。”
老孟说:“你的期权还有三个月成熟。”
“不要了。”
方澜没有出现。林一一也没有去找她。
她收拾东西的时候,在抽屉里发现了一张符纸——她妈寄来的,上面写着”平安”两个字。李巧云每年寄一张,她从来没用过,堆在抽屉里,积了薄薄一层灰。
她把符纸塞进口袋,退掉了工位。
走出公司大楼的时候,她回头看了一眼。衍盛资本占了十八层到三十二层,外墙是全玻璃的,在阳光下闪闪发亮,像一座水晶塔。塔里的灯永远亮着。
她走到便利店,想跟小周告别。小周正在给一个穿外卖骑手服的小伙子找零。零钱被一个一个整齐地码在小伙子手心里。
“零钱拿好。“小周说。
小伙子点点头,把零钱塞进口袋,拿起外卖,走了。
林一一在他身后看到了他的手机屏幕。是一张K线图。
“你以前问他们买酒的时候在想什么,“小周突然说,“我后来想明白了。”
“是什么?”
“他们不是在喝酒。他们是在等天亮。“小周说,“喝酒是借口,等天亮是真的。”
林一一站在便利店门口,外面的风有点凉。
“我要回老家了,“她说,“帮我妈煮面。”
小周点了点头,没有问她为什么,也没有挽留。只是从柜台下面拿出了一个干净的纸袋,里面装了两个饭团。
“路上吃。”
林一一接过纸袋,手指碰到小周的手心。干燥,温暖,有茧子。
“谢谢。”
“不客气。“小周说,“下次来,给你包饺子。”
林一一笑了一下,转身走进了夜色里。
她在老家待了一个月。
李巧云的面馆还在,每天限量三十碗。林一一每天早上五点起来帮她揉面,面粉沾在手上,白白的,像一层薄雪。
“妈,你为什么每年都给我寄符纸?”
“怕你吓着。“李巧云头也不抬。
“我又不是小孩子。”
“在妈眼里,你永远是小孩子。“李巧云把面团摔在案板上,“再说了,那符是我奶奶传的,能镇梦。”
“镇什么梦?”
李巧云停下了手里的动作。“你小时候,总在凌晨三点多醒。我抱着你,你就睁着眼看天花板,跟我说,‘妈,窗外有人在数钱’。”
林一一沉默了。
“我奶奶说,小孩子能看见大人看不见的东西。“李巧云把面拉成细丝,“你看见的那些,大概就是城市里别人不愿意做的梦。”
“那符纸有用吗?”
“不知道。“李巧云把面下了锅,“但你长大了,没再那么说了。所以大概是有用的。”
林一一看着锅里翻滚的水,面条在沸腾的水里翻腾,像一条条白色的蛇。
“妈,我想问你一件事。”
“问。”
“你每天那个点醒,睡不着的时候,在想什么?”
李巧云没有回答。她把面捞出来,浇上青椒肉丝,端到林一一面前。
“先吃面。“她说,“凉了不好吃。”
林一一低头吃面。青椒很脆,肉丝很嫩,面条很滑,汤很鲜。她吃得很慢,一根一根地吃,像小时候那样。
李巧云在柜台后面擦桌子,没有再说话。
窗外,天快亮了。凌晨三点多的苏北小镇,没有路灯的地方伸手不见五指。但远处有人家的灯亮了,是早起的农户,开始一天的劳作。
林一一放下筷子,看着那盏灯。
“妈,“她说,“我看见的那些,大概也是别人不愿意做的梦吧。”
李巧云停下手里的动作,看了看她。
“那你以后,还看吗?”
林一一想了想。
“不看了。“她说,“我以后,就帮别人煮面。”
李巧云点了点头,又回去擦桌子了。动作很慢,很稳,像是在做某种仪式。
林一一低下头,继续吃面。
凌晨四点二十分,天边有了一点亮光。很淡,像一滴墨水洇开。但确实是亮光。
城市里的灯永远不会灭。但小镇不一样。小镇的灯会在天亮的时候自动熄灭,像一群完成了使命的萤火虫。
林一一把碗里的汤喝完,站起来。
“妈,我来洗碗。”
“好。”
她走到水池边,打开水龙头。冷水冲在碗上,有点凉,但她没有缩手。
她想起那条K线,那条像蛇一样扭动的线。也想起小周把硬币一个一个码在别人手心里的动作。
数据是冷的。但握数据的手是热的。
她把碗洗干净,整整齐齐地摞在架子上。
窗外,天亮了。
【完】