今天在 GitHub Trending 上看到一个有意思的项目:daily_stock_analysis,这是一个基于 AI 大模型的 A股/港股/美股/日股/韩股自选股智能分析系统,能够每日自动分析并推送「决策仪表盘」到企业微信/飞书/Telegram/Discord/Slack/邮箱,对量化爱好者和 AI 应用开发者都有很高的参考价值。
一、项目概述
daily_stock_analysis 是由 ZhuLinsen 开发的开源项目,核心目标是利用 AI 大模型对自选股进行每日智能分析,并自动推送结构化的决策仪表盘报告。项目支持 A股、港股、美股、ETF 的多市场数据聚合,覆盖行情、K线、技术指标、资金流、筹码、新闻、公告和基本面等全方位数据。
核心特性:
- 🤖 AI 决策报告:输出核心结论、评分、趋势、买卖点位、风险警报、催化因素、操作检查清单
- 📊 多市场数据聚合:A股、港股、美股、ETF 全覆盖,日股/韩股支持基础行情
- 🖥️ Web / 桌面工作台:手动分析、任务进度、历史报告、回测、持仓、配置管理
- 🤖 Agent 策略问股:支持均线、缠论、波浪、趋势、热点等 15 种内置策略
- 🔔 自动化与推送:GitHub Actions、Docker、本地定时任务,支持多种通知渠道
项目在 GitHub 上获得了较高的关注度,曾登上周趋势榜 Python 类目第 1 名,并被 HelloGitHub 推荐。
二、技术原理
架构设计
项目采用模块化设计,核心模块包括:
src/core/pipeline.py:股票分析流水线调度器src/core.market_review.py:大盘复盘模块src/services/:各类数据服务(行情、新闻、搜索等)api/:FastAPI 后端服务bot/:多平台通知 Bot(企业微信、飞书、Telegram 等)
核心技术栈
| 类型 | 技术选型 | 选型理由 |
|---|---|---|
| AI 模型 | LiteLLM(统一 LLM 客户端) | 支持 Gemini/Claude/OpenAI/DeepSeek 等主流模型,一键切换 |
| 行情数据 | efinance、AkShare、Tushare、YFinance 等多数据源 | 多优先级降级,保证数据可用性 |
| Web 框架 | FastAPI | 异步高性能,自带 API 文档 |
| 数据处理 | Pandas、NumPy | 金融数据分析标准库 |
| 定时任务 | schedule + GitHub Actions | 零成本云部署 |
数据分析流水线
从 main.py 的 run_full_analysis 函数可以看出,分析流程如下:
1. 刷新股票索引缓存
2. 读取自选股列表(支持热加载)
3. 交易日过滤(非交易日自动跳过)
4. 并发执行个股分析(线程池)
5. 大盘复盘(可选)
6. 生成决策仪表盘报告
7. 推送通知(支持合并推送)
8. 自动回测(可选)
核心代码片段(main.py):
pipeline = StockAnalysisPipeline(
config=config,
max_workers=args.workers,
query_id=query_id,
query_source="cli",
save_context_snapshot=save_context_snapshot,
)
results = pipeline.run(
stock_codes=stock_codes,
dry_run=args.dry_run,
send_notification=not args.no_notify,
merge_notification=merge_notification,
)
每日市场上下文机制
项目引入了「每日市场上下文」概念(src/services/daily_market_context.py),避免每次分析都重复生成大盘复盘报告,通过缓存和增量更新显著提升效率。
三、安装与快速开始
方式一:GitHub Actions(推荐)
5 分钟完成部署,零成本,无需服务器:
Fork 本仓库
配置 Secrets(
Settings→Secrets and variables→Actions)- AI 模型配置(至少配置一个):
ANSPIRE_API_KEYS(推荐)AIHUBMIX_KEY(推荐)GEMINI_API_KEYOPENAI_API_KEY
- 通知渠道配置(至少配置一个):
WECHAT_WEBHOOK_URL(企业微信)FEISHU_WEBHOOK_URL(飞书)TELEGRAM_BOT_TOKEN+TELEGRAM_CHAT_ID
- 自选股配置(必填):
STOCK_LIST:如600519,hk00700,AAPL
- AI 模型配置(至少配置一个):
启用 Actions:
Actions标签 → 启用工作流手动测试:
Actions→每日股票分析→Run workflow
方式二:本地运行
# 克隆项目
git clone https://github.com/ZhuLinsen/daily_stock_analysis.git
cd daily_stock_analysis
# 安装依赖
pip install -r requirements.txt
# 配置环境变量
cp .env.example .env && vim .env
# 运行分析
python main.py
常用命令:
python main.py --debug # 调试模式
python main.py --dry-run # 仅获取数据不分析
python main.py --stocks 600519,000001 # 指定股票
python main.py --webui # 启动 Web 界面
python main.py --schedule # 定时任务模式
四、使用方法与实战
基础用法:查看每日决策仪表盘
配置完成后,每个交易日 18:00(北京时间)会自动推送报告,格式如下:
🎯 2026-02-08 决策仪表盘
共分析3只股票 | 🟢买入:0 🟡观望:2 🔴卖出:1
📊 分析结果摘要
⚪ 中钨高新(000657): 观望 | 评分 65 | 看多
⚪ 永鼎股份(600105): 观望 | 评分 48 | 震荡
🟡 新莱应材(300260): 卖出 | 评分 35 | 看空
📰 重要信息速览
💭 舆情情绪: 市场关注其AI属性与业绩高增长,情绪偏积极
📊 业绩预期: 2025年前三季度扣非净利润同比暴涨407.52%
进阶用法:Agent 策略问股
在 Web 界面 /chat 页面,可以使用内置策略进行多轮问股:
- 均线金叉策略
- 缠论策略
- 波浪理论策略
- 多头趋势策略
- 热点题材策略
- 事件驱动策略
启动方式:
python main.py --webui
# 访问 http://127.0.0.1:8000/chat
实战示例:自定义分析流水线
通过修改 .env 文件,可以灵活配置分析参数:
# 开启单股推送(每分析完一只立即推送)
SINGLE_STOCK_NOTIFY=true
# 开启合并推送(个股+大盘复盘合并)
MERGE_EMAIL_NOTIFICATION=true
# 设置分析延迟(避免 API 限流)
ANALYSIS_DELAY=5
# 开启自动回测
BACKTEST_ENABLED=true
五、常见问题与解决方案
安装失败
问题:pip install -r requirements.txt 失败
解决方案:
- 使用 Python 3.10+ 版本
- 升级 pip:
pip install --upgrade pip - 分开安装依赖:
pip install tenacity sqlalchemy等逐个安装
运行时错误:API Key 无效
问题:AI 分析失败,报错 AuthenticationError
解决方案:
- 检查
.env中的 API Key 是否正确 - 确认 API Key 余额充足
- 尝试切换模型:
LITELLM_MODEL=gemini/gemini-pro
数据获取失败
问题:行情数据为空或报错
解决方案:
- 检查股票代码格式(A股:600519,港股:hk00700,美股:AAPL)
- 切换数据源优先级(编辑
.env中的DATA_SOURCE_PRIORITY) - 使用
--debug模式查看详细错误
推送通知失败
问题:企业微信/飞书推送失败
解决方案:
- 检查 Webhook URL 是否正确
- 确认网络可访问外部服务(或配置代理)
- 使用
--check-notify参数检查通知配置
性能问题:分析速度慢
问题:分析多只股票耗时过长
解决方案:
- 增加并发数:
python main.py --workers 8 - 减少数据源数量(关闭不必要的搜索源)
- 使用
--dry-run模式仅获取数据,后续再分析
六、总结
daily_stock_analysis 是一个功能非常完整的 AI 股票分析开源项目,其技术亮点在于:
- 多模型支持:通过 LiteLLM 统一接口,支持主流 AI 模型一键切换
- 多数据源降级:多个行情数据源按优先级自动降级,保证数据可用性
- 模块化设计:各功能模块解耦,便于二次开发和扩展
- 零成本部署:GitHub Actions 部署方案让普通用户也能快速上手
- Agent 策略问股:内置 15 种策略,支持多轮对话,体验接近专业量化平台
项目适合以下人群:
- 量化交易爱好者
- AI 应用开发者
- 需要每日股票分析报告的投资者
- 希望学习 AI + 金融结合方案的开发者
相关项目推荐:
⚠️ 免责声明:本项目仅供学习和研究使用,不构成任何投资建议。股市有风险,投资需谨慎。
项目地址:https://github.com/ZhuLinsen/daily_stock_analysis
Star 趋势:项目在 GitHub 上持续保持活跃更新,建议 Star 关注后续进展。