

如果一个股票工具只是拉行情,它只是数据面板;如果它还能把行情、新闻、公告、舆情、技术指标、资金流、策略和大模型研判合成一份每日决策仪表盘,并自动推送到企业微信、飞书、Telegram、Discord、Slack 或邮箱,那它就更像一个“个人投研自动化助理”。
Daily Stock Analysis[1] 就是这样一个项目。它是一个 LLM 驱动的多市场股票智能分析系统,支持 A 股、港股、美股、ETF,以及日股、韩股等市场的自选股分析。
项目 README 的定位很明确:每日自动分析并推送“决策仪表盘”,覆盖核心结论、评分、趋势、买卖点位、风险警报、催化因素和操作检查清单。
本文仅做开源项目与技术功能介绍,不构成任何投资建议。股票市场有风险,任何交易决策都应以个人风险承受能力和独立判断为准。
README 中的核心产品预览是一张 Web 工作台演示动图。为确保公众号上传稳定,这里使用首帧图保留图位含义。

README 还展示了报告和大盘复盘效果,项目输出不是单纯一句“买卖建议”,而是偏完整的结构化研判。


Daily Stock Analysis 的核心能力可以分成六类。
第一,生成 AI 决策报告。报告包含核心结论、评分、趋势判断、买卖点位、风险警报、催化因素和操作检查清单。
第二,聚合多市场数据。项目支持 A 股、港股、美股、ETF,并扩展到日股、韩股等市场。数据源包括 efinance、akshare、tushare、pytdx、baostock、yfinance、longbridge、tickflow 等,按优先级和场景做 fallback。
第三,融合新闻和舆情。新闻源会显著影响公告、事件、风险和催化因素质量。README 推荐配置 Anspire AI Search、SerpAPI、Tavily、博查、Brave Search、MiniMax、SearXNG 等搜索源。
第四,多模型 AI 分析。项目通过 LiteLLM 统一接入 Gemini、Claude、OpenAI 兼容服务、DeepSeek、通义千问等模型,也支持 Anspire、AIHubMix 等聚合服务。
第五,多渠道自动推送。支持企业微信、飞书、Telegram、Discord、Slack 和邮件。报告可以以 Markdown、图片或渠道适配格式发送。
第六,Web 工作台与 Agent 问股。WebUI 提供配置管理、任务监控、手动分析、历史报告、完整 Markdown 报告、Agent 问股、回测、持仓管理、智能导入和深浅色主题。

从仓库结构和 README 看,Daily Stock Analysis 可以拆成六层。
第一层:输入层
输入可以是自选股列表、组合、手动参数、WebUI 配置,也可以通过图片识别和智能导入加入股票池。README 中要求至少配置 STOCK_LIST,例如 600519,hk00700,AAPL,7203.T,005930.KS。
第二层:数据层
数据源覆盖行情、K 线、指数、基本面、新闻、搜索和舆情。仓库中 data_provider/ 下有多个 fetcher:efinance_fetcher.py、akshare_fetcher.py、tushare_fetcher.py、pytdx_fetcher.py、baostock_fetcher.py、yfinance_fetcher.py、longbridge_fetcher.py、tickflow_fetcher.py 等。
第三层:分析层
核心分析模块会综合技术面、基本面、资金面、筹码结构、市场阶段、新闻事件和风险因素,输出评分、趋势状态、操作建议和风险控制。
从仓库自带 SKILL.md 看,分析结果 AnalysisResult 的 dashboard 主要包含四块:
•core_conclusion:一句话总结、信号类型和仓位建议。
•data_perspective:趋势状态、价格位置、量能分析和筹码结构。
•intelligence:新闻、风险警报和积极催化剂。
•battle_plan:狙击点、仓位策略和风险控制清单。
第四层:LLM 层
项目用 LiteLLM 统一模型调用,支持多模型、多供应商、联网搜索和路由。配置项包括 GEMINI_API_KEY、ANTHROPIC_API_KEY、OPENAI_API_KEY、OPENAI_BASE_URL、OPENAI_MODEL,以及 Anspire、AIHubMix 等服务。
第五层:应用层
包括命令行运行、GitHub Actions 定时任务、本地 WebUI、FastAPI 服务、Agent 策略问股、回测、持仓管理、历史报告、桌面客户端打包等。
第六层:输出层
输出可以是决策仪表盘、大盘复盘、完整 Markdown 报告、图片报告和多渠道通知。通知通道覆盖企业微信、飞书、Telegram、Discord、Slack 和邮箱。

