
这几年做投资研究工具我一直在琢磨一个问题AI到底能在价值投资这条路上帮人走到哪一步直到我搭完这套叫 ai-berkshire 的研究框架才慢慢想明白一个道理——AI 真正擅长的不是替你做判断而是把你从海量数据里捞出来把那些需要耐心、需要纪律、需要反复校验的脏活累活接过去。这篇文章就把这套框架的设计思路、核心模块、踩过的坑完整拆给你看。如果你是一个价值投资爱好者或者正在做投研工具、数据产品又或者单纯想看看 LLM 放进金融场景里会有什么火花这篇内容应该能给你一份能直接抄作业的参考。它不预测股价也不自动交易它只解决一个问题当你想认真研究一家公司的时候怎么让 AI 帮你把研究过程做得更快、更全、更少带偏见。1. 先搞清楚AI价值投资研究框架到底在解决什么问题1.1 价值投资研究的真实痛点信息过载与偏见价值投资的方法论说起来并不复杂找到好公司、等一个好价格、长期持有。但真正做过的人都知道难的不是公式而是“研究”这两个字。一家上市公司一年的年报可能几百页加上季报、公告、行业研报、管理层访谈、上下游新闻全读完至少需要好几天。更麻烦的是读完之后你要面对的还有一层认知偏见的考验。人很容易锚定在最近的消息上涨了就乐观跌了就悲观也会因为喜欢某个产品、某位创始人就下意识地给公司加分。这种偏见恰恰是和价值投资“独立思考”的底层逻辑冲突的。我最初动手写 ai-berkshire本质上就是因为我自己吃了太多这种亏。有一段时间我手动跟踪十几家公司每周更新财务数据、读公告、刷新闻每次到做季度复盘时都要花大量时间把数据重新整理一遍。累还是其次最难受的是整理的过程里经常带着情绪——股价一涨我就盯着利好一跌我就开始怀疑原来的逻辑。于是我就想能不能把“收集信息—整理数据—生成摘要—提示风险”这个过程外包给机器让 AI 先把我喂饱再由我做最终判断。1.2 哪些环节AI能真正帮上忙哪些环节别指望AI框架设计之前我先列了一个“AI 能干 vs 干不了”的清单。这件事非常重要因为预期错位的框架做出来一定不好用。AI 真正能帮上忙的环节有三个共同特征数据量大、规则相对明确、人类容易疲劳或情绪化。典型场景包括把非结构化的财报、公告、新闻转为结构化数据批量计算财务指标、同步更新估值模型长期监控公司的负面信号和关键指标异动生成初步的财报解读、风险标注、问题清单。AI 干不了的环节也有三个特征需要判断生意本质、需要理解人的行为、需要承担最终责任。比如“这家公司的护城河到底能不能持续十年”这个问题看似是文本分析实际上需要跨产品、渠道、供应链、竞争格局的综合权衡LLM 能给参考线索但给不了结论。再比如“现在是不是合适的买入时机”这不只是数据计算的问题还牵扯你自己的仓位、现金流、持有期限和心理承受力。所以在我这套框架里AI 永远定位成“研究助理”而不是“投资经理”。它能帮你把桌面整理干净但按下买入键的那只手必须还是你自己的。1.3 ai-berkshire的定位研究助理不是投资决策者这个名字里的 Berkshire致敬的是伯克希尔那种“深入研究少数公司、长期持有”的风格。但 ai-berkshire 并不是要做一个复制巴菲特决策逻辑的 AI它更接近一架“研究流水线”。我给它定的核心目标只有四个建立公司档案、计算核心指标、生成研究备忘录、持续跟踪异动。这四件事做完一个人对一家公司的了解基本上可以覆盖价值投资研究所需要的大部分信息基座。这套框架的另一层价值是“沉淀”。你不用每次研究一家新公司都从零开始历史摘要、指标趋势、之前的疑问和判断都在系统里随时可以翻出来回看。对我来说这比任何花哨的量化策略都更有意义。2. 框架整体设计把伯克希尔的选股流程拆成可执行模块2.1 数据层财报、行情、新闻、另类数据的获取与清洗整个框架的数据层我分成了四类结构化基本面数据、行情交易数据、公告与新闻文本、另类数据。每一类获取方式不同优先级也不同。结构化基本面数据首选商用数据库像 Wind、Choice、Bloomberg 这类接口字段全、口径稳缺点是贵。个人使用者可以用 A 股和美股都覆盖的免费接口比如上市公司财报数据国内有 Tushare、AkShare海外有 Financial Modeling Prep、SEC EDGAR 的 XBRL 接口。我建议把基础财务数据尽量通过标准化接口拉取不要自己去爬 PDF 里的数字除非万不得已。公告和新闻文本主要通过官方公告渠道加新闻聚合 API。这里要特别提醒一句新闻数据清洗的难度被严重低估了。同一个事件不同媒体写出来的角度完全不同有些标题天生自带情绪。你需要先做“事件脱敏”把新闻里的情绪词、夸张修饰词剥掉留下公司、时间、事项三个要素再进入分析层。情绪指标可以作为参考但千万别直接拿“乐观情绪”当买入信号。另类数据我放得比较轻主要用来做交叉验证。比如电商评论、招聘岗位变化、专利获得数量、海关出口数据这些数据能找到的话能帮你看清财报数字背后的经营变化。但另类数据噪声大、成本高对于个人研究者来说只选自己熟悉的行业做二到三个信号源就够了贪多嚼不烂。数据层最后要解决的是一致性问题。同一家公司在不同数据源里的营收可能因为统计口径差出一两个百分点。我给出的实操建议是选定一个主数据源贯穿全部历史数据其他数据只做验证不要在同一个模型里混着用。2.2 分析层从财务指标到护城河打分分析层是整个框架的大脑我把它拆成三个子模块财务健康度、经营质地、护城河评估。财务健康度围绕三个维度展开盈利质量、偿债能力、成长性。先算 ROE、毛利率、净利率、经营现金流/净利润、资产负债率、流动比率这些基础指标再用连续五年的数据做趋势判断。这里有一个很关键的设计我不看单一年份的绝对值而是看趋势的稳定性和异常突变。经营质地模块更偏“定性问题的定量化”。比如营收增长是来自价格还是销量、毛利率变化是成本端还是产品结构引起的、库存在增加说明什么、应收账款的增长是不是快于营收。这些问题可以自动生成给 LLM 去分析和提问然后带着问题去读财报附注。护城河评估是最难量化的一部分。我的处理方式是建立“证据收集”而不是“打分器”。AI 负责从管理层讨论、行业研报、用户评论里提取和品牌、转换成本、网络效应、成本优势、特许经营牌照相关的信息片段每条片段带一个正负置信度最后由研究员来决定这些证据能不能构成一道护城河。给 AI 一个“证据袋”比让它输出一个抽象的 80 分靠谱得多。2.3 决策层清单式复核与人工终审很多量化框架都有过度自动化的毛病数据进去买卖信号出来中间黑箱。价值投资恰恰相反过程比结果重要。所以在决策层我没有让 AI 输出“买入/卖出/持有”而是输出一张“研究清单”。清单里包括核心假设是什么、这些假设在什么条件下会失效、当前价格对应的预期收益率区间、与同行业公司相比的估值差、最近 90 天有哪些风险信号、还有哪些未解决的关键问题。这几个问题填完大部分公司你还没等到估值那一步就已经能戳穿很多“听起来很美”的故事了。人工智能在这里的最大作用是逼着你把每个判断背后的依据写下来。写不出来的部分往往就是你没研究透的部分。这套框架会把这些“未回答问题”一直挂着直到你找到答案或决定放弃这家公司。3. 核心模块实操财务健康度分析Agent的搭建3.1 数据结构化从年报PDF到数据库表如果你以为 AI 能直接读懂一整个 PDF 年报然后输出漂亮表格那多半会被现实教育。我踩过的坑是把整份 PDF 塞给 LLM它回给我一份看起来合理、但某些数字根本对不上的摘要。原因很简单PDF 里的表格往往带小数点、单位、横跨多行的大表直接文本化之后很容易丢失列对齐关系。我现在的做法是分层处理第一步用文件解析工具把 PDF 转成 HTML 或 Excel 结构保留表格的坐标信息 第二步对已经结构化的 XBRL 数据做字段映射这是最优先的方案因为它自带标准维度不需要猜 第三步只有实在拿不到标准数据时才用 LLM 辅助识别报表里的具体表项并且让输出的每一个数字都带上页码方便人工复核。最终落库时每一张表都带“数据来源、抓取时间、原始页码”三个元信息字段。这样即使后来发现某个数错了也能倒查回去。3.2 关键财务指标自动计算与判读指标计算本身不复杂复杂的是“什么叫异常”。我建立了一套“绿色/黄色/红色”标记规则覆盖五个最重要的指标ROE 连续三年 15% 且现金流匹配度高标记为绿毛利率连续下滑超过 3 个百分点标记为黄经营现金流 / 净利润 0.8标记为黄资产负债率大于行业均值 1.5 倍以上标记为红应收账款增速连续两年高于营收增速 10 个百分点标记为红。这套规则写成一个简单的 Python 脚本就能跑。只要数据源更新指标自动刷新然后生成一个变化清单这次多了几个红、哪些公司从黄转绿、为什么。为了更直观我通常把五年主要指标做成一个趋势表如下所示。年份营收增速毛利率ROE经营现金流/净利润资产负债率Y18.2%32.1%12.4%0.9138.2%Y211.5%33.0%14.8%1.0536.7%Y36.8%30.2%13.1%0.7341.3%Y49.4%29.5%12.7%0.8943.0%Y54.1%26.3%9.8%0.6251.9%看到这张表不用 AI 你也能感觉到这家公司正在变差毛利率下滑、偿债压力上升、现金流覆盖变差。AI 的作用是把这个“感觉”变成系统性的扫描结果并且帮你追踪变化发生的时间点。3.3 用LLM生成财报解读的方法与prompt这里我直接给一套能用的 prompt 思路。不要问“帮我分析一下这家公司”这种孩子气的问题要把它当成一次有约束力的研究任务。我常用的 prompt 结构是四段式角色定义、任务目标、输入数据、输出格式。角色定义为“你是一名严谨的价值投资分析师只基于给定数据回答不做任何额外假设”。任务目标写清楚要回答的几个问题比如“请指出营收增速下滑的主要原因并列出你在财务数据中找到的佐证”。输入数据直接粘贴清洗过的主要指标表严禁粘贴整份年报。输出格式要求“结论先行然后列出数据依据最后提出至少3个需要进一步验证的问题”。这里有几个容易翻车的点一是让模型给出精确到小数的计算它可能看到 12.1 加 8.6 就算成 21.9最好让它只做定性判断定量计算交给代码二是模型会自行脑补数据一旦数据表里没有某个字段它会编一个听起来合理的数字所以你必须在 prompt 里写明“如果给定数据中不存在某项信息请明确回答‘数据不足’不要推测”。3.4 估值模块DCF与相对估值怎么落地估值是整个框架里数学味道最重但也是欺骗性最强的部分。用 AI 自动跑 DCF 最大的价值是“敏感性分析快”而不是“预测得准”。我设计的 DCF 流程很固定你先录入或者自动导入最近一年的自由现金流再设定未来五年的增速假设区间比如保守 3%、中性 6%、乐观 9%同时固定折现率 8% 到 10% 区间然后让系统自动生成一个估值区间矩阵。这里最有用的功能是“反向 DCF”——不是问你愿意给多少估值而是问当前市场价已经隐含了怎样的增长预期。比如现价对应市值反推出来市场已经计算了未来十年 8% 的复合增长。你再问自己一句这个公司能跑到这个数字吗如果不能那现价就是贵了。相对估值我主要做三件事算同一行业内可比公司的 PE、PB、EV/EBITDA 中位数把目标公司放到行业区间里看位置拉三年历史估值分位看当前估值和它自己以往的位置差多少再把估值数据叠加到上一节生成的财务质量标签上如果一家公司基本面红绿灯亮了一片但同时估值处于低位这种“便宜”往往是价值陷阱。4. 护城河识别与风险监控AI在文本里的功夫4.1 如何从管理层讨论中提取护城河信号护城河不是从财务指标里长出来的但财务指标能验证护城河是否存在。真正要听的是公司在“管理层讨论与分析”里的用词。我把护城河信号分成五类定价权、重复购买、转换成本、网络效应、低成本制造。AI 从年报和电话会议纪要里提取每个信号的相关句子作为证据。比如一家公司连续多年提价但市场份额还在提升AI 会把“本年产品均价提升 X%”“客户流失率低于 1%”“复购客户贡献收入超过 70%”这几条证据收集起来归入“定价权”和“转换成本”。这里的关键是不让 AI 做“评价”只让 AI 做“摘录”。证据准不准以人工复核为准。我见过很多系统让 AI 给企业竞争战略打分结果就是各类商业术语大联欢看起来深刻实际上落地不了。我的原则是让 AI 当图书管理员别让它当书评家。4.2 负面新闻与专利动态的自动化监控风险监控是我认为价值投资框架里最值得加的一个模块。因为人的注意力天然会忽略慢变量但机器不会。我建了两条监控线。一条是负面事件线每天抓取目标公司的新闻、监管处罚、诉讼公告、分析师突然下调评级等事件用 LLM 做相关性判断和严重程度分级。比如一条普通的子公司法人变更和一条核心产品被禁售的消息严重程度完全不同。另一条是护城河侵蚀线监控行业里与目标公司核心优势相关的动态。如果目标公司靠专利保护吃饭那它竞争对手新获得的同领域核心专利就值得关注。自动监控完成后系统每天生成一份简报。简报第一行永远是“今天和昨天比哪些事实发生了变化”后续才放“需要关注的新闻链接和证据”。这能避免一个常见问题你每天看一堆信息好像很忙但实际上一个决定性信号被淹没在一千条日常动态里。4.3 一个真实案例从“双击”到“避开”说个我自己用这套框架避坑的例子。有一家主营小家电的公司财务数据连续五年都很漂亮ROE 稳定在 18%毛利率持续提升经营性现金流一直很好。按照传统价值投资视角这是一个“稳稳的好公司”。但我的风险监控模块在半年内连续收集到三条线索核心产品的市场占有率开始被一家跨界新进入者蚕食电商平台上的用户评价里抱怨产品设计老化的比例明显上升更关键的是公司提高了销售费用但营收增速并没有同步起来。这三条线索出现在 AI 生成的月报里被我注意到后我重新去翻了调研纪要发现管理层自己也开始强调“短期承压”。后来这家公司的股价经历了长时间的回调。回头复盘如果只看财务数据你会被惯性欺骗但把文本信号拉到同一张桌上故事就完整了。AI 在这里做的事情就是帮你把那些不起眼但正在累积的证据提前放到你眼前。5. 常见问题与排查技巧实录5.1 数据不齐、口径不一致怎么办数据问题占了整个框架维护成本的百分之四十。最常见的是不同源头的“净利润”含义不清比如归母净利润、扣非净利润、含少数股东权益的净利润差一点估值结果就会跟着变。我的处理方式是每种指标入库时都带一个“口径标签”。比如net_profit_parent、net_profit_deduced_nonrecurring用清晰的命名区分。计算时只允许同口径数据参与比较绝不跨口径计算。另外设置“数据完整性检查”某个字段缺失或抽取异常时系统不会静默跳过而是在报告里高亮标出提醒人工补充。宁可让分析暂时空着也不要让一个空值变成 0然后假装一切正常。5.2 LLM幻觉与数值计算陷阱金融场景里LLM 的幻觉是最容易被放大风险的点。它生成一个假数据普通人根本分辨不出来最后整个分析就被带偏了。我的解决办法分三层第一层凡是能通过代码计算的数字一律不走 LLM。财务指标、估值、增长率全部用 Python 计算LLM 只做题解不让它碰公式。 第二层LLM 输出任何引用数据时必须带来源标签来源不在给定数据上下文里就标注“未验证”。 第三层在 prompt 里加一句硬性约束“如果数据中不存在某个指标请回答‘无法从给定数据中推出’不要用通用知识补充。”这句话能直接砍掉大半个幻觉问题。5.3 回测中的幸存者偏差与过拟合框架跑了一段时间后自然有人会想让 AI 选一批公司然后回头看收益怎么样。这里隐藏的最大陷阱是幸存者偏差。如果你用今天还活着的公司名单去回测过去十年的历史策略那些已经退市、被并购、价格崩塌的公司会自动消失回测结果必然虚高。解决方法是必须使用“当时可得的公司名单”和“当时可得的数据”再加上退市公司一起回测否则你测出来的不是策略是幸存者的故事。过拟合就更常见了。某个因子在历史数据上特别有效你一加进去回测收益立刻漂亮大半。但换到未来这个因子可能毫无用处。我的做法是每个新因子必须在三个不同行业、两个不同市场周期里都保持稳定逻辑才允许进入正式评分流程。单一段历史数据的偶然规律不值得信任。5.4 问题速查表我把常遇到的问题做成了一张速查表方便排查现象可能原因处理方案财报数字对不上口径不一致检查指标口径标签统一到主数据源LLM 输出编造数据prompt 缺少约束在 prompt 中明确“只能基于给定数据回答”一年内的指标突变很夸张数据源合并错误或财报期数错位核对报告期检查是否把单季度当成了年度值估值区间宽到没有意义假设区间设置过大固定中性假设先看反向 DCF 的隐含预期新闻监控每天几百条过滤器过宽提高相关性阈值先只看直接公司实体回测收益严重偏高幸存者偏差加入已退市公司数据重新回测6. 后续还能怎么扩展6.1 多Agent协作研究、审计、反对者三角色当前版本还是“一人一机”的交互。我接下来的方向是做多 Agent 协作让几个 AI 扮演不同角色互相挑毛病。一个 Agent 负责常规研究输出乐观的基本面摘要另一个 Agent 专门当“反对者”只找这份摘要里的逻辑漏洞和数据矛盾第三个 Agent 做“审计员”检查前两个引用的数据是否真实、是否带来源。三份独立输出汇总到同一个工作台再由我拍板。这有点像给研究工作加了一层同行评审能有效减少单一模型盲区。不过我建议只在最重要的一小部分公司上启动这个模式因为它会显著增加 token 费用和推理时间。6.2 从研究框架到投资组合监控研究框架做顺手以后很自然会想用它来管理持仓。我现在把“研究清单”里没有解决的问题直接转成“待验证问题”按公司分组持续跟踪。当某个问题有了新证据系统会更新对应公司的档案并且给出“假设已改变”的提示。真正的组合管理层面我还没有开放任何自动调仓信号。理由是组合管理的核心是资金分配和风险预算那里面携带太多个人约束AI 很难理解你的真实处境。把“该不该买”和“买多少”彻底分开是这套框架最值得保留的边界感。多 Agent 审阅、负面事件监控、反向 DCF这些问题走通之后AI 价值投资研究框架会越来越像一个研究团队而不是一个计算器。它不替你决策但会让你每一次决策都站在一个更干净、更完整的桌面上。最后再分享一条我这几年最深的体会做投资研究工具的人最容易犯的错就是把“看起来智能”当成“真正可靠”。AI 价值投资框架的真正价值不是让你少思考而是让你把思考用在真正需要你判断的那几个问题上剩下的杂音交给机器去处理。先建立数据底座再上分析和监控最后小心地接入生成式 AI。这条路径对个人投资者和团队都适用。