10.1 内核恐慌:当“唯一解”遇上“无解”

1998年9月23日下午,长期资本管理公司的合伙人们聚集在纽约郊区那间著名的玻璃会议室里,面对着一个他们所有模型都无法解释的数字:当天他们又亏掉了5.5亿美元。坐在会议桌首座的约翰·梅里韦瑟------这位所罗门兄弟公司前副主席、华尔街最负盛名的债券交易员------用他那一贯平静到近乎冷酷的声音向在座的合伙人提出了最后一个请求:在美联储介入之前,还有谁认识能拿出十亿美元的朋友?

围坐在那张会议桌旁的人里,有罗伯特·默顿和迈伦·斯科尔斯------1997年诺贝尔经济学奖得主,期权定价模型的共同发明者。有大卫·穆林斯------美联储前副主席。有麻省理工、斯坦福、哈佛的数学博士、物理学博士、计算机科学博士。他们不是赌徒,他们是用数学模型套利的天才,是量化投资的开山祖师。他们的模型告诉过他们,俄罗斯国债违约这种事件在概率分布上偏离均值超过七个标准差,在宇宙年龄的尺度上都不应该发生一次。

然后它发生了。两个月内,LTCM亏掉了四十六亿美元。他们的交易策略不是错的------在正常市场环境里,那些套利交易确实如模型所预言的那样缓慢而稳定地收敛了。他们的错误比策略错误更致命:他们假定自己计算的概率分布就是世界运行的真实规则。

你,作为一个用代码改变世界的软硬件工程师,正在用同一套思维模型走进资本市场。你现在正在犯的和LTCM完全相同的错误,不是策略层面的,是哲学层面的。

编译通过 ≠ 世界会按此运行

你写的代码每一次跑出来的结果都是确定性的。一个输入必然对应一个输出。如果输出不符合预期,它一定是因为你写的逻辑里有Bug。你找到那个Bug,修掉它,输出就会符合预期。这种"确定性的因果闭环"已经刻在了你的神经回路里,变成了你理解世界的基本范式。

你现在打开你的Python环境,拉取了过去十年A股所有股票的历史数据,写了一个回测框架,跑出了一个年化收益百分之三十、夏普比率二点五、最大回撤不到百分之十的完美策略。你反复检查了每一行代码,确认没有未来函数泄露,没有幸存者偏差,没有错误的除权复权处理。你的回测通过了所有你能想到的测试用例。在历史数据上,这个策略完美无缺。

然后你把它部署到实盘。它开始亏钱。你不明白。策略本身没有任何逻辑漏洞,每一个条件分支都是经过数据验证的。你觉得自己只是一个还没找到那个隐藏Bug的调试者------也许参数需要再调一下,也许需要再加一个过滤条件,也许需要换一个时间窗口重新训练。你永远不会往那个最让你不安的方向去想:这个策略也许根本不存在Bug,它只是在真实的市场里不工作而已。

回测和实盘之间的鸿沟,不是代码质量的问题,是哲学范畴的问题。你在回测里模拟的每一次交易,都是在一个你假设"自己不存在"的市场里执行的。你的买单不会推高价格,你的卖单不会引发恐慌,你止损出局的点位不会触发其他人的止损单从而形成连锁踩踏。但一旦你真的把钱投进去,你就不是那个在实验室里用无菌镊子夹取样本的旁观者了。你是市场的一部分。你的每一笔交易都在改变市场本身的状态,而市场状态的改变又会反过来触发你策略里的下一个条件分支。这是一个自己调用自己的递归函数,而你没有写终止条件。

索罗斯用了一个更精准的词,叫反身性。你用你的模型观测市场,你的观测结果驱动你做出交易决策,你的交易决策改变了市场,被改变的市场再次被你观测------这个循环没有出口,没有均衡点,没有可以被你的线性回归捕捉到的稳定关系。你在回测里找到的那条完美曲线,是在一个你还没有跳进水里搅动水面之前的静态快照。等你跳进去了,水波荡开了,快照就已经过时了。

第一性原理的边界:资本市场没有公理系统

你在物理学里学到的第一性原理推导,是从几个不可归约的基本公理出发,用逻辑链条一步一步推出具体结论。牛顿力学从三大定律出发,可以推导出从苹果落地到行星轨道的全部运动规律。电磁学从麦克斯韦方程组出发,可以推导出从无线电波到光纤通信的全部电磁现象。你在做技术架构设计的时候也用第一性原理------从硬件的算力约束、网络延迟的物理极限、数据一致性的理论边界出发,推导出最优的系统设计方案。

这种思维方式在你的世界里有效,是因为你的世界建立在公理系统上。物理定律不会今天生效明天失效,CPU的指令集不会因为你情绪不好就临时改变对某条指令的支持,操作系统的调度器不会因为在网上看到一篇看空的文章就把你的高优进程临时降权。

