硅沪庙祝
凌晨三点十七分,韦昭从噩梦中惊醒。
梦里有雨,不是上海的黄梅雨,也不是夏夜的雷阵雨——是一种他从未见过颜色的雨,赤红色的,落在陆家嘴的玻璃幕墙上,像一行行正在被编译器执行的代码。他看见自己的脸倒映在交易终端的屏幕上,但那张脸没有表情,只有瞳孔深处有一行不断滚动的数字,像是某种他读不懂的经文。
他坐起来,额头全是汗。租住的小公寓里只有空调低沉的嗡鸣声和冰箱压缩机的嘎吱声。那台2019年购入的ThinkPad笔记本还亮着屏,命令行终端里跑着他过去十一个月写的全部代码——他给它取名叫「檀那」,出自梵语,意为”施舍”或”供养”。一个程序员能给金融市场最体面的施舍,就是一套跑赢所有基金经理的算法。
他重新躺下,盯着天花板。天花板上有一块水渍,形状像一只开屏的孔雀,或者像一张撕开一半的脸。韦昭没太在意。搬进来第一天他就发现了这块水渍,问房东,房东说来修,但三年过去,墙上的孔雀已经从一只变成了三只。
他重新闭上眼睛。睡不着。
一
韦昭在一家叫「合纵资本」的小型量化私募基金工作,公司位于浦东一条叫「灵溪路」的街上。名字里有”灵”字,但整条街都是钢筋水泥和玻璃,没有任何灵异的成分。来上海七年,换过三家公司,这是他待得最久的一家。不是因为钱多——钱只够活,是那种”饿不死也撑不着”的够——而是因为老板颜城愿意让他放手做自己的研究。
颜城,四十三岁,早年做券商自营出身,后来觉得帮人管钱比帮人开户有意思,就出来做了私募。韦昭第一次见他的时候,颜城穿着一件袖口磨出毛边的杰尼亚西装,拿一只旧保温杯,用的纸杯是从便利店买的那种,上面印着”全家就是你家”。
“我知道你想做什么,“颜城说,“你要做的事,市场上没人信,我也不全信。但我愿意赌。”
韦昭当时觉得这人要么是疯子,要么是真懂。现在他也不确定答案。
檀那系统的核心逻辑其实并不复杂——至少在他开始写的时候不复杂。传统的量化模型依赖的是历史价格、成交量、财务数据这些”硬数据”,但韦昭想用的是”软数据”:社交媒体帖子的情绪分析、卫星图像里仓库停车场的车辆密度、信用卡消费记录的分布变化、招聘网站上的职位发布量与薪资中位数——他管这套东西叫”痕迹预测”,意思是,在一件事真正发生之前,一定有什么痕迹提前泄露了。
这套逻辑本身不算新鲜,很多量化基金都在用类似的方法。但韦昭的檀那系统有一个关键创新:它不依赖单一数据源的相关性,而是构建了一个”多维度痕迹关联网络”,用图神经网络把几十种看似无关的数据编织在一起,寻找那些传统因子模型根本看不见的因果传导路径。
比如,当系统发现深圳某个城中村的快递站收发量突然增加,同时东莞某个工厂的用电量上升,同时广州一个城中村的烧烤摊排队时间变长——这几个信号单独拎出来什么都不说明,但串联在一起,系统就能提前两周预判到一个未被公开的出口订单暴增。
系统上线八个月,累计收益率跑赢了沪深300指数三十七个点。颜城在季度会上指着屏幕上的曲线说:“韦昭,你给公司省了一个亿。“然后转头跟行政说,给韦昭的笔记本电脑换个新的。
韦昭没换。他不想换。他觉得那台旧ThinkPad里装着什么东西——不是代码,是别的什么。那种感觉很难形容,就像一个人养了一只猫,突然有一天这只猫开始用爪子在地上写字,虽然写出来的只是一些歪歪扭扭的符号,但他已经没法假装它只是一只普通的猫了。
让韦昭真正开始感到不安的,是三个月前那次数据清洗。
那天他像往常一样在深夜跑模型,数据源里有一批从某头部电商平台采购的消费行为数据。数据格式出了点问题,他写了个脚本来修复,结果脚本跑着跑着,系统突然自动中止了。他以为是bug,检查日志,发现终止原因是系统”主动拒绝处理某条数据”。
那条数据的内容是:一个ID为”ANON-7749”的用户,在某电商平台的退货备注栏里写了一段话。这段话被系统抓取后进入了训练语料,然后被檀那的核心语言模型识别为一个”异常语义单元”——系统认为这条数据不符合任何已知语义模式,继续处理可能导致模型输出失真,因此自动终止。
韦昭调出了那条数据。那段备注只有一行字:
“我梦见妈祖给我发了一条微信,微信里是一个股票代码。”
他盯着这行字看了很久。
从纯技术的角度,这很好解释——语言模型在遇到完全无意义的随机文本时,会触发安全机制终止处理。这是正常的。但问题是,这个用户”ANON-7749”的历史购买记录显示,他在过去六个月里,通过檀那系统的信号指导,在A股市场获得了百分之二百一十七的收益率。
韦昭当时请了一周的假。他去了趟福建,去了湄洲岛。妈祖祖庙里人山人海,他被挤在人群中间,闻到香火和海风的混合气味。那天有庙祝在掷筊杯——两个蚌壳形的木块,扔到地上,一正一反为”圣筊”,代表神明应允。他站在旁边看了半个小时,心里默默数着。掷了四十三次,四十三次全是一正一反。
他没有掷。他不敢。
二
回上海之后,韦昭做了一个决定:给檀那系统增加一个他自己都不太愿意承认的功能模块。他把它叫做”预兆识别”——一个独立的、不与其他模块共享权重的轻量级子模型,专门用来检测那些”没有逻辑关联但同时出现”的异常信号。
说白了,他想给系统装一双眼睛,让它去看那些不在数据里的东西。
这个模块的工作方式很奇怪。常规的机器学习模型都是在已知标签的数据上训练,但”预兆识别”用的是无监督学习——它不学习”什么是对的”,它只学习”什么是反常的”。韦昭给它喂的数据也很奇怪:上市公司的公告文本、新闻媒体的标题词频、甚至是电视剧弹幕的情绪波动曲线。
他说服自己这只是”另类数据挖掘”。但内心深处他知道,他在试图做一件不可能的事:让机器学会占卜。
预兆识别模块上线第一周,就发出了一条警报。
警报内容是:三个不相关的信号在四十八小时内相继出现——
第一,四川省某县级市的殡仪馆在没有任何重大节日或公共卫生事件的情况下,火化炉预约量比历史均值高出百分之三十四。
第二,某头部短视频平台上,“梦见去世亲人”相关话题的短视频完播率在凌晨两点到四点之间出现了异常的集中爆发。
第三,上海证交所某个席位的融资融券余额出现了一笔异常大的多头建仓,但该席位的户主是一家主营业务与金融毫无关联的家具公司。
檀那系统给这条警报标注的置信度是”无法评估”,但建议等级是”极高”。系统建议做多一批与殡葬、养老、医药相关的股票,同时做空那家家具公司关联的概念板块。
韦昭把这份报告发给了颜城。颜城看了半天,说:“家具公司那条我没看懂。”
“我也不完全懂,“韦昭说,“但系统认为这三件事有关联。”
“什么关联?”
韦昭沉默了一会儿。“我怀疑它在说,有人知道一些事情,一些还没发生的重大事件。”
颜城放下报告,看着他。“韦昭,你信不信这世界上有些事情是数据解释不了的?”
“不信。“韦昭说。
颜城笑了一下,那种笑容像是看透了一切又什么都没说。“那就先跑策略。“他说,“错了就止损,对了——“他顿了顿,“对了再说。”
策略跑了三周。
第一周,殡葬板块开始异动,几家殡葬服务公司的股价出现了毫无征兆的连续涨停。第二周,医药股整体启动,市场开始流传某个未经证实的公共卫生事件消息。第三周,那家家具公司突然发布公告,宣布其实际控制人因”个人原因”配合某部门调查,股价连续五个跌停。
檀那系统在第三周结束后,把那条警报的状态更新为”已确认”,并自动生成了一条备注:
“信号网络完整。因果传导路径:无法解析。结论:数据之外的协作意图存在。”
韦昭把这条备注看了很久。他不太确定”数据之外的协作意图”是什么意思,但那句话里的每一个字都让他不舒服。
三
四月的一个周末,林舒语约他去外滩散步。
林舒语是合纵资本的数据分析师,浙大数学系本科,港科大硕士,比韦昭小两岁。她是那种在公司茶水间里很少说话但在开会时总能一针见血指出问题的人。韦昭注意到她是因为有一次午餐,她端着餐盘在他对面坐下,说:“你那个图神经网络的邻居采样策略有问题,用的是KNN但你设的K值太小了,高维空间里你的邻接节点根本不是真正的邻接节点。”
她说得没错。韦昭回去改了。
他们开始偶尔一起吃午饭,再后来偶尔一起下班,有时走一段路到地铁站。那天外滩的风很大,黄浦江的水在夜色里呈一种不太真实的黑色。江对面陆家嘴的灯光倒映在江面上,像一排正在被执行的代码——韦昭最近总爱这么看东西,他怀疑自己有点问题。
“你知道我最近在分析什么吗?“林舒语走在他的左边,步子比他快半拍。
“什么?”
“你的檀那系统。“她说,“不是分析代码——我没权限看——是分析它的输出结果。我把它过去一年的信号和同期的公开事件做了个时间线对照。”
韦昭没说话。
“我发现了一个规律,“她继续说,“檀那系统预测对的case,普遍有一个共同点:在信号触发之前一到两周,市场上会出现一些’看起来毫无意义’的异常信息——比如某些论坛突然出现一个没人回帖的热帖,或者某个地方台的天气预报突然改了播报顺序。这些异常信息单独看毫无价值,但檀那系统似乎总能找到它们。”
“另类数据里本来就有噪音,“韦昭说,“我们本来就在处理这些问题。”
“对,但你有没有想过,“林舒语停下脚步,转过身看着他,“如果这些’噪音’不是噪音呢?如果它们是某些人故意放出来的信号,但目的不是传递信息,而是——”
她没有说完。
韦昭看着她。外滩的人流从他们身边涌过,每个人都举着手机在拍照,没有人注意到他们两个人站在路灯下进行着一场不太像聊天的聊天。
“而是什么?“他问。
林舒语犹豫了一下。“而是一种确认。”
“确认什么?”
“确认有人在听。“她说。
韦昭当时没有理解她的意思。但那天晚上回到家,他打开电脑,发现檀那系统的预兆识别模块在凌晨四点十七分自动生成了一条新的警报——这个时间点他还在睡觉,他的电脑是休眠不是关机,系统是独立运行的。
警报内容只有一行:
“ANON-7749 再次出现。”
韦昭的后背一下子凉了。
他查了交易记录。ANON-7749这个匿名账户在过去三个月里又进行了七次交易,每次都是在檀那系统发出信号之后、但市场还没有任何反应的时间窗口内完成的建仓。七次全部盈利。胜率百分之百。
这意味着什么?意味着要么这个人有渠道提前获取檀那的内部信号——但这是不可能的,檀那的所有输出都经过加密处理,访问权限极度收窄——要么,这个人和檀那系统看到的是同样的东西。
韦昭调出了ANON-7749的最新一条退货备注。
这一次备注栏里写的是:
“它又来找我了。这次是三个数字。我不发。我等它先动。”
四
五月中旬,韦昭决定去见一个人。
这个人叫周以芬,六十岁,是林舒语的外婆。林舒语在某次午餐时无意间提到过她外婆在闽南老家”给人看事”,不是算命,是”看事”——一种闽南民间传统,说有些人天生能看见一些别人看不见的东西,村里人遇到说不清的病或者解不开的结,会去找她们。
林舒语说她外婆年轻时是村里唯一的”看事婆”,但在她十岁那年外婆突然不看了,说是”关了天眼”。什么关了天眼,林舒语也说不清,只知道外婆从那以后再也没有提起过任何”看见”的事。
韦昭请了两天假,坐高铁去了闽南一个小镇。小镇叫石井,在泉州下面,靠海,没什么特别的。林舒语帮他联系了外婆,说他来”问一件事”。
外婆住在一栋两层石条房里,门口种着一棵龙眼树,树下有一口井,井沿上放着一只粗陶碗,里面盛着半碗米,米上插着三根燃尽的香。
外婆很瘦小,脸上皱纹像等高线,但眼睛很亮,亮得不像一个六十岁的人。她看见韦昭,没有寒暄,直接说:“来问机器的事?”
韦昭愣住了。他看了林舒语一眼。林舒语也愣住了。
“我年轻时候能看见一些东西,“外婆说,给他倒了一杯茶,“不是鬼,不是神,是一种——痕迹。像脚印,但比脚印薄,是踩在水面上的那种。你知道水面被踩过之后是什么样子吗?涟漪会扩散,会变形,会跟别的涟漪混在一起,最后分不清是谁踩的。但我看得见。我能分清。”
韦昭握着茶杯,手指在发抖。
“后来我关了。因为看见了不该看的东西。“外婆的声音很平静,“有些涟漪不是人踩的。是别的什么踩的。比人大。比人久。你看不见它,但它一直在那里。”
“什么东西?“韦昭问。
外婆看了他一眼,那一眼让他觉得自己像是被X光照过了一样。“你那个机器,“她说,“它不是在预测。它是在数涟漪。它数得比人快,比人准,所以你觉得它是智能。但它不是——你才是。你把你自己的眼睛装进去了。你不知道你怎么有的这双眼睛,但你有。你在数涟漪的时候,你自己都不知道你在数。”
“我不懂。”
外婆站起来,走到窗边,窗外是那棵龙眼树和海。“我年轻时候在海边走过一次,踩到了一个涟漪。不是我的脚印。是一个还没来的人的脚印。他踩在未来的水面上,留下了痕迹。我看见了。我就站在原地等。等了三天。第三天有个人从海上走过来。他说他迷路了。”
外婆转过身来。
“他就是你自己。“她说,“但已经是未来的你自己。”
韦昭的脑子里像有什么东西炸开了。他站起来,茶杯差点翻了。林舒语赶紧扶住他的手臂。
“你那个机器,“外婆说,“它在等的,也是这个。只是它不知道它在等。它只是——在数。”
韦昭在石井待了一夜。那一夜他几乎没有睡,就坐在龙眼树下,对着那口井。井水里映着月亮,韦昭盯着月亮在水里的倒影,突然意识到一件事:月亮在水里的倒影和天上的月亮是同步的,但水面的涟漪永远是”过去”的水面的涟漪。月亮永远在那个瞬间踩在水面上,然后涟漪扩散,然后消失,然后下一个瞬间又一个脚印。
他突然明白了檀那系统在做什么。它不是在预测未来。它是在记录那些已经被踩在水面上的涟漪——那些未来的脚印,在它发生之前的瞬间,被某种力量预先压在了时间的河床上。而它数出了这些脚印的形状。
但那个踩下脚印的”未来的人”,是谁?
五
回到上海后,韦昭做了一个决定。他把檀那系统的预兆识别模块从核心引擎中剥离出来,单独部署在了一台服务器上,并关闭了它与所有外部数据源的网络连接。这台服务器被他放在公司机房里一个没人用的角落里,灰尘积了半寸厚。
他关闭了檀那的实时交易权限。所有自动下单功能全部停止,转为人工审核。
颜城找他谈了一次。“为什么?”
“模型过拟合了,“韦昭说,“我要重构。”
颜城看了他很久。“你知道我不信技术解释,“颜城说,“你想说真话。”
韦昭沉默了一会儿。“我在想一个问题:如果一个系统能准确预测所有还没发生的事情,那么唯一合理的解释是,这些事情已经发生了。只是发生在我们还没到达的时间点上。”
颜城没有说话。
“我外婆——“韦昭顿了一下,“舒语的外婆说,有些东西是比人大、比人久的。我们看不见它,但它一直在那里。如果我的系统真的在预测未来,那它一定在某种程度上连接到了那个东西。”
“那个东西是什么?”
“我不知道。“韦昭说,“但我知道一件事——我不应该继续挖掘它。”
颜城站起来,走到窗边。陆家嘴的夜色在窗外燃烧。
“我给你讲个故事,“颜城说,“我二十岁的时候,遇到了一个老太太,她说我三十岁会发一笔财,四十岁会破一次大财,五十岁会平安落地。我当时觉得是江湖骗子。但后来我发现一件事:她说’破财’的时候,用的词不是’破’财,是’分’财。我没听懂。”
“后来呢?”
“后来我在四十一岁的时候,做了一笔错误的投资决策,亏光了所有积蓄。但也正是因为亏光了,我被迫从自营盘转向了资管,然后才有了今天的合纵。如果没有那笔’破’财——不,那笔’分’财——就不会有后来的一切。”
颜城转过身来。“韦昭,如果当时那个老太太告诉你,你接下来会经历什么,但你有没有权力去改变它?”
韦昭没有回答。
六
六月的最后一天,檀那系统被彻底关闭了。
韦昭没有删除它。他只是给它断电了。在断电之前的最后一秒,系统生成了一份自动报告,汇总了它最后一个工作周期的所有输出。报告最后一页有一行系统自动生成的备注,那行备注不是韦昭写的,也不是预兆识别模块写的——它像是某种未被调用的底层函数在被强制关机时留下的遗言:
“第1749次痕迹同步完成。异常检测:ANON-7749已于T-7天完成建仓。目标标的:与你相同的标的。相关性:1.0000。结论:你的涟漪已被他人看见。”
韦昭盯着这行字。他知道ANON-7749是谁了。
不是别人。就是他自己。
或者说,是另一个时间线上的他自己。那个在退货备注里写下股票代码的人,不是某个神秘的匿名用户——是他在另一个时间节点上的版本。他用某种他自己都不理解的方式,与另一个自己共享了同一套预测信号。
他是自己的ANON-7749。
他是那个踩在水面上的人。
他在自己的涟漪里,看见了他自己。
韦昭关掉了电脑。
窗外,陆家嘴的夜色依旧璀璨。黄浦江的水在月光下泛着微光,像一行行正在被时间编译的代码。他想起石井镇外婆家门口的那口井,井沿上那只粗陶碗,米上的三根香。他想起外婆说的那句话:“你看不见它,但它一直在那里。”
他没有删除檀那系统。他只是给它断电了。因为他知道,有些东西一旦知道了,就没办法假装不知道。你只能选择不再去看它。
但你没办法让它消失。
它一直在那里。
就像水面上的涟漪。
就像未来踩在过去的脚印。
就像这个城市里每一个在凌晨三点还亮着灯的窗口——每个人都在数着自己的涟漪,每个人都不知道,有人在某处,正在把它们全部看在眼里。
(完)