我们把写研报的那套方法整理成了一个给 AI agent 用的技能,叫 TopxAI Equity Research,按 Apache-2.0 免费开源。装进 Claude Code、Codex、Cursor 这类 agent,就会照 topxea.com 研报的路子干活:数据从一手申报里取,每个数字标出处和证据等级,定评级之前让多空两方先辩一轮,写完再过两轮对抗式审计,报告里的每条判断都记进台账,到期一条条结算。完整包在 TopxAI Labs 直接下载,源码在 GitHub。
读得快和会做研究是两回事
让 agent 写一份公司分析不难,一分钟能读完十份申报,交出来的稿子段落齐整,数字也多。毛病藏在细处:估算出来的数写得像财报原文,盘中价当成了收盘价,情景概率随手给个 25/50/25,结论怎么写都不会错。最后一种最麻烦,一个永远错不了的判断,读者拿它做不了任何决定。
这些坑我们自己写研报时都踩过,后来把规矩一条条记下来,攒到现在一共 12 条,放在技能最前面,犯了任何一条,报告就不能发。挑五条说:
- 关键数字要能追到带链接的出处。找不到就写「未核实」,不拿估算顶上。
- 每条证据标等级。A 是一手申报和公司公告,B 是主流媒体,C 是机构估计或自己算的(要写明是估算并给出公式),D 是没有证实的消息。核心结论的支撑数字里不能有 D。
- 一份报告只认一个基准日,扉页上分三层写清楚:价格取最近一个已收盘的交易日,财务数据写到哪个期末、哪天申报,截止日之后的申报一律不用。
- 每条核心结论都写明「出现什么情况就说明我错了」。写不出来的,降级成观察。
- 估值数字只从一个模型文件和它的输出里取,正文里不许手算。
一份报告从立项到上架
整条流程分十段,每段规定要产出哪些文件、满足什么条件才能往下走。立项时先拿几个备选题目比一比,翻一遍过往判断留下的教训,定好三层基准日和对标指数。调研分几路并行,财务、合同、治理、同业各写各的底稿;主编另外从 SEC 的 XBRL 数据里独立取一遍数,和底稿逐项对,对不上的列进冲突清单。
定评级之前有一轮多空辩论。多方和空方只能引用底稿,各提三条论点,再互相反驳一次。辩论放在这个位置有讲究:主编写到估值那一章时,心里多半已经有了第一个故事,先把两边最强的论证听完,评级才不容易被第一印象牵着走。
初稿写完过两轮审计,审计员的活儿是找错。其中一路专门唱反调,挑估值模型的输入改,改到哪一步评级会翻,就把那一步写出来。每条审计意见都要有处置结果,接受、驳回或部分修改,记在报告附录里。
评级到期要能对账
评级按 12 个月算,对比一个写明的基准指数,从发布日收盘价起算。跑赢基准超过 15% 算买入,5% 到 15% 算增持,−10% 到 +5% 算中性,跑输 10% 以上算减持。到了那一天,对错查一下就知道。
报告发出去以后,核心结论、年度评级、月度和季度展望全部记进台账。台账只能追加,结算时要附证据,再写一句教训。命中率按「命中 ÷(命中 + 证伪)」算,没到期的不计入。
这一段是我们自己补的课。这周清点 topxea.com 的台账,55 条判断只结算了 1 条,几条月度展望已经到期,却没人回头去对。问题出在没有东西盯着,所以技能里多了一个值守脚本 desk.py,专门把 SEC 的新申报和台账里每条判断的证伪条件对上,再列出快到期和已经过期的判断。补登之后台账现在是 69 条,结算了 2 条,两条都命中。样本这么小,命中率说明不了什么,大部分判断要等 10 月底到 11 月初这一轮财报出来才到期。研报会员页上的记分卡会照实更新,判断错了的也一样挂着。
包里有什么
方法文件讲研究框架:因、程、果三层,第一性原理那一层,从流动性一路传到个股的链条;个股、产业链、宏观三类报告各有一套九步流程,另附一份质量门槛和一份口径陷阱清单。指标库写明每个指标该去哪里取一手数据,SEC EDGAR、FRED、BLS、Census、FINRA 都在里面。
插件版自带五个角色 agent:调研、多方、空方、审计、翻译。它们不能再派子 agent,交回主编的话限 120 个英文词,主编的上下文里只留结论。不支持子 agent 的工具,就由主 agent 按顺序把这几个角色轮流演一遍。
三个脚本只用 Python 标准库。sec.py 从 SEC 取最近八个季度的营收、毛利、营业利润、净利润、经营现金流和资本开支,原始 JSON 存在本地缓存里,不进 agent 的上下文。拿 NVIDIA 试了一次:companyfacts 原始响应 4.5 MB,sec.py 交给 agent 的只有 3.3 KB。ledger.py 管台账,desk.py 管值守。此外还有立项、来源交叉核对、审计处置、发布前检查和披露声明几份模板。
怎么装
用 Claude Code 的话,装插件版,五个 agent 一起装上:
/plugin marketplace add UnbelievableT/topxai-equity-research
/plugin install topxai-equity-research@topxai
Codex、Cursor、Gemini CLI、OpenClaw 等支持 Agent Skills 的工具,用 skills.sh 装:
npx skills add UnbelievableT/topxai-equity-research
也可以从 Labs 页下载完整 zip,把里面的 skills/topxai-equity-research 复制到 agent 的技能目录(Claude Code 是 ~/.claude/skills/)。SEC 要求每个请求报上姓名和邮箱,插件启用时会提示填写,也可以自己设环境变量 SEC_USER_AGENT。装好以后直接用自然语言吩咐就行,比如「给 NVDA 写一份个股深度研报」,或者「跑一下值守,看哪些判断到期了」。
做不到的事
技能只管方法,不提供行情。值守要用的价格得自己准备一份 CSV。脚本只访问 sec.gov 和 data.sec.gov,没有遥测,也不用注册账号。
完整走一遍很费 token。一份个股深度要开好几路调研、过两轮审计,再加一个语言版本,总消耗可能到几百万 token,大头花在阅读上。开几路、预算多少,立项时就该定下来;中途超了,停下来问人,别悄悄砍掉范围。
报告的上限还取决于底层模型。规矩拦得住编数字,也拦得住写不出证伪条件的结论,但拦不住一个看错了行业的判断。台账和结算是这套方法的后半截,原因就在这里。用它写出来的东西是一般性研究信息,不是针对个人的投资建议;评级是研究判断,不是买卖指令。
下载和安装说明在 ai.topxea.com/labs,问题和建议请提到 GitHub issues。用这套方法做出来的报告,在 topxea.com/research。
研究方法介绍,不构成投资建议。