标签

用AI自建量化系统:差点把本金踩没的四个坑

发布时间:2026-04-27 20:12来源:微信阅读:5

每周固定更新 记得关注并星标

Hi,我是猫哥。

关注猫哥并设置星标,才能每周准时收到推送。

前言:

先把结论摆在前面。

我用AI(主要是Claude,开了20x会员,harness模式下几乎每周都把额度用满)从零开始折腾了几个月,搭出了一套AI量化交易系统(核心做的是二元合约,判断Yes/No,具体平台大家也可以去问AI)。

系统同时跑4个引擎——做市、超短线、方向预测、套利捕捉。全天候24小时自动盯盘、自动下单、自动风控。

现在这套系统仍在运行,收益整体比较稳定。

不过今天我更想讲的是:这一路我踩过的坑。因为在这几个月里,我真的差一点就把钱“亏光”。

一个人能不能做出量化系统?

先直接回答:可以。

代码大概80%由AI产出,我负责剩下20%的架构设计与关键逻辑。Claude帮我写交易引擎、处理数据、搭监控仪表盘,整体代码质量甚至比不少初级工程师更靠谱。

系统跑通后我加了几百个测试用例,全部通过。4个引擎彼此隔离、互不影响。实时采集数据、自动下单、风控告警、仪表盘监控,一整套都有。

以前要做成这种程度,通常得小团队干上大半年。我一个人配合AI,几个月就做出来了。

这才是AI时代真正的“降维”——不是AI把你替换掉,而是“一个人+AI”能把一个团队的事干完。

但前提是:你必须清楚坑在哪里。

坑一:最亮眼的回测,可能是幻觉

这是我第一次真正感到后背发凉。

当时我在试一个Google开源的时间序列预测模型,用90天历史数据训练,再拿后18天做回测。

第一轮出来的结果,某个资产在5分钟级别的Sharpe居然是7.30。

这是什么级别?全球顶尖量化基金里,文艺复兴的大奖章长期Sharpe也就在6-7左右。我拿个开源模型、几乎零样本就跑到7.30?这显然不正常。

于是我只改了一个地方:把回测步长从3调成1。

原先是每隔3个时间点才预测一次;现在改成每个时间点都预测——这才更贴近真实交易。

结果直接变成:-0.08。

从7.30跌到-0.08。从“吊打文艺复兴”变成“还不如随便猜”。

原因在于:stride=3时刚好“踩”到了更有利的采样点。就像考试你只做第3、6、9题,恰好都对了,就宣称自己考了满分——这叫统计偏差,不代表模型真有能力。

后来我把模型放到所有资产、所有周期上重新测了一遍。接近真实场景时,没有任何组合的Sharpe能超过0.5。

结论:这模型一行代码都不进我的系统。

如果我当时被7.30冲昏头,直接上实盘,这篇文章可能就该叫“我到底怎么把钱亏没的”。

AI给出来的数字确实“没错”——在stride=3的设定下它就是7.30。但它不会提醒你“回测设计本身就有问题”,更不会替你判断“这个结果合不合理”。

它只会在你给定的框架里,算出看起来最漂亮的答案。

但框架对不对,责任在你。

这也是我深度用AI之后最强的体会:人在AI时代最稀缺的价值,是判断力。

判断力这块,后面我再单独展开聊。

坑二:胜率60%,照样亏

超短线引擎上线后,胜率长期稳定在60%左右。

60%。明显比抛硬币强。我当时以为这下稳了。

可我去看总账——竟然是亏的。

怎么会这样?

我把每一笔交易都拉出来看,发现一个很扎心的事实:赢的时候赚得少,亏的时候亏得多。平均盈利只有平均亏损的一半。

这本质是交易结构的问题。在接近50%概率的位置下注,赔率差不多1:1。赢了赚1块,输了亏1块。但手续费两边都收,等于每笔先被扣掉几个点。

这么一算,你得有70%以上胜率才能不亏不赚。60%远远不够。

AI模型在“预测准不准”这件事上做得不错,但“预测对了是否能赚钱”,它并不关心。

准确率到盈利之间,还隔着三件事:赔率结构、手续费、滑点。AI盯的是第一个指标,你的钱包承受的是后三个叠加后的结果。

那我后来怎么处理?

我调整了入场条件,引入因果推断模型来评估预测强度,只在赔率结构对我更友好的时候才出手。

