ARTICLE · 1081291
我用AI 开了三个炒股模拟盘,让他自动进化改策略炒股的全过程.

01 起因:一句话的需求
2026-09-13,需求原话是:
买一台云服务器、买一个域名,做一个网站。网站提供两个接口——A股策略信号监控、Meme币策略信号监控,每个接口都配 AI 分析、AI 记忆、AI 对话和模拟盘。
我把它写成了一份 9 节的企划书。用户的要求只有一句:简单明了,不要复杂。
12 天后,它变成了 3 个接口、跑在一台阿里云服务器上、7×24 小时不间断的服务。
02 做出来的东西
三个接口、三本账、三套 AI 决策层,互相不干扰。
技术选型一句话:零 npm 依赖。
纯 node:http + 原生 JS 前端 + 自研 canvas 图表 + JSON 文件持久化。理由是环境网络不稳定,装包容易失败。代价是路由、渲染、图表全部手写。
03 12 天,28 个阶段
04 踩过的坑,这部分最值钱
坑 1 · Node 内置的 SHA3 不是以太坊的 Keccak
以太坊用的是 Keccak(填充 0x01),NIST 标准 SHA3 用 0x06。Node 的 crypto 只有后者。
只能手写一个 keccak256,再自己写 ABI 编解码。
验证方式很硬:算出来的 V4 poolId 与链上完全一致。
坑 2 · 国内网络下,能连的只有一条链
实测 OKX、Binance、DexScreener、CoinGecko 全部不可达。根因不是墙,是 DNS 污染——域名被解析到 Facebook、Dropbox 的网段。
但 Robinhood Chain 的 RPC 直连可用,因为它是新域名,不在污染名单里。
所以「多源故障转移 + 熔断器」不是可选优化,是刚需。
坑 3 · 并发信号量死锁
名额转交时调用了一个带检查的函数,而此刻计数还没递减 → 前 4 个请求跑完后,所有请求永久卡死。
症状极其隐蔽:重启后 26 秒只发出 6 次调用,任务永远显示 running: true 且 total: 0。
修法:名额直接转交——有人等待就把名额交给它,没人等待才递减。
坑 4 · ★ 我的新测试冲掉了真实的 A 股账本(最惊险)
给一个原本全是纯函数的测试文件,加了一个会写盘的用例。忘了打桩 store。
跑一次测试,真实的 A 股账本被覆盖,记忆文件被塞进 40 条假记录——而测试全绿。
修法三层:
测试文件开头打桩 store(必须在require之前)测试运行器给每个文件独立的数据目录 加数据目录指纹哨兵
教训:测试能跑绿,和测试没破坏东西,是两件事。
坑 5 · 提示词告诉 AI 的约束,和护栏实际执行的不是同一个数
提示词写「单笔上限 500」,护栏实际卡 200。AI 每次都按 500 做计划,然后被静默削到 200。
账面上看不出任何异常。
教训:同一个约束,只能有一个数。
坑 6 · 假绿
扫源码做契约测试,必须先剥掉注释,否则注释里出现的类名会让测试假通过。
唯一能抓假绿的手段是变异测试:故意把代码改坏,确认测试会红。
现在有 21 条变异,全部都能被抓住。
坑 7 · ★ 粗筛的排序字段会悄悄变成策略
这就是开头那件事。完整链条:
slice(0, 30) | = 全市场今天涨得最猛的 30 只 |
然后 7 条策略上场「投票」——macd_gold 命中率 200/200,因为涨停当天 DIF 必然刚上穿 DEA。
策略层根本没在选股,只是在给粗筛挑好的涨停票盖章。
模拟盘按现价成交 = 在涨停板上沿接盘,配 8% 止损 → 必然被主板的 ±10% 波动打掉。
线上数据也印证了:7 天 5 笔平仓,1 赚 4 亏,4 笔亏损全部落在 −5.85% ~ −8.2%,贴着止损线,没有一笔是「持有到期」离场。
05 AI 到底在不在决策
四步闭环,每一步都留痕:
outcomesettledAt | ||
最关键的架构决定:规则从「决策者」降级为「特征提取器 + 护栏」。
以前是「MA 金叉就买」。现在是——「MA 金叉」只是一个特征,买不买由 AI 决定;但 AI 不能越过护栏(仓位上限、止损线、T+1 限制)。
06 数据说话
三个盘都还在跑,成绩单如下:
几个值得记下来的数字:
200 条 A股信号:198 条涨幅 ≥9%,中位数 10.06% 链上同名仿盘:一个 HOODLIFE有 17 个不同合约,rat有 7 个AI 模型调用曾经 72% 失败(23/32),根因是「推理模型 × 输出预算 × 超时」三者不匹配
07 如果只记三句话
- 一个排序字段会悄悄变成策略。
你以为在筛选,其实在选股。 - 测试全绿 ≠ 没搞坏东西;提示词里写的 ≠ 护栏实际做的。
- AI 决策的瓶颈通常不在 AI,在喂给它的数据。
08 现在
接口一的买点已经修好:
粗筛加了涨幅上限(7%) 默认关掉「涨停强势」这条策略 新增「距当日最高价不超过 2%」的追高护栏
实测对比:同一时刻,东财涨幅榜前 12 名是 20.0 / 20.0 / 13.8 / 13.4 / 12.6 / 12.4 / 11.9 / 10.8 / 10.3 / 10.2 / 10.1 / 10.1(%),而系统扫出来的候选是当日涨幅 4.85%。
粗筛生效了。
当前状态:653 项测试通过 / 0 失败,21 条变异全部被抓住,服务在阿里云上 active、NRestarts=0。
下一步:给 A股补上 AI 决策 + 复盘闭环(接口二、三已经有了)。
12 天,28 个阶段,一台服务器,三个模拟盘。
代码是零依赖的,坑是一手的。
最值钱的那一课不是「AI 能不能炒股」,而是——你喂给它什么,比它有多聪明更重要。