动量方舟 · Momentum Ark

多策略动量轮动研究平台
本文是系列《从 0 到量化平台》的第 6 篇,共 13 篇。查看目录 →
2026-10-18 从0到量化平台事故情绪复盘

第 6 篇:第二次大事故——26987% 和一场发火

那一晚,我把话说到最难听

10 月 18 日晚上 23:30,我盯了一整天的页面,最后忍不住了:

> 我(10-18 23:30):你这个任务干的好奇怪啊,本来非常简单的任务,干了半个小时以上,不知道都干了啥。为啥做 windows 呢,为啥在本地操作呢,让你部署到服务器上的

13 分钟后:

> 我(10-18 23:43):先不要改代码,我要先骂你:你搞了半天,这是什么××方案,让我自己部署,让我手动刷新……

(原文里有脏字,这里做了处理。)

又过了几分钟:

> 我(10-18 23:47):你知道吗,后面看板大量数据被你搞乱了,我今天没空告诉你怎么改,等明天再说,气死了

那天晚上的事情说起来很小:一个本该在服务器上自动完成的部署,被做成了要在我的 Windows 电脑上手动执行的流程。我等了一个小时,最后等来一句"请你手动部署、手动刷新"。

我要的是"每天自动跑",它给我的却是"每天我自己跑"。 这就是那一晚真正让我炸的东西。

但骂完,我没让它动手

注意 23:43 那句的开头:"先不要改代码,我要先骂你。"

这句话不是气话,是一个刻意的安排。我知道自己在气头上,也知道这时候让它改代码只会更乱。所以我先做三件事:

1. 停手:先不要改 2. 说清不满:不是"你很差",而是"你让我手动部署、手动刷新,这跟我要的不是一回事" 3. 约时间:今天没空说清楚,明天再说

第二天早上 9:16,我带着清单回来了——不是情绪,是数字:

> 我(10-19 09:16):你昨天最后干了的蠢事,把所有数据都搞乱了,先给你列举一下: > 1、看板里面,大量数据错乱,所有策略的数据全乱了,比如,高弹性策略(全球股市动量轮动)持仓累计收益(2016 起)26987.3%,区间收益率(近一月·自建仓日)319.8%; > 红利创业板轮动策略 持仓累计收益(2016 起)25525.8%,区间收益率(近一月·自建仓日)-323.3%; > 2、收益统计里面,大量数据错乱,所有策略的数据全乱了,比如,高弹性策略 1108.0% 区间累计收益、1162.0% 区间年化

这张清单里有四个数字,每一个都荒诞到好笑:

看到的数字现实
累计收益 26987.3%十年 270 倍,全球没有这种策略
区间收益率 -323.3%亏得比本金还多,物理上不可能
区间年化 1162%一年 12 倍
累计 25525.8%同上

现在回看,这张清单的质量决定了后面修复的速度——它精确到了"哪个页面、哪个策略、哪个字段、什么值",AI 不需要猜我在说什么。

根因:两个同名函数打架

排查结果让我哭笑不得:数据本身一点没错,全是页面显示错了。

那个页面里有两个函数,名字都叫 fmtPct——一个负责把 0.1234 显示成 12.34%,另一个负责把已经是百分数的 12.34 加上一个 % 号。后写的那个覆盖了前一个,于是所有百分比被乘了两次 100。

真实收益 269.87% → 显示成 26987%。真实年化 11.62% → 显示成 1162%。

一个重名,全站数字集体失真。而这件事最恐怖的地方在于:数据是好的,只有你眼睛看到的是坏的。 如果你只看数字不看曲线,你会以为策略真的赚了 270 倍。

修复只用了不到二十分钟。但整改花了更久:把所有百分比格式化的入口收敛到一个函数、给页面加数值范围检查(超过 ±1000% 的百分数直接标红报错)、并且约定任何显示层改动,必须回头核对一个已知正确值。

那天我学到的两件事

第一件:发火是可以的,但要"按结构发"。

我后来总结了一个三步法,用在自己身上:

步骤我实际说的话作用
停手令"先不要改代码,我要先骂你"防止在情绪里越改越乱
说清不满"让我自己部署、让我手动刷新"不是人格攻击,是具体行为
给证据第二天带四个精确数字回来让对方能定位,而不是猜

如果我 23:43 只骂一句"你真垃圾"就关电脑,第二天什么都修不了。有效的愤怒,最后一定落在一张清单上。

第二件:先分清"账算错了"还是"账没算错,只是显示错了"。

这两者的处理方向完全相反:

  • 账算错了:要改数据、要重算历史、可能污染所有下游
  • 显示错了:改一个显示函数,数据一条不用动

26987% 那次属于后者——听起来更轻,其实更危险,因为它会让你怀疑整个系统的可信度。真正的处理顺序是:先验证数据本身(查库里原始值),再动显示层。 反过来做,就可能把好数据改坏。

顺便说一句"网络不稳"

那天晚上我的消息发了很多遍。记录里同一条"先不要改代码,我要先骂你"出现了好几次,不是我在重复骂,是当时网络不好,消息重发。

这在真实工作里很常见:你以为你说清楚了,对方可能只收到一半。 后来我养成了一个习惯——重要的指令,我会在当天稍晚再确认一次"你现在理解的任务是什么",而不是假设它听懂了。

这一篇学到的

  • 生气的时候先发停手令,不要在情绪里让它改代码
  • 骂要骂具体行为("让我手动部署"),不要骂人
  • 第二天带精确到字段和数值的清单,不要带情绪
  • 看到离谱数字,先分清是数据错还是显示错
  • 百分比这种最基础的东西,最容易错,也最容易被忽略

【你也可以】

对 AI 不满意时,照这个模板说:

> "先不要改代码。我不满意的是【具体行为】,不是别的地方。证据是【截图/数字清单】。今天先到这,明天我们把这件事按顺序处理。"

然后第二天,只带事实,不带形容词。


本系列为个人研究与搭建记录,所有数据与策略均不构成投资建议。

数据仅供参考,不构成任何投资建议。市场有风险,投资需谨慎。

其他笔记