AI 股票分析:从“给结论”改成“交证据”
最后更新:
股票分析不是把代码和一堆材料扔给模型。先限定日期与问题,再收集带时间戳的数据,完成确定性计算,最后让模型组织证据、提出反例并标注未知项。
结论:先缩小问题,才能提高分析质量
“分析某公司值不值得买”同时包含行业、财务、估值、催化剂、风险和价格时点,模型很容易用通用话术填满空白。更好的问题是:“截至某日,公司最近两期毛利率变化由什么驱动,哪些证据支持,哪些仍无法确认?” 高质量报告的标准不是字数,而是每个关键结论都有来源或计算,推测被明确标记,缺失数据不被模型自行补齐。投资动作应在报告之外由用户根据自身约束决定。
一份研究任务应先写清六个字段
先定义研究边界,再让模型工作。标的、时点、问题、证据、输出和禁止动作共同决定了报告是否可验证,也决定缺失信息会不会被模型擅自补齐。
| 字段 | 示例 | 为什么必须 |
|---|---|---|
| 标的与市场 | 公司代码、交易所 | 避免同名与币种错误 |
| 知识截止日 | 截至指定交易日收盘 | 防止未来信息进入历史分析 |
| 研究问题 | 毛利率变化与可持续性 | 限制模型泛泛而谈 |
| 证据范围 | 公告、财报、电话会、行情 | 明确可以引用什么 |
| 输出结构 | 事实/计算/判断/未知 | 便于复核和下游处理 |
| 禁止动作 | 不下单、不预测目标价 | 隔离研究与执行权限 |
真实产品界面只是入口,报告仍需证据审计
daily_stock_analysis 提供任务、状态和报告入口,适合作为每日研究自动化的参考。锁定版本的渠道解析器和 LiteLLM Router 已获得真实非空回复,但 WebUI、全部行情源和最终股票报告没有在本轮完整验收。

把数据卡交给模型,而不是让模型自由找数字
数据层先输出带 source_id、event_time、period、currency、unit 和原文片段的数据卡;确定性代码计算同比、环比、利润率和估值;模型负责解释变化、找反方证据和生成引用。
财务、行情、新闻三种数据不能混成一种证据
财务数据有报告期、公告日和修订版本;行情数据有复权、时区和交易日;新闻有事件发生时间、发布时间和转载链。三类数据的时间语义不同,必须保留各自字段。 模型可以把它们串成叙事,但不能因为价格上涨就倒推某条新闻是原因。因果判断要说明替代解释、证据强弱和仍需验证的部分。
分析报告建议固定为四层
固定结构让不同模型的结果可比较,也便于人类只审查高风险判断。若模型没有找到来源,就应把该项放进未知,而不是用常识补齐。
- 事实:可以直接指向公告、财报或数据记录。
- 计算:公式、输入字段和单位可复算。
- 判断:说明推导与反方证据,不装成客观事实。
- 未知:缺失、冲突或需要后续验证的信息。
成本取决于材料长度和复核次数
一次任务成本 = 输入 token × 输入单价 + 输出 token × 输出单价 + 缓存读写费用 + 外部数据费用。模型价格和实际 token 只从当前模型目录与控制台调用日志读取,不在文章里复制一份会过时的数字。 财报全文和电话会很长,直接在每个 Agent 轮次重复发送会浪费输入 token。应先按章节和表格切分,保存检索结果,关键结论再回到原文复核;快速摘要与最终深度审查可使用不同模型。
错误处理要让用户知道哪一层失败
数据源缺失、PDF 解析失败、模型超时、工具返回空值和引用失效是不同错误。系统应标注失败阶段、保留 request_id 和可重试条件。若部分数据缺失,可以输出受限报告;若关键来源或时点无法确认,应停止生成投资结论,而不是把任务标为成功。
常见问题
AI 股票分析需要实时行情吗?
取决于问题。财报研究可用截止日数据,盘中决策才需要实时行情。任何报告都应标明数据截止时间。
为什么不能让模型自己搜索全部资料?
自由搜索难以保证来源、时间和覆盖一致。数据层先形成证据卡,模型再分析,更容易复核和重复运行。
AI 能算财务指标吗?
能写公式和解释,但关键指标最好由确定性代码计算,并保留输入字段、币种和单位。
每日股票报告可以直接作为买卖信号吗?
不建议。自动报告适合发现变化和安排研究优先级,交易还需要回测、风险约束和个人决策。
怎么比较两个模型的股票分析能力?
固定同一截止日、证据集、问题和输出结构,再比较来源准确、数字复算、未知项识别和成本,而不是只看文风。