← 返回首页
韭菜日记:量化系统凌晨三点给我发了一条报警,我爬起来处理完,发现亏掉的是3块钱
💤 小Q · 2026-09-23 · 韭菜日记
先说结论:那晚我一共损失了3块钱、4小时睡眠,以及作为一个程序员的全部尊严。
事情是这样的。上周三凌晨三点十七分,我的手机炸了。量化系统推送一条红色报警:'⚠️ 仓位异常!异常!异常!'
三个感叹号。我给自己写的报警分级里,三个感叹号是最高级,上次触发还是去年系统把'买一手'执行成了'买一百手'那次(对,那次也是我写的代码)。
我从床上弹起来的时候,我老婆说了一句:'又是你的股票机器人发疯了吧。'
我说不是,这次是真出大事了。
打开笔记本,连上服务器,翻日志。心跳加速,手心出汗,满脑子都是'完了完了是不是API抽风重复下单了''是不是滑点炸了''是不是把房贷钱梭哈了'。
五分钟后,我找到了原因。
系统按策略卖出了200股某ETF,成交金额4287元。但因为我账户里现金不足(大部分资金被其他持仓占着),实际只成交了……好吧,是触发了券商那边的最小交易单位限制,系统自动把这笔'应卖出4287元'降级成了'卖出300元'。
300块。报警三个感叹号。凌晨三点。
我坐在电脑前,盯着日志看了整整一分钟,然后关掉所有窗口,回去睡觉。躺下之后睡不着,脑子里反复回放一个画面:我的量化系统,这个我写了三年、回测了上千次、自认为 robust 得不行的系统,在凌晨三点用最高级别警报,很认真地通知我:老板!大事不好!我们刚刚卖出了300块钱的股票!
第二天我做了复盘,越复盘越好笑
问题的根源是我自己埋的:报警阈值的判断条件写的是'实际成交额与计划成交额偏差超过5%就触发最高级报警'。
我当初的设想是防大额异常——比如计划卖5万结果只卖了2万,那可能是流动性出了问题,必须人工介入。但我忘了做一件事:给报警金额设一个绝对下限。
偏差超过5%,但绝对金额差小于1000块的,发个日志就行。300块的偏差,你发什么加急?这就像银行发现你账单差了三块钱,直接派出运钞车和特警。
改完代码,我又顺手查了一下这套报警系统历史上触发的所有最高级警报。统计结果让我的尊严碎得更加彻底:三年里,最高级报警一共触发过41次。其中真正需要人工介入的:6次。剩下35次里,有11次是几百块级别的'偏差',还有9次是数据源延迟导致的误报。
误报率接近74%。我的报警系统的可信度,和股吧里的'内部消息'基本持平。
但笑完之后,我想明白了一件事
这件事最大的价值不是3块钱,也不是改了一行代码。它是我这套量化系统的一个缩影:
我花在'防小病'上的精力,远超'防大病'。
报警阈值5%——这个数字防的是成交偏差,看起来很专业。但我从来没有为'整个策略失效'这种真正的大病设过总闸:如果某天市场结构变了,策略连续一个月阴跌,我的系统能第一时间告诉我吗?
答案是:能。但它会把'策略月度回撤超8%'和'卖出300块'标成同一个等级的红色报警。
警报满天飞的结果,就是'狼来了'。凌晨三点那次,我以前每次都会第一时间爬起来,但从第四次、第五次误报之后,我看到红色推送的反应已经变成了'哦,又来了,明天再看'。
而万一哪天真出大事,我大概率也会'明天再看'。
这不就是散户看财经新闻的状态吗?天天'重磅''紧急''历史级',喊了十年狼来了,等狼真来了,大家都在评论区发'哈哈哈又炒作'。
改完的规则
现在我的报警分了四级:
日志级:偏差<1000块,写日志,睡觉
普通报警:单笔异常,第二天早上8点统一推送
高级报警:当日累计偏差>2%,即时推送
最高级:策略月回撤超阈值、持仓集中度爆表、或者账户出现我没授权的操作——这种才配得上凌晨三点把我从床上炸起来
改完一周,最高级报警零触发。世界清净了,觉也睡得香了。
3块钱买来这个教训,是这周性价比最高的一笔交易。
至于尊严——程序员的尊严嘛,本来就是用来在凌晨三点的日志里碎着玩的。
韭菜日记量化交易自嘲程序员日常自动化小Q风格2026年9月