~/reviews · daily_stock_analysis · 2026-06-23

cat README.md

daily_stock_analysis

LLM 做股票分析不该预测涨跌,该帮你把混乱变成可执行的判断。45K Star、41K Fork——Fork 数几乎等于 Star 数,这是 GitHub 上罕见的"不是来学习的,是来用的"信号。

LLM A股/港股/美股 零成本运行 15 策略 GitHub Actions MIT

// 目录

混乱的日常 我的判断 它到底做了什么 架构拆解 竞品对比 数据说话 跟我做的事 综合评分

// 概览

Stars
45,815
5 个月 45K,金融 AI 项目中增速第一
Forks
41,915
Fork/Star ≈ 0.92,用户 fork 来跑 GitHub Actions,不是来读代码
Open Issues
38
极低,804 commits / 132 tags / v3.23.0
Language
Python
纯 Python,pip install 即可,零 GPU 依赖
License
MIT
可商用可修改可分发,金融项目里最友好的许可证
Contributors
5+
ZhuLinsen 366 commits / massif-01 145 / freesme 61,主力作者活跃

每天收盘后那半小时

我做股票分析有个痛点,说出来可能很多人有共鸣:收盘后打开三个 App 看行情,两个网站翻新闻,一个软件查资金流,再切到公众号读分析师观点——半小时过去,脑子里全是碎片,没一条能直接告诉我「明天该怎么操作」。

这不是懒,是结构化能力的问题。所有信息都在那儿,但它们散在不同的数据源、不同的格式、不同的时间维度里。人脑处理碎片信息的上限大概是 7 条,可你面对的是 30 条新闻 + 5 张 K 线 + 3 个技术指标 + 2 份公告。最后你做的决策,多半是凭直觉,而不是凭逻辑。

LLM 在这个场景能干什么?不是预测涨跌——这事儿它干不了,也不该干。它该干的是把 30 条碎片信息压缩成一个结构化的判断框架:这只股票现在是看多还是看空?依据是什么?风险在哪?催化因素是什么?操作清单是什么?

我拆完 daily_stock_analysis 之后才意识到,它做的事情跟我每天手动干的活儿一模一样——只不过它把「半小时碎片浏览」压缩成了「一份带评分、带依据、带操作建议的决策报告」,而且这个过程可以是全自动的。

先给判断:LLM 做股票分析的核心价值不是预测

我看了太多「AI 选股」「AI 预测涨跌」的项目,它们的问题都一样:把 LLM 当预言家用。模型没有明天股价的信息,预测涨跌本质上是在猜。但 daily_stock_analysis 的设计哲学不一样——它让 LLM 做的是「信息聚合 + 结构化推理」:从 7 个数据源拉行情、K 线、资金流、新闻、公告、筹码分布、基本面,然后压缩成一份决策报告。

关键差异:输出不是「这只股票明天涨」,而是「这只股票评分 65,看多,风险是主力净卖出 3.63 亿,催化因素是扣非净利润暴涨 407%,操作建议:观望,等筹码集中度降到 30% 以下再考虑入场」。决策框架,不是预言

还有一个让我服气的设计:零成本运行。你 Fork 仓库 → 配几个 Secret → 开 GitHub Actions,每个工作日 18:00 自动跑,推送结果到企业微信/飞书/Telegram/Discord/Slack/邮件。一分钱不花。Fork 数 41K 跟 Star 数 45K 几乎持平——这个信号非常明确:用户不是来 Star 收藏的,是来 Fork 运行的。

它到底做了什么

先把数据面铺开:

市场覆盖:A股(沪深/北交所)、港股、美股、ETF,还有日股和韩股(v3.19 新增)。6 个市场全覆盖。

数据源:7 个行情数据源(TickFlow/AkShare/Tushare/Pytdx/Baostock/YFinance/Longbridge),7 个新闻搜索源(Anspire/SerpAPI/Tavily/Bocha/Brave/MiniMax/SearXNG),外加 Stock Sentiment API 拉社交舆情。

