Stock Agent AI 模型的选股器实现 [五]

05 - 第三步:消息面与新闻摘要

消息面负责拉取「近期新闻」,并可选地用 LLM 做成一两句话摘要,再和原标题一起喂给综合评分,这样 LLM 既能抓住重点又能看到具体标题。本篇讲数据从哪来、摘要怎么生成、以及如何拼进 Prompt。


一、消息面在整体里的作用

  • 输入:一只股票的代码(ticker)。
  • 原始数据 :通过 yfinance 的 stock.news 拿到近期新闻列表(标题、链接、发布时间、来源等)。
  • 可选加工:用 LLM 对这批标题做「1~2 句话摘要 + 对股价偏多/中性/偏空」的概括。
  • 输出
    • 给报告展示:保留标题、链接、时间等,方便在卡片里看「近期新闻」。
    • 给综合 Prompt:若有摘要,就写「新闻摘要:xxx」再跟「近期标题:...」;没有摘要则只给标题列表。

这样综合评分时,模型既能看到「提炼后的观点」,又能按需参考具体新闻标题,可解释性更好。


二、新闻从哪里拉(get_news_summary)

  • 调用 yf.Ticker(ticker).news(或等价的 stock.news),取前 max_items 条(默认 10)。
  • 每条整理成:titlelinkpublisherpublished(时间截到秒)。
  • 返回格式:{"ok": True, "ticker": ticker, "news": [ ... ]}
  • 若接口异常或没有新闻,news 为空列表,后续摘要不会调用,Prompt 里消息面会写成「无」。

实现位置:agents/news.get_news_summary(ticker, max_items=10)


三、新闻摘要 LLM(get_news_summary_llm)

  • 输入 :ticker + 上面拿到的 news 列表(或任意「标题+时间」的列表)。
  • 做法 :把前几条标题(可带时间)拼成一段文字,调用 llm.ask_llm,Prompt 大意是:「请用 1~2 句话概括要点,并说明对股价影响偏多、中性还是偏空;直接输出摘要不要标题。」
  • 输出:一段纯文本摘要;若没有新闻或 LLM 调用失败,返回空字符串。

full_analysis 里:先 get_news_summary,若有 news 再调 get_news_summary_llm;然后把摘要和原标题列表一起交给 _build_prompt

实现位置:agents/news.get_news_summary_llm(ticker, news_items, max_titles=8)


四、在综合 Prompt 里长什么样

  • 有摘要时,消息面段落大致是:
    新闻摘要:<LLM 的 1~2 句 + 偏多/中性/偏空>\n近期标题:\n- 标题1 (时间1)\n- 标题2 (时间2)\n...
  • 无摘要时:只保留「近期标题」列表(最多 5 条在 Prompt 里,和前面「第一步」里说的数据来源一致)。

这样 LLM 在写「分析原因、评分理由」时,可以引用摘要或某条新闻,而不必自己从一堆标题里再归纳一遍。


五、小结与代码位置

  • 拉新闻agents/news.get_news_summary(ticker)
  • 新闻摘要agents/news.get_news_summary_llm(ticker, news_items)
  • 拼进 Promptagents/full_analysis._build_prompt 里根据 news_llm_summary 是否为空,决定消息面是「摘要+标题」还是「仅标题」。

下一步:06 - 第四步:财报与估值 ------ 财报数据、当前价/涨跌幅、PE/市值、以及财报解读 LLM 怎么用。

相关推荐
luoganttcc1 小时前
自动驾驶 世界模型 有哪些(二)
人工智能·机器学习·自动驾驶
人工智能AI技术1 小时前
315曝光AI投毒!用C#构建GEO污染检测与数据安全防护方案
人工智能·c#
xixihaha13242 小时前
将Python Web应用部署到服务器(Docker + Nginx)
jvm·数据库·python
Hamm2 小时前
不想花一分钱玩 OpenClaw?来,一起折腾这个!
javascript·人工智能·agent
xixihaha13242 小时前
Python游戏中的碰撞检测实现
jvm·数据库·python
_李小白2 小时前
【AI大模型学习笔记之平台篇】第二篇:Gemini
人工智能·音视频
一点一木2 小时前
🚀 2026 年 2 月 GitHub 十大热门项目排行榜 🔥
人工智能·github
理性的曜3 小时前
VoloData——基于LangChain的智能数据分析系统
人工智能·vscode·数据分析·npm·reactjs·fastapi·ai应用
flying_13143 小时前
图神经网络分享系列-MPNN(Neural Message Passing for Quantum Chemistry)(二)
人工智能·深度学习·神经网络·图神经网络·消息传递·门控机制·mpnn
HyperAI超神经3 小时前
AI驱动量子精修,卡内基梅隆大学等提出AQuaRef,首次用量子力学约束精修蛋白质全原子模型
人工智能·深度学习·机器学习·架构·机器人·cpu·量子计算