第十五章 赚钱
一直以来,霁晴因为贫穷而自卑,因为贫穷而被伤害。全知之血的到来,彻底点燃了她的渴望:“不就是钱吗?我要赚钱!”清明其实对金钱并不渴望,她是一个物欲特别低的人,但是她想体会一下那些势利眼看到自己有钱了,会摆出怎样一副搔首弄姿的模样。
落水女死后第三天,霁晴坐在出租屋里,面前摊着一本《量化投资导论》。
书是从珞珈大学图书馆借的,扉页上还贴着索书号标签。她已经看了三天。全知之血在颅骨内侧缓缓流动,那种感觉无法向任何人描述——不是变聪明,是整个世界的信息密度忽然变了。每一页翻过去,公式不再是一行行需要费力解读的符号,而是像一条条被点亮的路径,从假设到推导到结论,清清楚楚地铺在脑子里。她能看见背后的推导逻辑,能感知模型假设在什么边界条件下成立、在什么市场环境下会失效,甚至能在脑海中自动跑一遍参数变动的敏感性分析。
第五天傍晚,她合上书。市面上的主流量化策略——统计套利、因子模型、高频做市、趋势跟踪——所有数学框架已经被她拆解完毕。她知道自己可以一个人完成所有事情。写代码、建模型、跑回测、调参数、实盘交易。全知之血给了她足够的能力,她完全可以做到。
但她想到了企田所。
那个在县中操场上拧开矿泉水瓶往嘴里灌、灌完把瓶子摔在地上踩扁的胖子。那个在火车站攥着十万块钱存折、塞进她手里时手指都在发抖的兄弟。那个在法庭旁听席上攥着座椅扶手、指节发白、从头到尾一言不发的人。
他现在还在读计算机,明年毕业。现在已经没课了,正在焦虑找实习。上次打电话的时候,他在电话那头说:“明年就毕业了,现在这行情,码农卷成狗,大厂裁员裁得哗哗的,我一个普通211,都不一定能找着好工作。”他说这话的时候语气很平常,甚至还笑了一声,但霁晴听得出来那层平常底下压着的东西。和当年清明在工地搬完水泥之后,站在打印店门口犹豫要不要花十块钱打简历时,心里的那种东西一模一样。
霁晴看着电脑屏幕上那行“量化交易系统可行性分析”的标题,坐了很久。
然后她拿起手机,翻到企田所的聊天窗口。
她决定和他一起。全知之血让她什么都能做到,但她不想要一个人坐在高处俯瞰所有人,她只是想拿回她曾经被碾碎的尊严。她不想做那种高高在上的人。她想带一个人一起——一个值得的人。
消息发出去,企田所的电话在三分钟内打了进来。
“霁晴?”他的声音从听筒里传出来,带着一点电磁杂音,背景是宿舍里舍友打游戏的键盘声,“你刚才说的量化交易是什么意思?你用算法炒股?”
“不是炒股,”霁晴说,“是量化交易。用数学模型做自动化交易决策。”
“有什么区别?”
“炒股是人盯着K线图拍脑袋,量化是用数学和统计做决策。策略是写死的,交易是程序自动执行的,不依赖人的情绪。模型自己思考,自己做决定。人只负责是否确认执行。”
他沉默了一下。“你一个学物理的,什么时候懂这个了?”
“我看了些东西。”她说,“我的意思是,我们一起干。你写代码,我来做数学。”
电话那头安静了几秒。她听见他呼吸的声音,听见舍友在远处喊“团战团战”,听见他自己心跳的节奏——全知之血让她对声音的敏感度也提高了,她能听见他喉结滚动的那一下。
“量化交易需要什么?”他终于开口,语气变了,不再是试探,而是像在认真评估一件事的可行性,“需要钱,需要大量历史数据,需要懂编程的人,还需要服务器跑回测——”
“杨怡案的赔偿,五十万。华文网络,不缺数据。至于编程,211的大才子,还做不到吗?”
“那是你的钱。”
“所以我来决定怎么用。”
他又沉默了。然后问:“你说你来负责数学。你确定你那个……那个数学模型,能行?”
“我认识一个特别懂数学的人,她帮我做模型。”霁晴顿了顿,“你来写代码。”
“她?谁啊?”
霁晴沉默了一秒:“我。”
电话那头安静了很久。久到霁晴以为他挂了。然后企田所的声音响起来,比刚才低了半个调,但不知道为什么,那种压低了的声调里有一种更确定的东西:“哥们,你啥时候会开冷笑话了?你在哪?”
“珞珈大学东门外那个小区,七栋二单元四楼。”
“我明天过去,不,我现在出发!等我哥们!我们一起创业!”企田所兴奋的喊道。
第二天早晨,企田所到了。他从火车站直接打车到霁晴的出租屋楼下,背着一个鼓鼓囊囊的书包,里面塞着一台笔记本电脑和几本翻得卷了边的编程书——《Python高性能编程》《算法导论》《深度学习》。书脊都磨白了。他跟在霁晴身后上楼的时候,脚步很重,楼梯间里回声哐哐响,那种“跟着你干”的气势已经在了。
出租屋不大,一张床一张桌两把椅子,窗户朝东,早上有光。桌上摊着霁晴这几天写的草稿纸,密密麻麻全是公式和架构图。企田所把电脑放在桌上,坐下来,看了一眼那些纸,然后抬头看她,等着她开口。
霁晴坐在他对面,把最上面那张纸推过去。
“目前市面上主流的量化模型,本质上都是基于传统统计方法的——线性回归、时间序列分析、协整关系。但股票市场不是线性的,价格走势受太多因素影响,信息之间的交互是非线性的、高维的、动态的。”她说这些话的时候声音很平静,像是在陈述一个已经被验证过的事实,“需要一种能处理非线性关系的模型结构。”
她指着纸上的图:“多层非线性变换。每一层把原始数据映射到更高维的空间,在那个空间里做特征提取和模式识别。每一层提取的特征都比上一层更抽象——第一层可能只是识别价格波动的局部形态,第二层开始捕捉趋势结构,第三层以上就能学习市场状态的隐含表征。最后输出一个预测结果。”
企田所盯着那张图看了很久。他的表情从困惑变成认真,又从认真变成一种霁晴在别人脸上很少看到的东西——那不只是惊讶,是一个搞技术的人看到一个从未见过的架构时,脑子里所有知识被同时激活的那种兴奋。
他抬起头,声音有点干:“你管这个叫‘一种结构’?霁晴,这不就是深度学习吗?神经网络、层级特征提取、反向传播——你从哪学的?”
霁晴没有直接回答。她从旁边抽出一沓打印的论文,放在桌上。“谷山去年在NeurIPS上发表了一篇论文,《Attention is All You Need》。他们提出了一种完全基于注意力机制的序列转换模型,抛弃了传统的循环结构。我看了这篇论文,把注意力机制的数学推导完整走了一遍——缩放点积注意力的梯度分析、多头注意力的信息瓶颈、位置编码的频谱特性——然后在他们的基础上重新设计了位置编码方案,改进了整个架构,让模型在处理长序列金融数据的时候更稳定。”
她把另一张纸推过去,上面是用铅笔手写的一套数学推导,字迹工整得像印刷体,从注意力权重的矩阵分解一路推到改进后的位置编码函数。
“你帮我把它实现成代码。”她说。
企田所把屏幕亮度调高,弯着腰看那些公式。他看了很久,久到窗外天光从灰白变成橘红再变成深蓝。他一个字都没问。没有问这些公式她是怎么推导出来的,没有问她为什么忽然懂了这些东西,没有问她那些她本来不该懂的数学。他大概心里有疑问,但他选择了先信她。
“行。”他最后说,把袖子撸起来,打开IDE,“我来写代码。”
那天晚上,他写到凌晨三点。霁晴在旁边看,偶尔伸出手指着屏幕上的某一行:“这个循环可以用矩阵运算替代,时间复杂度从O(n²)降到O(n)。”“这个函数的递归调用太深,会爆栈,改成迭代。”“这里内存分配可以优化,把频繁创建的小数组改成预分配的大数组。”
企田所一开始会停下来想一下,然后照着改。改完跑一遍性能测试,看到时间从十几秒降到零点几秒,他转头看她,说了句:“你怎么知道这些东西的?”
霁晴说:“我看过TensorFlow和PyTorch的核心源码。”
她确实看过。在全知之血的状态下,她用一个晚上读完了那两个框架的核心代码——不只是读,是理解,是在脑子里完整模拟了一遍计算图的构建和自动微分的反向传播过程。
她甚至感觉自己就是一台行走的超级计算机。
企田所没再问。他低下头继续写,键盘声在深夜的出租屋里噼噼啪啪地响,像下了一场不会停的雨。
到第三周,模型在历史回测中的表现已经好到不真实了。沪深300成分股,五年历史数据,年化收益率跑到了百分之六十以上,最大回撤控制在十五个点以内,夏普比率破三。企田所看着回测报告,沉默了大概两分钟。
“这不应该是真的。”他说,“任何历史回测做到这个程度,实盘大概率会翻车。过拟合、未来函数、幸存者偏差——总有一个坑在后面等着。”
他没有泼冷水的意思。他在说实话。一个好的工程师在看到一个好到不真实的结果时,第一反应永远是怀疑。
“我知道。”霁晴说,“所以我们先用小仓位测试。十万块,跑一个月实盘。如果实盘表现和回测一致,再逐步加码。”
“你总共有多少钱?”
“五十万。”
企田所看了一眼屏幕上的回测曲线,又看了一眼霁晴。那个曲线几乎是平滑向上的,只有几处小幅回撤,像一条被拉紧的绳子。“全投进去?”
“全投。我信任我的数学。”
“如果亏了呢?”
霁晴想了想,说了一句后来企田所跟她提了很多年的话:“那我也信任你写的代码。”
“干了!兄弟!梭哈!”
他没有再说什么。他转回屏幕,把回测系统关掉,重新建了一个实盘交易的工程目录。文件夹名字叫“yan”。
“焰。”他说,“火焰的焰。这个名字怎么样?”
“为什么叫这个?”
“因为你那个落水的事情,”他顿了顿,手指在键盘上悬着,没有落下,“我后来一直想——水淹不死你,那你就该是永远燃烧的火焰。”
三个月后,五十万变成了一百二十万。
又过了两个月,一百二十万变成了三百万。
钱不是一天一天涨的,是跳着涨的。有时候一天赚几千,有时候一天亏几百,但那条曲线的趋势是明确而稳定的,像一只被看不见的手托着往上推。企田所每天盯着屏幕,眼睛里那种光越来越亮。他辞掉了毕业前的实习,把所有的代码版本管理起来,每天优化执行效率、降低延迟、增加风控逻辑。他整个人像是被注入了什么东西,连走路都比以前快了。霁晴也一直在继续迭代优化模型。
但出乎意料的时候,更重要的东西并不是在量化交易中诞生的。
有一天深夜,她在看模型跑完的一轮训练数据。屏幕上是注意力权重的热力图,不同的颜色代表模型在处理序列数据时对不同位置的关注程度。她看了一会儿,嘴里咬着一只铅笔,那是她深度思考的标志,不知道什么时候养成的小习惯,忽然意识到一个问题——
她用来做股价预测的这个注意力架构,可以做比预测股价更多的事情。
它的本质不是金融模型,它的本质是一个通用模式识别器。它学习的是序列中元素与元素之间的关系——不管这个序列是股价序列还是文字序列,不管元素是价格数据点还是词汇。它可以理解语言的结构,理解上下文之间的关联,捕捉信息之间潜在的逻辑关系。
那天晚上她没有睡。全知之血让她保持清醒,她在笔记本上写下了一套全新的架构——基于自注意力机制的预训练语言模型。她把在金融模型里验证过的位置编码方案迁移过来,重新设计了训练目标函数,提出了一个更高效的并行化训练策略。她写满了整整一本笔记本,从输入嵌入层的设计写到多层Transformer的堆叠方式,从掩码语言模型的损失函数推导写到下游任务微调的适配方案。
天亮的时候,她把企田所叫醒。
“不是哥们,起那么早干什么?”
企田所从行军床上坐起来,头发翘着一撮,揉眼睛。
看着咬着铅笔的女孩眼神闪烁着,放出自信而激动的闪光,头发披散着,衣服也皱巴巴,应该是一夜未眠,双手拿着一本笔记本递给他。
他接过笔记本,读了几行,然后整个人僵住了。那种僵不是困意还没消的迟钝,是一种从大脑深处被击中的静止。他翻了一页,又翻了一页。看完第三页的时候他抬头看霁晴,嘴唇动了动,没说出话来。
他不是在问“这是做什么的”——他能看出来这是做什么的。他敲了好几年代码,他比任何人都清楚自己正拿在手里的是什么。他只是在消化自己看到了什么。
“如果真能跑通的话,”他终于开口,声音是哑的,“我们做的就不是量化交易了。”
“我知道。”霁晴说。
“这东西能理解人类语言。”
“不是理解。”霁晴纠正他,“是预测。它不会理解语义,它只是在统计层面上学会了词语与词语之间的共现规律。但当它的预测足够准确的时候——”她顿了顿,“看起来就像理解。”
企田所沉默了很久。窗外天已经全亮了,有鸟在叫,远处珞珈大学的钟楼敲了七下。他把笔记本翻到最后一页,又翻回第一页,来来回回看了好几遍,然后说了句让霁晴记了很多年的话:
“这就是未来的雏形。霁晴,未来就在我们手下,就在你那个笔记本里。我们在创造崭新的未来啊!”
又过了三周,他们把第一版小型模型跑通了。三亿参数规模,在标准语言理解测试上的表现超过了同期所有公开模型。不是稍微超过,是全面碾压——文本蕴含、情感分析、问答匹配、常识推理,每一个评测基准的分数都刷新了最高纪录。
企田所坐在电脑前,看着屏幕上跳出来的测试结果,半天没有说话。测试数据是自动跑的,日志一行一行往外跳,每一项指标后面都跟着一个绿色的“PASS”。他看了很久,然后转头看霁晴。他的嘴张开又合上,张开又合上,最后只说了一句:
“我们做了什么?”
他的声音在颤抖。
霁晴坐在窗边,看着远处的珞珈大学图书馆穹顶。阳光打在穹顶上,反出一层淡金色的光。她答非所问地说:“你准备一下,以你的名义发论文。把模型架构和训练方法写清楚,但不要提我。”
企田所愣住了。
“以我的名义?”他站起来,椅子往后滑出半米,在地板上擦出一声刺耳的响,“霁晴,这是你的成果——那些公式是你写的,那个架构是你设计的,连位置编码的改进方案都是你在纸上推了三页数学才搞出来的。我就是一个写代码的——”
“你是我信任的人。”霁晴打断他。“你知道的,我社恐很厉害,我害怕人,不喜欢抛头露面。和外面的人打交道,就拜托你站在台前了。”
这句话让企田所停住了。
“我需要你在台前。”霁晴的声音很平稳,像是在说一件已经想得很清楚的事情,“你继续做你最擅长的事情——写代码、发论文、做技术分享。让所有人都知道是你做出了这个东西。然后你就可以拿融资、招团队、建实验室、做我们想做的研究。”
企田所看着她,目光在那一刻变得极其复杂。里面有困惑,有震惊,有一闪而过的某种他自己可能都还没有完全意识到的东西。“那你呢?”
霁晴没有回答。
她只是说:“有人问起的时候,就说模型背后有另一个合作者,是一个不愿意露面的数学天才。”
企田所看了她很久。他站在窗边,逆着光,表情藏在阴影里,但霁晴能看到他攥着笔记本的手指在发白,和他当年在法庭旁听席上攥座椅扶手时一模一样。
“你这是在帮我铺路。”他说。不是疑问句。
“我是在让应该得到机会的人得到机会。”
他没有再问。他转回屏幕,深吸了一口气,打开一个新的文档,在标题栏里打下论文的开头。他写得很慢,每打几个字就停下来想一想,删掉重写,像是在雕刻什么东西——因为他知道,这篇论文会改变很多东西。不是改变他们两个人的命运,是改变整个领域的走向,改变人们理解语言的方式,改变世界获取和处理信息的底层逻辑。
霁晴在窗边又坐了一会儿,然后拿起手机,打开通讯录,翻到柳晴晴的名字。她还是那个头像,化着精致的妆,摆着标准的自拍角度。朋友圈里还是那些没营养的精致照片——下午茶、健身房、奢侈品店的购物袋,配文永远是几个emoji和一句轻飘飘的“今天也是精致的猪猪女孩呀”,“今天也是最棒的小羊”。霁晴看了两秒,冷笑一声,然后把手机翻过去,扣在桌面上。
她没有急着联系她。钱还在滚。时间还在走。该来的总会来的。
全知之血让她理解了整个技术的版图。从最底层的线性代数到最上层的应用架构,从金融市场的微观结构到语言模型的宏观能力。但她也明白了另一件事,比技术本身更重要的事:
真正的力量不是变得更聪明。是让聪明变成可以持久影响世界的东西。
而这篇论文,就是那个持久的东西。它和钱不一样——钱会花完,名声会消散,但技术一旦进入公共领域,就会永远改变世界运转的方式。就像互联网协议,像操作系统内核,像编程语言编译器。它们一旦被创造出来,就不再属于任何个人,而是成为整个人类文明的基础设施的一部分,会成为新的人类社会规则的一部分。
这一次,规则,由我来定义!
她看着窗外。江城的夜色在玻璃外面铺展开来,远处珞珈大学的图书馆在黑暗中泛着暖黄色的光,窗台上停着一只不知道名字的鸟。论文还在写,企田所的键盘声还在响,模型还在训练——屏幕上损失函数的值在一点点下降,像一颗缓慢但稳定地坠入大气层的流星。
她知道未来的某一天,当人们回看这个时代的技术变革时,会看到一个名字。
企田所。计算机视觉和自然语言处理领域的开创者之一。“焰”量化基金的联合创始人,“QMing”预训练语言模型的首席架构师。
但大众可能永远不会知道——或者说,大众也许隐约知道,但选择了不去追问——那个一直藏在幕后、在每一个关键节点递上公式和设计方案、从不露面却从未缺席的数学天才,就是那个他曾经在县中操场上,在满地的矿泉水瓶中间,陪着他说“一个都没有”的人。
而霁晴,将继续待在阴影里。
阴影将不是她的牢笼。阴影将是她新的阵地。
她起身走到企田所身后,看了一眼屏幕上的论文草稿。企田所写到Methods部分了,正在描述注意力机制的多头结构。他写得很认真,每个符号都检查过两遍。
“这里,”霁晴指着屏幕上的一个公式,“把softmax的温度系数加上,可以在推理阶段调节输出的随机性。对未来做文本生成任务会有用。”
企田所抬头看了她一眼,心里想“你怎么连这个都想到了”,只是点了一下头,把参数加上。
然后他继续写。
窗外,江城的灯火在夜色中明明灭灭。远处珞珈大学的钟楼敲了十一下。在这间堆满草稿纸和咖啡罐的出租屋里,两个人正在写的东西,将在一年后改变整个世界对“语言”这件事的理解。而此刻,他们还不知道这件事大到什么程度——或者说,霁晴也许已经知道了,但她选择了不做那个站在聚光灯下的人。
她选择了另一种更大的东西。
键盘声还在响。夜还很长。天还没亮,但快了。