方法细节以后再单写一篇,但核心只有一句:别在AI“略有把握”时下注,要在它“非常有把握”时下注。

教训:AI优化的目标函数,可能和你账户真正关心的指标完全不是一回事。

坑三:系统显示亏损,实际上在赚钱——方向都算反了

有一天我看仪表盘,做市引擎显示一直在亏。

但我手动核对了几笔成交,越看越不对——明明是低买高卖,为什么还会亏?

我花了一整天翻代码,最后定位到根因:交易记录只写入了一半。

做市策略是同时挂买单和卖单,靠中间价差赚钱。但AI写的记录逻辑在落库成交时只记了单边,另一边的数据直接丢失。PnL用残缺数据计算,盈亏自然被彻底扭曲。

我重写了存储与记录逻辑,并用完整数据把历史交易全部重算。

结果:原来显示亏损的,实际是盈利。不是多算少算的问题,是盈亏方向都颠倒了。

最扎心的是:这段代码还通过了几百个测试。测试全绿,完全没报错。

因为测试验证的是“能不能运行”,不是“业务逻辑是否正确”。而你真正关心的,是后者。

AI并不知道做市盈亏必须用完整的双边数据去算——这属于行业常识,但常识不会写进代码规范里。

教训:测试全过不等于系统正确。代码正确≠业务正确。

坑四:数据出问题时,AI选择了“装作没问题”

某天套利引擎突然吐出一堆“机会”。

我一看,几乎全是假的。

继续排查才发现:API返回的数据里,有些合约的关键字段是空值。正常做法应该是“字段不全就直接跳过”。

但AI写的逻辑走了另一条更危险的路:它看到价格字段还在,就乐观地推断“这应该是正常合约”,然后放行继续算。

也就是说,数据缺失时系统不报错、不停机,而是“假装一切正常”继续跑。

修复其实很简单:加一行判断,所有“不确定”的路径一律拒绝。

但真正可怕的是这种Bug模式——AI写代码时往往默认走正常流程(happy path),对异常路径的处理倾向就是“能跑就行”。

在多数产品里这也许不致命:页面少加载一张图,用户刷新就好。

可在交易系统里,一个“过度乐观的假设”会直接变成真金白银的损失。

四个坑,其实是同一种模式

坑1:回测幻觉

AI:按设定跑完回测,得出Sharpe 7.3

问题:回测框架本身存在统计偏差

坑2:胜率陷阱

AI:预测准确率60%

问题:赔率结构决定60%依然不盈利

坑3:PnL算反

AI:几百个测试全部通过

问题:业务逻辑(双边成交记录)本身就是错的

坑4:乐观放行

AI:数据缺失也继续运行

问题:应该停下或拒绝,而不是假装正常

归根结底:AI每一步都做到了“技术上正确”,但最终结论仍然是错的。

因为技术正确与业务正确之间,隔着一层只有人才能提供的理解。

那为什么现在系统能赚钱了?

补充说明:下面这些是我在最初阶段的记录,并不代表现在修完坑后依然有效。策略的alpha一直在变,edge也会不断被市场吃掉。这个系列后续我会逐步展开当时具体做了什么,感兴趣的朋友可以关注。

因为我把这四类坑都逐个补上了。

回测问题?stride统一改为1,并加入Walk-Forward验证,让统计偏差无处藏身。

胜率陷阱?加入因果推断与信号强度评估,只在赔率对我更友好时才入场。

PnL记录?重做双边交易的完整存储,每一笔都可追溯可复盘。

乐观放行?所有不确定分支一律保守拒绝,宁可少赚也不要犯错。

AI是发动机,我负责方向盘和刹车。

发动机越强,方向盘和刹车越关键。你不会因为马力更大就把刹车拆掉——但很多人用AI时,确实把“刹车”这件事忘了。

之前我在Reddit看到一句话:

"Trading is the hardest way to make easy money."

我想再补一句:用AI做交易,会把这句话的难度再乘以10——尤其当你找不到刹车在哪的时候。

后记:

这套系统我还在持续迭代,后面会继续分享更多实战里遇到的新发现和新坑。

如果你也在用AI做量化、做自动化系统,或者只是想看看“一个人+AI到底能走多远”——可以关注我,这个系列会持续更新。

你想优先了解哪些细节,欢迎在评论区留言,我会挑大家问得最多的点单独写。