造个系统做金融 007 误差之谜:数据的真相

();

钢笔尖悬在纸上,墨水凝成一点,迟迟没有落下。陈帆盯着那张空白纸页,耳边是教室外走廊逐渐响起的脚步声。他收笔回神,将钢笔插回笔袋,从书包里取出硬皮文件夹。

昨夜打印的那份数据记录被他夹在最上一页。他翻开报纸,找到今日陆家嘴的收盘价,用红笔工整地填进表格。做完这些,他顺手往前翻了几页,核对起之前的录入数据。

7.6元。

他在3月12日这一栏停住。电子表里记的是7.5元。

他皱了下眉,手指轻轻敲了两下桌面。不是印刷问题,也不是记忆偏差——他在校门口报刊亭翻过合订本,原始信息清清楚楚写着“7.6”。错的是他自己。

三天前晚上,连续三小时录入后,视线有些发花。笔记上的“7.6”被他抄成了“7.5”。当时没察觉,之后也没复核。

他合上文件夹,起身往教学楼东侧走。机房门虚掩着,里面没人。他打开电脑,等系统启动后调出Excel文档,滚动条拉到第十二行。

果然。

他退出程序,重新开机,在低负载状态下打开VBA编辑器。这次只写一段最简单的代码:每五十行分段扫描,判断当日收盘价与前一日差值是否超过0.1元。变量名改得更短,循环结构压缩到最小占用。

运行。

屏幕卡顿一秒,进度条缓慢推进。三十秒后,弹窗跳出:“发现异常数据3处。”其中一条正是3月12日的错误。

他逐条修改,保存新版本。这次格外小心,先检查路径,再确认文件名——stock_data_199803.xlsx,一个字母不少。另存一份到D盘根目录,又复制到U盘模拟盘中。

刚退出Excel,门外传来脚步声。

林悦站在门口,手里抱着一叠剪报。“王浩说你在这儿,让我问问要不要帮忙整理这些。”

陈帆点头,示意她进来。“放桌上就行。”

她把资料放下,目光扫过显示器。“你刚才在改数据?我看见红色标亮的那一行。”

“录错了。”他说,“少了个点。”

“就差一分钱?”她走近了些,“值得重跑一遍程序?”

“不是一分钱的问题。”他拉动滚动条,展示前后几天的数据曲线,“如果起点偏了,后面的分析全会跟着歪。就像走路,第一步踏偏半寸,走一百步就差出几米。”

林悦没接话,而是俯身看向屏幕左侧的日志记录。“你每天都要核一次?”

“不止。”他打开另一个表格,“每条数据至少比对两次。报纸一次,录入后再对照笔记一次。现在加上程序筛一遍。”

她忽然想起什么。“上次操场画图,你说支撑位和压力位,是不是也靠这些数字算出来的?”

“是。”他调出一张图表,“比如这条线,是过去五天的平均成交价。价格靠近它时,涨跌概率就会变化。但如果数据本身不准,这条线就是假的。”

林悦沉默了一会儿。“那你现在这个……到底算到什么程度了?”

陈帆关掉图表界面,重新打开主数据库。密密麻麻的数字铺满屏幕,每一列都标注着日期、开盘、最高、最低、收盘、成交量。

“还不够。”他说,“现在误差率还在0.3%以上。理想状态是低于0.1%。”

“为什么非得这么准?”

“因为我要用它预测未来。”

声音不高,却像一块石头落进静水。林悦抬眼看他,发现他的视线始终落在屏幕上,仿佛只是陈述一件再平常不过的事。

“你是说……还没发生的股价?”

“不只是股价。”他点了点鼠标,切换到未完成的模型框架,“市场什么时候涨,哪只股票会动,资金流向哪里——这些都能从数据里看出痕迹。前提是,数据必须真实。”

林悦的手指无意识地摩挲着文件夹边缘。“可你怎么知道明天会发生什么?就算数据全对,也不等于能算命。”

“不是算命。”他拖动时间轴,展示一组历史走势与预测线的对比图,“你看这里,三月八号之前,系统标记出量价背离信号。第二天果然回调。这不是猜,是规律重复出现。只要抓得住节奏,就能提前反应。”

她盯着那两条几乎重合的曲线,眉头微蹙。“所以你熬夜录数据、写程序、反复检查……就是为了这个?”

“不然呢?”他转头看她,“你以为我只是为了帮王浩赚那几百块?”

林悦没立刻回答。她想起前几天操场上那根粉笔画出的K线,想起他蹲在地上一笔一划描摹支撑位的样子。那时候她以为他只是想证明自己懂点东西。但现在看来,那些动作背后藏着更大的东西。

“可你一个人做这些,太慢了。”她说,“而且容易出错。像今天这种漏记,以后还会发生。”

“所以我需要更好的方法。”他指着U盘模拟盘,“下一步是自动化采集。但设备跟不上,只能一步步来。”

林悦看着屏幕上那一排排整齐的数字,忽然问:“如果真让你做成……你会做什么?”

陈帆停顿了一下。“让系统自己读报纸,自己更新数据,自己发现问题。然后告诉我,什么时候该进场,什么时候该离场。不靠感觉,不靠消息,只靠数据本身说话。”

“听起来像做梦。”

“梦也是人做的。”他笑了笑,“但我现在只想把这一步走稳。数据不对,后面全是空谈。”

她低头看了看自己带来的剪报,又看看屏幕。“那你接下来打算怎么办?”

“先把所有历史数据再过一遍。”他打开备份目录,“这次加一道人工复核流程。每改一处,登记时间、原因、修正值。以后每次调用数据,都能追溯源头。”

林悦伸手点了点键盘旁的一张草稿纸,上面写着几行操作步骤。“我可以帮你。”

“什么?”

“数学作业我一向做得快。”她说,“而且我看得细。如果你信得过,我可以专门核对录入部分。”

陈帆愣了一下。

“你不觉得浪费时间?”

“我觉得你在做一件很具体的事。”她直视他,“虽然还不明白最终能走到哪一步,但至少你现在做的事,每一笔都有依据。这比大多数人都强。”

房间里安静了几秒。

风扇转动的声音轻微可闻,显示器泛着冷光。

陈帆收回目光,重新看向屏幕。“好。那你从明天开始,先试三天。每天核对二十条数据,跟我做的原始记录对照。如果有出入,标出来。”

“行。”她点头,“但我有个条件。”

“你说。”

“你要教我怎么看这些图。不只是怎么录数字,而是它们到底代表什么。”

他思索片刻。“可以。但从最基础开始,不准嫌烦。”

“没问题。”她嘴角微微扬起,“反正我已经踩进来了。”

她转身准备离开,走到门口又停下。

“对了,你那个U盘……真的靠谱吗?我看它读写的时候灯闪得很慢。”

陈帆低头看了眼插在主机上的灰色存储盘。外壳有磨损,标签手写着“数学作业备份”。

“不靠谱。”他说,“但它现在是我唯一能用的东西。”

林悦没再说什么,推门走了出去。

机房里只剩下他一个人。他打开一个新的文本文档,在顶部输入:

**数据修正日志 - 1998年3月27日**

接着写下第一条记录:

> 错误项:3月12日陆家嘴收盘价

> 原值:7.5元

> 实际值:7.6元

> 类型:手动录入失误

> 修正人:陈帆

> 备注:因疲劳导致小数点误读

光标在下一行闪烁。

他深吸一口气,继续敲字。

窗外阳光斜照进来,落在键盘右侧,映出一小片明亮的方格。