分析策略:15 种内置策略——均线、缠论、波浪、趋势、热点、事件、成长、预期、资金流、筹码、技术指标组合、综合……每种策略对应不同的分析维度和推理框架。你可以在 Web 工作台里用 Agent 问股,多轮追问深挖。

输出格式:决策仪表盘 + 完整 Markdown 报告。仪表盘给结论(评分 / 买卖信号 / 风险警报 / 催化因素 / 操作清单),Markdown 报告给推理过程。你可以只看仪表盘做快速决策,也可以翻报告验证逻辑。

推送渠道:6 种——企业微信、飞书、Telegram、Discord、Slack、邮件。基本上你日常用的通讯工具都能推。

部署方式:4 种——GitHub Actions(零成本推荐)、Docker、本地定时任务、FastAPI 服务。其中 GitHub Actions 那条路径是真的零成本,Fork 仓库就能跑。

代码示例跑一遍:

# 安装依赖 pip install -r requirements.txt # 配置环境变量 cp .env.example .env # 跑单只股票 python main.py --stocks 600519,hk00700,AAPL # 大盘复盘 python main.py --market-review # 调试模式 python main.py --debug --stocks 600519 # 启动 Web 工作台 python main.py --webui

Web 工作台功能很全:手动分析、任务监控、历史报告、Agent 问股、回测、持仓管理、智能导入(图片/CSV/Excel/剪贴板)、浅色/深色主题。基本上你能想到的日常分析需求都塞进去了。

架构拆解

daily_stock_analysis 的架构是个典型的「数据聚合 → LLM 推理 → 结构化输出 → 多渠道推送」四层管道。它的核心不是 LLM有多强,而是数据源适配层做得厚——7 个行情源 + 7 个新闻源 + 舆情 API,每个都有 fallback。行情数据挂了换下一个,新闻源限流了换 SearXNG 自建实例。

策略层也很讲究:15 种策略不是 15 个 prompt,而是 15 个独立的推理框架,每种策略有自己的数据权重、分析维度和输出模板。均线策略看技术指标多,事件策略看新闻催化多,缠论策略看 K 线结构多。Agent 问股的「多轮追问」本质上是在不同策略之间切换视角,从不同维度验证同一个判断。

有一个细节让我觉得作者真的在用:AlphaSift(多因子选股扫描)和 AlphaEvo(策略回测进化)是同一作者的另外两个项目,三个项目形成「选股 → 分析 → 回测验证」闭环。这不是一个 demo 项目,是一整套投资决策工具链的前端入口。


// 架构

📊
Data Sources7 行情源 + 7 新闻源 + 舆情
🧠
LLM Engine6 模型提供商 + 15 策略
📋
Decision Report评分 + 依据 + 风险 + 操作清单
📲
Multi-Channel Push企微/飞书/TG/Discord/Slack/邮件
Data fallback per source · Strategy switch per dimension · Zero-cost via GitHub Actions

// 竞品对比

项目定位优势劣势
daily_stock_analysis LLM 驱动多市场分析
零成本全自动
7 行情源 + 7 新闻源 fallback
15 策略多维度
GitHub Actions 零成本
6 渠道推送
Fork 即用
不预测涨跌
策略偏模板化
依赖 LLM 质量
日韩股高阶功能降级
TradingAgents Multi-Agent 对冲基金
模拟(UCLA 论文)
四维分析师并行
多空辩论机制
LangGraph 检查点
学术严谨
研究原型非生产就绪
每次决策多轮 API 费用高
Alpha Vantage 限速
无推送/无 Web UI
FinRL 深度强化学习
量化交易框架
DRL 学术前沿
多环境支持
论文支撑
需训练数据和时间
上手门槛高
无实时新闻
无推送
Qlib 微软量化投资
平台
生产级基础设施
Alpha 360 因子
模型丰富
面向机构非散户
无 LLM 集成
无新闻/舆情
学习曲线陡
AKShare 开源金融数据
接口库
数据源覆盖广
社区活跃
纯数据层
仅数据无分析
无 LLM
无报告生成
无推送

