🚀 零成本运行!LLM 驱动的 daily_stock_analysis 帮你搭建多市场股票智能分析中台

每天早上起床,一边刷牙一边扫一眼手机,看看昨晚美股收盘、今天 A 股盘前资讯,再翻几条突发新闻——这是多少投资人的日常。如果有一个系统能自动把这些信息汇总起来,再用大模型帮你提炼出关键信号、生成决策参考,还能完全零成本定时推送,是不是就不用再拼手速刷手机了?今天在 GitHub Trending 上看到的 daily_stock_analysis 正是这样一款让人眼前一亮的神器。

📦 第一印象:把“信息焦虑”变成“决策看板”

项目简介写得非常直接:LLM 驱动的多市场股票智能分析系统,多源行情、实时新闻、决策看板与自动推送,支持零成本定时运行。 这不是一个简单的爬虫 + 大模型调用,而是一套完整的分析中台。作者 ZhuLinsen 把它称为“零成本运行”,意味着不需要服务器,全部依靠免费的云服务实现每日定时采集和分析。

克隆代码后,目录结构让人很舒服:

.
├── config/          # 配置文件,定义关注的股票、数据源、LLM 参数
├── src/             # 核心逻辑:数据采集、LLM 分析、看板生成
├── output/          # 每日输出的 HTML 看板 & 报告
├── .github/workflows/  # GitHub Actions 定时任务
└── requirements.txt

一眼就知道这是一个“开箱即用”的工程,而不仅仅是概念验证。

🧠 核心能力:不止是新闻摘要,而是一个智能分析体

daily_stock_analysis 的核心流程可以概括为四个环节:

  • 多源行情抓取: 支持 A 股、港股、美股三大市场。通过免费 API(如东方财富、新浪财经、Alpha Vantage)实时拉取价格、涨跌幅、成交量等数据。
  • 实时新闻采集: 针对每只关注的股票,抓取官方公告、财经头条、社交媒体 high-light 信息,避免单一来源的偏见。
  • LLM 智能分析: 将结构化的行情数据和非结构化的新闻一起喂给大模型,让 LLM 扮演“分析师”,输出趋势判断、风险提示和操作建议。
  • 决策看板与推送: 分析结果自动生成一张可视化的 HTML 看板,并支持通过企业微信、钉钉、邮件等渠道主动推送。

最有趣的是,整个流程每天定时、全自动执行。随便看一段看板中的 LLM 输出示例(已脱敏):

【2026-06-24 早间分析】
市场情绪:偏谨慎
关注个股:XYZ
- 昨日收盘 108.50 元,+2.3%,突破 20 日均线
- 最新公告:拟回购 1~2 亿股,注销用于股权激励
- 消息面:多家机构上调目标价至 130 元
LLM 建议:短线可持有,若放量突破 112 元可加仓;中长线维持看好,但需防范大盘回调风险。

这种结构化、带理由的分析,比单纯的“今日涨跌”有价值得多。

⚙️ 技术揭秘:零成本定时运行的秘密

如何做到“零成本定时运行”?作者巧妙利用了 GitHub Actions 的免费额度。通过 .github/workflows/daily_run.yml 配置文件,每天固定时间触发一个工作流:

name: Daily Stock Analysis
on:
  schedule:
    - cron: '0 22 * * *'   # 北京时间早上 6 点执行
  workflow_dispatch:       # 支持手动触发

在这个工作流里,Python 脚本完成所有采集、调用 LLM、生成看板,最后把生成的 HTML 文件提交回仓库,这样就能通过 GitHub Pages 直接访问每日看板,连托管服务器的成本都省了。

关于 LLM 调用,项目默认兼容多个模型接口:OpenAI 格式的 API、本地 Ollama 模型,以及零成本的 Google Gemini 免费 API。在配置文件里填好 api_keymodel_name,系统会自动适配:

# 示例:使用 Google Gemini 免费接口
llm:
  provider: "google"
  model: "gemini-2.5-flash"
  api_key: "your-key"

这样就真正做到了几乎零费用:行情数据用免费 API,LLM 用免费额度,运行环境用 GitHub Actions,结果托管在 GitHub Pages。对于个人投资者而言,性价比拉满。

🧪 实际跑一遍:十个指令部署自己的智能分析站

我跟着文档走了一遍,整个安装过程比想象中平滑。假设你已经有 Python 3.10+ 和 Git,步骤如下:

git clone https://github.com/ZhuLinsen/daily_stock_analysis.git
cd daily_stock_analysis
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
cp config/config.example.yaml config/config.yaml
# 编辑 config.yaml:填入关注的股票代码、LLM API 密钥、推送渠道
python src/main.py  # 手动执行一次看效果

首次运行大约需要 1–2 分钟(取决于 LLM 响应速度),然后 output/ 目录下就会生成 report_2026-06-24.html。用浏览器打开,一个清晰的仪表盘展示在眼前:顶部是市场概览卡片,接着是每只股票的详细分析卡片,右侧有风险雷达图,底部是新闻摘要流。

最打动我的是卡片中 LLM 给出的“操作建议”并不是简单的买入/卖出/持有,而是结合了技术面、消息面和市场情绪,用自然语言给出非常人性化的逻辑。这种感觉就像每天早上有个投研助理在为你朗读纪要。

🌟 独特亮点:不止是个脚本,而是一个可演化的框架

仔细读码后,我发现 daily_stock_analysis 有几个设计非常值得借鉴:

  • 插件化数据源: 每个数据提供商封装成一个 DataSource 子类,新增数据源只需实现几个固定方法,不会影响现有逻辑。
  • Prompt 模板分离: LLM 的提示词并不硬编码在 Python 里,而是以 .j2 模板文件存放在 prompts/ 目录,方便非开发者调整分析角度。
  • 看板生成可定制: 使用 Jinja2 渲染 HTML,想换风格只要改模板,前端开发者可以自由发挥。
  • 多通道推送: 推送模块抽象为 Notifier 接口,目前已支持微信机器人、钉钉 Webhook、SMTP 邮件,扩展 Telegram 等只需几十行代码。

整个项目像是一个精心设计的“股票分析中台”微内核,而非一次性脚本。如果你想加入自己的因子分析、量化信号,或者接入其他市场数据,成本极低。

💡 为什么值得每个 Python 开发者 star

即使你不是股民,daily_stock_analysis 依然有三个学习的角度:

  1. LLM 应用工程范式: 展示了如何把大模型嵌入到多步骤自动化流程中,数据采集 → 预处理 → Prompt 组装 → 解析提取 → 展示推送,每一步都清晰解耦。
  2. 零成本 SaaS 化思路: 用 GitHub Actions + Pages 实现定时服务和静态托管,这对个人工具、原型验证非常实用。
  3. 工程化开源项目的模板: 从配置管理、工作流 CI/CD,到清晰的目录结构、说明文档,非常适合初学者学习如何构建一个规范的 Python 项目。

截至 2026 年 6 月 24 日,这个项目已经在 GitHub 上获得了 1.2k star。如果你也想拥有一个私人股票分析机器人,或者对 LLM + 金融的工程实践感兴趣,绝对值得 clone 下来跑一跑。毕竟,在这个信息过载的时代,能帮你过滤噪音、提炼信号的助手,永远不嫌多。