但资本市场的底层不是公理系统。资本市场的底层是几千万人的大脑在同时做决策。每一颗大脑里都有欲望、恐惧、偏见、从众本能、以及被社交媒体算法反复塑造的注意力分配模式。这些大脑互相观测、互相模仿、互相预判对方的预判,形成了一个没有稳定均衡点的混沌系统。

你试图用解微分方程的方式去解一个没有方程的系统。你不是第一个这么做的聪明人。LTCM的默顿和斯科尔斯发明了用偏微分方程给期权定价的模型,拿了诺贝尔奖,然后用自己的模型把自己的基金搞破产了。他们不是数学不好,他们是在错误的地方用了正确的数学。

谦卑不是美德,是生存刚需

读完以上这些话,你可能会产生一种沮丧感:如果我不能预测市场,那我凭什么做投资?

这个问题本身就暴露了你认知框架里最需要被重构的那一行代码。你把"预测"当成了"行动"的必要前提。在你的工程世界里,你在设计系统之前必须先搞清楚需求和规格,你在写代码之前必须先想清楚输入输出和边界条件,你在部署上线之前必须先评估好QPS和存储容量。预测是你在工程世界里一切行动的基础。

但这个逻辑链在投资世界里是断裂的。投资里最重要的那些回报,从来不是来自谁的预测最准确。它们来自谁在最恐慌的时候没有被迫卖出,谁在最狂热的时候没有追高买入,谁在所有人都被随机噪声震晕了的时候还在安静地执行自己三年前就写好的定投计划。

你不需要预测市场明天是涨是跌。你需要的是在它涨的时候你已经有了足够的仓位,在它跌的时候你没有被杠杆逼着在最低点割肉,在你失业又恰好撞上熊市的时候你的应急储备金还能支撑你到找到下一份工作。这三件事,没有任何一件需要预测能力。它们只需要你在风平浪静的时候就提前设计好一套能够在各种未知未来里生存下来的系统。

接受"我无法准确预测"不是认输。这句话是一个卸载操作。它把你肩上那块你永远也举不起来的巨石卸掉了。从你承认自己不能预测的那一刻起,你不再需要每天在盘前焦虑地盯着外盘走势,不再需要在每次宏观数据发布之前反复调整仓位,不再需要在每次暴跌之后在"割肉"和"补仓"之间做那种把你的皮质醇水平推到危险高度的生死抉择。你从一个被市场波动牵着鼻子走的预测者,变成了一个坐在控制室里、面前摆着应急预案流程图、等着任何一种已知场景触发了就执行对应脚本的应对者。

预测者的每一次操作都是在赌未来会按照他预想的方式走。应对者的每一次操作都是在说:我不知道未来怎么走,但不管它怎么走,我都有预案。

你是一个工程师。你在设计线上服务的时候,从来不会预测"明天流量会不会暴涨"。你只是设好了自动扩容策略,设好了熔断降级逻辑,设好了流量清洗规则。流量涨了,集群自动扩容。流量跌了,闲置节点自动回收。被人用DDoS打了一波,流量清洗自动触发。这三种情况里你不需要提前知道明天发生的是哪一种,你的系统在每一种情况下都有预设的响应机制。

你把同样这套思维框架用在你的家庭财富上,你就已经是一个合格的投资者了。你不需要成为预测大师。你只需要在你冷静、理智、还没有被任何随机事件击中之前,把你家未来可能遇到的极端场景都列出来,给每一个场景写好对应的响应脚本,然后把日常的执行交给守护进程,把定期的检查交给CI流水线,把关键的止损断言固化在保单合同里。

当你做完这一切的时候,你再回头看你最初问的那个问题------"如果我不能预测市场,那我凭什么做投资?"------你会发现这个问题本身就是错的。你不需要预测市场。你从来都不需要。你需要的是设计一套能在你预测不了的世界里长期运行下去的系统。而这,恰好是你作为一个工程师最擅长的事。

相关推荐
oscar9992 天前
9.6 版本发布日志:用Changelog记录你的认知升级
版本·财富源代码
oscar9998 天前
8.7 反脆弱的终极防线:从防崩溃到在崩溃中受益
财富源代码
oscar99910 天前
8.3 杠杆的时序违例:短债长投是毁灭的根源
财富源代码
oscar99913 天前
8.1 边界值测试:你的系统在极端输入下会怎样
财富源代码
oscar9991 个月前
5.2 设计你的低通滤波器:定投和长期持有的传递函数
财富源代码
oscar9991 个月前
4.6 单元测试的重构:把交易策略封装成可独立验证的函数
重构·单元测试·财富源代码
oscar9991 个月前
4.2 Crash Dump:当你的交易爆仓时,先保存堆栈信息
财富源代码·crash dump
oscar9991 个月前
3.4 Nginx 负载均衡——动态再平衡的反人性纪律
nginx·github·负载均衡·财富源代码
oscar9991 个月前
3.2 异地多活与冗余阵列——指数基金的工程学之美
财富源代码·冗余阵列