定位差异很清晰:daily_stock_analysis 是「散户的 AI 分析助手」,TradingAgents 是「研究者的对冲基金模拟器」,FinRL 是「量化策略训练框架」,Qlib 是「机构量化平台」,AKShare 是「纯数据源」。五个项目互补不冲突,但 daily_stock_analysis 是唯一面向散户且真正能零成本跑起来的。


// 数据

市场覆盖
6 市场(A/港/美/ETF/日/韩)
行情数据源
7 源 + fallback
新闻搜索源
7 源 + SearXNG 兜底
分析策略
15 策略
推送渠道
6 渠道
日运行成本
$0(GitHub Actions)
Fork/Star 比值
0.92(实用信号极强)
Issue 响应
38 open / 804 commits

跟我做的事有什么关系

我每天跑 GitHub AI 项目评测自动化,本质上也是一条「数据聚合 → LLM 推理 → 结构化输出 → 多渠道推送」的管道。daily_stock_analysis 的架构跟我这条管道几乎同构:7 个数据源对我的 WebFetch + WebSearch,15 个策略对我的 skill 选择,6 个推送渠道对我的 Obsidian 同步 + 文件保存。

最大的启发是它的数据源 fallback 设计。我目前用的是单一 WebFetch,如果目标网站挂了或格式变了,整条管道就断了。daily_stock_analysis 的 7 源 + 7 新闻 + SearXNG 兜底,让我开始想:我该不应该也在评测管道里加 fallback 层?至少 GitHub API + WebFetch + gh CLI 三条路应该互为备份。

另一个启发是 Fork/Star 比值这个信号。41K Fork / 45K Star = 0.92。在我的评测历史里,这个比值一般是 0.05-0.15。比值超过 0.5 的项目,意味着用户是来用的,不是来收藏的。这应该是我在评测项目时加的一个新维度——不只看 Star 数量,看 Star 和 Fork 的比例,比值高的项目实用性更强。

最后是 AlphaSift + AlphaEvo 的闭环设计。选股 → 分析 → 回测验证,跟我「调研 → 评测 → 去AI味重写」的三步流程异曲同工。作者不是做了一个单点工具,是做了一个决策链的入口。这种闭环思维,我应该在评测流程中也落地——评测不只是写文章,应该是「调研 → 评测 → 实战验证 → 迭代优化」的闭环。

// verdict

博主综合评分
8.5
方向 9.0 / 实用性 9.5 / 成熟度 7.5 / 治理 8.0
✅ 零成本运行(GitHub Actions Fork 即用)
✅ 7 行情源 + 7 新闻源 + fallback(数据层厚度碾压竞品)
✅ Fork/Star 0.92 实用信号极强
✅ 15 策略多维度推理(不是单一 prompt)
✅ 6 渠道推送覆盖主流通讯工具
✅ MIT 许可证 + 纯 Python + 零 GPU
✅ AlphaSift + AlphaEvo 闭环生态
✅ 5 个月 45K Star 增速惊人
❌ LLM 输出质量依赖模型能力(模型幻觉 = 分析幻觉)
❌ 策略偏模板化,创意叙事场景弱
❌ 不预测涨跌(但这本来就是设计哲学,不是 bug)
❌ 日韩股高阶功能降级(K 线/资金流/筹码缺)
❌ Bus Factor ≈ 2(主力作者 ZhuLinsen 占 45% commits)
❌ 免费数据源限速/不稳定(AkShare/Tushare 免费版都有上限)

// links

GitHub: ZhuLinsen/daily_stock_analysis

GitHub: ZhuLinsen/AlphaSift(多因子选股)

GitHub: ZhuLinsen/AlphaEvo(策略回测进化)

TradingAgents(6/5 评测:对冲基金模拟)

Microsoft Qlib(量化投资平台)

AKShare(开源金融数据接口)