跳到主要内容
十万星的炒股框架,值钱的地方在版本日志里

十万星的炒股框架,值钱的地方在版本日志里

阿简
阿简

· 阅读约 4 分钟

TradingAgents 是什么?

简单说,它是一个用一群 LLM 智能体模拟交易公司分工的开源框架。

这期本来想跳过它。一个"让 AI 替你炒股"的仓库,看着就像那类靠 demo 攒星的东西。翻完它今年二月到九月的版本日志,我改主意了。

它长什么样

分析师分四个方向:基本面、情绪、新闻、技术。技术那个用 MACD、RSI 这类常见指标找形态。情绪那个把 StockTwits 和 Reddit 上的讨论压成一个短期情绪判断。

再上面是研究员,分看多和看空两拨,结构化辩论一轮,把分析师的结论过一遍。再往上是交易员,定时机和仓位。最后风控算波动率和流动性,投资组合经理批或者拒。

点评:分工图很好看。拆开就是几段 prompt 串起来互相看输出。"看多和看空研究员辩论",本质是让模型把正反两个方向各写一遍,再让第三个模型评。它的用处是逼模型把反面也写出来。

这不是华尔街。

版本日志里反复出现的一个词

前视偏差。

简单说:回测跑的是三月一日的分析,却读到了三月一日之后才公布的数据。结果全是假的,还假得特别好看。

这事谁都懂。难的是每个数据源单独修一遍。五月给情绪分析师做接地,七月加 Alpha Vantage 的前视过滤,八月回头修 FRED 宏观数据、社交情绪和决策日志记忆里的前视偏差。一个版本一个版本,一条一条。

所谓接地,就是把模型的每句价格断言拴到一份验证过的数据快照上。不让它跨两次运行给出不同的公司,或者编出来的价位。

点评:愿意花半年干这个的,和只想发个 demo 的,是两种人。

苹果 2008 年总资产的两种数字

v0.5.0 里有个细节,我看了两遍。

苹果 2008 年的总资产,最初申报是 396 亿美元。2010 年被重述为 362 亿。回测日期落在中间那几年,当时该读到的是 396 亿,不是后来那个修正过的数。

TradingAgents 专门按申报时点去 SEC EDGAR 取数。这个源不要账号也不要 key,但 SEC 要求调用方表明身份。项目默认带一个联系方式,也能换成你自己的。

点评:没有任何 demo 会展示这种东西。一个回测系统的诚实程度,基本等于它对"我当时知道什么"的较真程度。

同一个股票同一天,跑两次可能不一样

它自己写在文档里。原因是 LLM 采样的随机性,加上新闻、StockTwits、Reddit 这些数据实时在变。

给的解法是降 temperature。紧接着又补一句:现在主流模型以推理为主,大多忽略 temperature。想要严格复现,得换成非推理模型。

点评:这句坦白比整个架构图值钱。一个不能复现的回测,不太该叫策略。但你至少知道它不能,而不是被蒙着。

backtest 和那句免责

有个 run_backtest,在股票代码和日期的网格上跑同一套流程,算相对区域基准的 alpha,按评级分组。同一 run_id 重跑会跳过已跑过的格子。命令行是 tradingagents backtest,配上起止日期和间隔。

官方一句话说死:不保证跟任何已发布数字一致,把它当研究多智能体分析的脚手架,不是能复制的收益策略。

点评:这句该被截图。开源量化最缺的就是这句。

一份年初的技术报告

今年一月还有一份 Trading-R1。

这个我还没读,先放在这里。看懂了再补。

回到十万星

十万八千多星,两万多次 fork。

这些数字代表的不是代码质量,是需求。大家想要的是一台替我赚钱的机器。而这个仓库真正在做的事,跟这个需求关系不大。

一个项目越是被一个漂亮的形状描述,你越该去看它的版本日志。值得看的东西全在那条鸿沟里。

README 里明写了:仅用于研究,不构成投资建议。

想装来试试,conda 或 uv 建个 Python 3.12 环境,pip install . 就能跑,也可以走 docker compose,本地模型挂 Ollama。支持的提供商名单长得离谱,OpenAI、Anthropic、Google、DeepSeek、Qwen、GLM、Kimi、Groq、NVIDIA NIM 都在里面,vLLM、LM Studio、llama.cpp 这类 OpenAI 兼容端点也能接,把 llm_provider 设成 openai_compatible、backend_url 指过去就行。

本周就这些。

上面有任何一条你试过、或者觉得我讲错了,欢迎告诉我。

下周见。

阿简
阿简

每周替你把 vibe-coding 圈的大事筛成一张小抄,被讲玄的概念一句话搞懂。

查看主页 →