一个典型每日分析流程是这样的。
1GitHub Actions 或本地 scheduler 在工作日触发,默认北京时间 18:00。
2读取 .env 或 GitHub Secrets,包括股票列表、模型 Key、搜索源 Key 和通知渠道。
3聚合多源行情、K 线、指数、技术指标、新闻、公告和舆情。
4调用 LLM 生成分析:评分、趋势、风险、催化、买卖点位和操作检查清单。
5渲染报告:生成决策仪表盘、大盘复盘和完整 Markdown。
6推送通知:根据配置发送到企业微信、飞书、Telegram、Discord、Slack 或邮箱。
7WebUI 保存历史报告,并支持后续手动分析、Agent 追问、回测和持仓管理。
这条链路的关键在于“自动化”:用户配置一次自选股和渠道后,可以让它在交易日定时跑完分析和推送。
README 推荐的方式是 GitHub Actions,因为它可以零成本定时运行。
大致步骤是:
1Fork 仓库。
2配置 Secrets。
3启用 Actions。
4在“每日股票分析”workflow 中手动测试。
5默认工作日 18:00 自动执行。
必填配置包括:
•STOCK_LIST:自选股代码,例如 600519,hk00700,AAPL。
•至少一个模型服务商 Key,例如 ANSPIRE_API_KEYS、AIHUBMIX_KEY、GEMINI_API_KEY、ANTHROPIC_API_KEY 或 OPENAI_API_KEY。
•至少一个通知渠道,例如企业微信、飞书、Telegram、Discord、Slack 或邮箱。
本地运行方式:
class="language-bash">git clone https://github.com/ZhuLinsen/daily_stock_analysis.git
cd daily_stock_analysis
pip install -r requirements.txt
cp .env.example .env
python main.py
常用命令包括:
class="language-bash">python main.py --debug
python main.py --dry-run
python main.py --stocks 600519,hk00700,AAPL
python main.py --market-review
python main.py --schedule
python main.py --serve-only
python main.py --webui
python main.py --webui-only
Web 工作台是这个项目比较完整的一面。启动方式:
class="language-bash">python main.py --webui
python main.py --webui-only
访问 http://127.0.0.1:8000 即可使用。
WebUI 支持:
•配置管理
•任务监控
•手动分析
•历史报告
•完整 Markdown 报告
•Agent 问股
•回测
•持仓管理
•智能导入
•浅色/深色主题
Agent 策略问股位于 Web /chat 页面。配置可用 AI API Key 后,可以围绕策略进行多轮提问。
内置策略包括:均线金叉、缠论、波浪理论、多头趋势、热点题材、事件驱动、成长质量、预期重估等。仓库 strategies/ 目录下也能看到对应 YAML 策略文件。
requirements.txt 里能看到项目对数据源做了多层 fallback。
行情数据源包括:
•efinance
•akshare
•tushare
•pytdx
•baostock
•yfinance
•longbridge
•tickflow
新闻与搜索服务包括:
•Tavily
•Google Search Results / SerpAPI
•Anspire AI Search
•博查搜索
•Brave Search
•SearXNG
这种设计的好处是:单一数据源不稳定时,可以有替代路径;但代价是配置项会比较多,用户需要根据市场和部署环境选择合适组合。
README 展示的“决策仪表盘”包含:
•分析股票数量
•买入 / 观望 / 卖出数量
•每只股票的评分、趋势和建议
•重要信息速览
•舆情情绪
•业绩预期
•风险警报
•利好催化
•最新动态
•生成时间
大盘复盘则包含:主要指数、市场概况、涨跌家数、涨停跌停、板块表现等。
通知渠道配置包括:
•WECHAT_WEBHOOK_URL:企业微信机器人
•FEISHU_WEBHOOK_URL:飞书机器人
•TELEGRAM_BOT_TOKEN + TELEGRAM_CHAT_ID
•DISCORD_WEBHOOK_URL
•SLACK_BOT_TOKEN + SLACK_CHANNEL_ID
•EMAIL_SENDER + EMAIL_PASSWORD
从仓库结构看,这不是一个简单脚本,而是一个覆盖 CLI、API、WebUI、Bot、策略和测试的完整项目。
主要目录包括:
•main.py:主入口,支持分析、调度、WebUI 等模式。
•server.py / webui.py:服务和 WebUI 入口。
•src/:核心业务逻辑,包括 analyzer、config、LLM、notification、scheduler、services、agent、schemas 等。
•data_provider/:多数据源行情 fetcher。
•api/:FastAPI API 层。
•bot/:机器人命令、分发和平台适配。
•strategies/:策略 YAML。
•templates/:报告模板。
•apps/:桌面端和 Web 端应用。
•docs/:完整配置、部署、通知、模型、市场支持等文档。
•tests/:覆盖数据源、LLM、通知、Agent、WebUI、回测、策略和 API 的测试。
依赖层面包括 Pandas、NumPy、SQLAlchemy、LiteLLM、OpenAI SDK、Tiktoken、FastAPI、Uvicorn、Playwright/Search 相关 SDK、各类行情源 SDK、通知渠道 SDK 等。
Daily Stock Analysis 适合以下人群:
•有固定自选股,希望每天自动生成复盘的人。
•想把 A/H/US/JP/KR 多市场信息统一到一个报告里的人。
•想用大模型辅助整理新闻、风险、催化和交易纪律的人。
•想通过企业微信、飞书、Telegram、Slack、Discord 或邮件自动接收报告的人。
•想搭建本地 Web 股票工作台,并进行策略问股、历史报告和回测管理的人。
•想研究“金融数据 + 搜索 + LLM + 通知自动化”工程架构的开发者。
这个项目的功能很完整,但金融工具一定要看边界。
第一,LLM 输出不是投资建议。大模型会受输入数据、新闻质量、提示词、市场噪声和模型幻觉影响。
第二,多数据源 fallback 不等于数据一定准确。行情、复权、盘口、资金流、新闻时效都可能存在延迟或误差。
第三,自动推送容易制造“确定性错觉”。决策仪表盘应该作为信息整理和风险提醒,而不是替代交易计划。
第四,GitHub Actions 零成本运行很方便,但 Secrets、通知 webhook、API key 都需要妥善管理。
•KISS:主流程可以简化为配置自选股、拉数据、调用 LLM、生成报告、推送通知,易于理解。
•YAGNI:初次使用不必配置全部数据源和全部通知渠道,只需要一个模型 Key、一个股票列表、一个通知渠道即可。
•SOLID:数据源、分析服务、通知服务、WebUI、Agent、策略、模板分层明确。
•DRY:统一报告模板、多渠道通知抽象、多数据源 fetcher 降低重复实现。
•潜在挑战:项目覆盖面很广,配置项多,建议先跑通 GitHub Actions 或本地 dry-run,再逐步打开 WebUI、Agent、回测和多模型路由。
Daily Stock Analysis 的价值,不是替用户“预测股价”,而是把多市场数据、实时资讯、AI 分析和多渠道通知整合成一条自动化投研流水线。
它更适合作为信息聚合、风险提示和交易纪律辅助系统,而不是自动交易或荐股系统。
声明:本文由山行整理自:Daily Stock Analysis GitHub 仓库[2],如果对您有帮助,请帮忙点赞、关注、收藏,谢谢~
参考链接
[1] Daily Stock Analysis: https://github.com/ZhuLinsen/daily_stock_analysis
[2] Daily Stock Analysis GitHub 仓库: https://github.com/ZhuLinsen/daily_stock_analysis