ZhuLinsen

    ZhuLinsen/daily_stock_analysis

    LLM驱动的 A/H/美股智能分析器,多数据源行情 + 实时新闻 + LLM决策仪表盘 + 多渠道推送,零成本,纯白嫖,定时运行

    ai-agents
    ai
    llm
    agent
    aigc
    gemini
    quant
    quantitative-trading
    rag
    stock
    Python
    MIT
    20.5K stars
    21.3K forks
    20.5K watching
    Updated 3/15/2026
    View on GitHub
    Backblaze Advertisement

    Loading star history...

    Health Score

    75

    Weekly Growth

    +3.2K

    +15.4% this week

    Contributors

    1

    Total contributors

    Open Issues

    29

    Generated Insights

    About daily_stock_analysis

    📈 股票智能分析系统

    GitHub stars CI License: MIT Python 3.10+ GitHub Actions Docker

    🤖 基于 AI 大模型的 A股/港股/美股自选股智能分析系统,每日自动分析并推送「决策仪表盘」到企业微信/飞书/Telegram/邮箱

    功能特性 · 快速开始 · 推送效果 · 完整指南 · 常见问题 · 更新日志

    简体中文 | English | 繁體中文

    💖 赞助商 (Sponsors)


    ✨ 功能特性

    模块功能说明
    AI决策仪表盘一句话核心结论 + 精确买卖点位 + 操作检查清单
    分析多维度分析技术面(盘中实时 MA/多头排列)+ 筹码分布 + 舆情情报 + 实时行情
    市场全球市场支持 A股、港股、美股及美股指数(SPX、DJI、IXIC 等)
    策略市场策略系统内置 A股「三段式复盘策略」与美股「Regime Strategy」,输出进攻/均衡/防守或 risk-on/neutral/risk-off 计划,并附“仅供参考,不构成投资建议”提示
    复盘大盘复盘每日市场概览、板块涨跌;支持 cn(A股)/us(美股)/both(两者) 切换
    智能导入多源导入支持图片、CSV/Excel 文件、剪贴板粘贴;Vision LLM 提取代码+名称;置信度分层确认;名称→代码解析(本地+拼音+AkShare)
    回测AI 回测验证自动评估历史分析准确率,方向胜率、止盈止损命中率
    Agent 问股策略对话多轮策略问答,支持均线金叉/缠论/波浪等 11 种内置策略,Web/Bot/API 全链路
    推送多渠道通知企业微信、飞书、Telegram、钉钉、邮件、Pushover
    自动化定时运行GitHub Actions 定时执行,无需服务器

    历史报告详情会优先展示 AI 返回的原始「狙击点位」文本,避免区间价、条件说明等复杂内容在历史回看时被压缩成单个数字。

    技术栈与数据来源

    类型支持
    AI 模型AIHubMix、Gemini、OpenAI 兼容、DeepSeek、通义千问、Claude 等(统一通过 LiteLLM 调用,支持多 Key 负载均衡)
    行情数据AkShare、Tushare、Pytdx、Baostock、YFinance
    新闻搜索Tavily、SerpAPI、Bocha、Brave、MiniMax

    注:美股历史数据与实时行情统一使用 YFinance,确保复权一致性

    内置交易纪律

    规则说明
    严禁追高乖离率超阈值(默认 5%,可配置)自动提示风险;强势趋势股自动放宽
    趋势交易MA5 > MA10 > MA20 多头排列
    精确点位买入价、止损价、目标价
    检查清单每项条件以「满足 / 注意 / 不满足」标记
    新闻时效可配置新闻最大时效(默认 3 天),避免使用过时信息

    🚀 快速开始

    方式一:GitHub Actions(推荐)

    5 分钟完成部署,零成本,无需服务器。

    1. Fork 本仓库

    点击右上角 Fork 按钮(顺便点个 Star⭐ 支持一下)

    2. 配置 Secrets

    SettingsSecrets and variablesActionsNew repository secret

    AI 模型配置(至少配置一个)

    详细配置说明见 LLM 配置指南(三层配置、渠道模式、Vision、Agent、排错)。进阶用户可配置 LITELLM_MODELLITELLM_FALLBACK_MODELSLLM_CHANNELS 多渠道模式。

    💡 推荐 AIHubMix:一个 Key 即可使用 Gemini、GPT、Claude、DeepSeek 等全球主流模型,无需科学上网,含免费模型(glm-5、gpt-4o-free 等),付费模型高稳定性无限并发。本项目可享 10% 充值优惠

    Secret 名称说明必填
    AIHUBMIX_KEYAIHubMix API Key,一 Key 切换使用全系模型,免费模型可用可选
    GEMINI_API_KEYGoogle AI Studio 获取免费 Key(需科学上网)可选
    ANTHROPIC_API_KEYAnthropic Claude API Key可选
    ANTHROPIC_MODELClaude 模型(如 claude-3-5-sonnet-20241022可选
    OPENAI_API_KEYOpenAI 兼容 API Key(支持 DeepSeek、通义千问等)可选
    OPENAI_BASE_URLOpenAI 兼容 API 地址(如 https://api.deepseek.com/v1可选
    OPENAI_MODEL模型名称(如 gemini-3.1-pro-previewgemini-3-flash-previewgpt-5.2可选
    OPENAI_VISION_MODEL图片识别专用模型(部分第三方模型不支持图像;不填则用 OPENAI_MODEL可选

    注:AI 优先级 Gemini > Anthropic > OpenAI(含 AIHubmix),至少配置一个。AIHUBMIX_KEY 无需配置 OPENAI_BASE_URL,系统自动适配。图片识别需 Vision 能力模型。DeepSeek 思考模式(deepseek-reasoner、deepseek-r1、qwq、deepseek-chat)按模型名自动识别,无需额外配置。

    通知渠道配置(点击展开,至少配置一个)
    Secret 名称说明必填
    WECHAT_WEBHOOK_URL企业微信 Webhook URL可选
    FEISHU_WEBHOOK_URL飞书 Webhook URL可选
    TELEGRAM_BOT_TOKENTelegram Bot Token(@BotFather 获取)可选
    TELEGRAM_CHAT_IDTelegram Chat ID可选
    TELEGRAM_MESSAGE_THREAD_IDTelegram Topic ID (用于发送到子话题)可选
    EMAIL_SENDER发件人邮箱(如 [email protected]可选
    EMAIL_PASSWORD邮箱授权码(非登录密码)可选
    EMAIL_RECEIVERS收件人邮箱(多个用逗号分隔,留空则发给自己)可选
    EMAIL_SENDER_NAME邮件发件人显示名称(默认:daily_stock_analysis股票分析助手)可选
    STOCK_GROUP_N / EMAIL_GROUP_N股票分组发往不同邮箱(如 STOCK_GROUP_1=600519,300750 [email protected]可选
    PUSHPLUS_TOKENPushPlus Token(获取地址,国内推送服务)可选
    PUSHPLUS_TOPICPushPlus 群组编码(一对多推送,配置后消息推送给群组所有订阅用户)可选
    SERVERCHAN3_SENDKEYServer酱³ Sendkey(获取地址,手机APP推送服务)可选
    CUSTOM_WEBHOOK_URLS自定义 Webhook(支持钉钉等,多个用逗号分隔)可选
    CUSTOM_WEBHOOK_BEARER_TOKEN自定义 Webhook 的 Bearer Token(用于需要认证的 Webhook)可选
    WEBHOOK_VERIFY_SSLWebhook HTTPS 证书校验(默认 true)。设为 false 可支持自签名证书。警告:关闭有严重安全风险,仅限可信内网可选
    SINGLE_STOCK_NOTIFY单股推送模式:设为 true 则每分析完一只股票立即推送可选
    REPORT_TYPE报告类型:simple(精简)、full(完整)、brief(3-5句概括),Docker环境推荐设为 full可选
    REPORT_SUMMARY_ONLY仅分析结果摘要:设为 true 时只推送汇总,不含个股详情可选
    REPORT_TEMPLATES_DIRJinja2 模板目录(相对项目根,默认 templates可选
    REPORT_RENDERER_ENABLED启用 Jinja2 模板渲染(默认 false,保证零回归)可选
    REPORT_INTEGRITY_ENABLED启用报告完整性校验,缺失必填字段时重试或占位补全(默认 true可选
    REPORT_INTEGRITY_RETRY完整性校验重试次数(默认 10 表示仅占位不重试)可选
    REPORT_HISTORY_COMPARE_N历史信号对比条数,0 关闭(默认),>0 启用可选
    ANALYSIS_DELAY个股分析和大盘分析之间的延迟(秒),避免API限流,如 10可选
    MERGE_EMAIL_NOTIFICATION个股与大盘复盘合并推送(默认 false),减少邮件数量可选
    MARKDOWN_TO_IMAGE_CHANNELS将 Markdown 转为图片发送的渠道(逗号分隔):telegram,wechat,custom,email可选
    MARKDOWN_TO_IMAGE_MAX_CHARS超过此长度不转图片,避免超大图片(默认 15000可选
    MD2IMG_ENGINE转图引擎:wkhtmltoimage(默认)或 markdown-to-file(emoji 更好)可选

    至少配置一个渠道,配置多个则同时推送。图片发送与引擎安装细节请参考 完整指南

    其他配置

    Secret 名称说明必填
    STOCK_LIST自选股代码,如 600519,hk00700,AAPL,TSLA
    TAVILY_API_KEYSTavily 搜索 API(新闻搜索)推荐
    MINIMAX_API_KEYSMiniMax Coding Plan Web Search(结构化搜索结果)可选
    SERPAPI_API_KEYSSerpAPI 全渠道搜索可选
    BOCHA_API_KEYS博查搜索 Web Search API(中文搜索优化,支持AI摘要,多个key用逗号分隔)可选
    BRAVE_API_KEYSBrave Search API(隐私优先,美股优化,多个key用逗号分隔)可选
    TUSHARE_TOKENTushare Pro Token可选
    PREFETCH_REALTIME_QUOTES实时行情预取开关:设为 false 可禁用全市场预取(默认 true可选
    WECHAT_MSG_TYPE企微消息类型,默认 markdown,支持配置 text 类型,发送纯 markdown 文本可选
    NEWS_MAX_AGE_DAYS新闻最大时效(天),默认 3,避免使用过时信息可选
    BIAS_THRESHOLD乖离率阈值(%),默认 5.0,超过提示不追高;强势趋势股自动放宽可选
    AGENT_MODE开启 Agent 策略问股模式(true/false,默认 false)可选
    AGENT_SKILLS激活的策略(逗号分隔),all 启用全部 11 个;不配置时默认 4 个,详见 .env.example可选
    AGENT_MAX_STEPSAgent 最大推理步数(默认 10)可选
    AGENT_STRATEGY_DIR自定义策略目录(默认内置 strategies/可选
    TRADING_DAY_CHECK_ENABLED交易日检查(默认 true):非交易日跳过执行;设为 false 或使用 --force-run 强制执行可选

    3. 启用 Actions

    Actions 标签 → I understand my workflows, go ahead and enable them

    4. 手动测试

    Actions每日股票分析Run workflowRun workflow

    完成

    默认每个**工作日 18:00(北京时间)**自动执行,也可手动触发。默认非交易日(含 A/H/US 节假日)不执行。

    💡 关于跳过交易日检查的两种机制:

    机制配置方式生效范围适用场景
    TRADING_DAY_CHECK_ENABLED=false环境变量/Secrets全局、长期有效测试环境、长期关闭检查
    force_run (UI 勾选)Actions 手动触发时选择单次运行临时在非交易日执行一次
    • 环境变量方式:在 .env 或 GitHub Secrets 中设置,影响所有运行方式(定时触发、手动触发、本地运行)
    • UI 勾选方式:仅在 GitHub Actions 手动触发时可见,不影响定时任务,适合临时需求

    方式二:本地运行 / Docker 部署

    # 克隆项目
    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
    

    Docker 部署、定时任务配置请参考 完整指南 桌面客户端打包请参考 桌面端打包说明

    📱 推送效果

    决策仪表盘

    🎯 2026-02-08 决策仪表盘
    共分析3只股票 | 🟢买入:0 🟡观望:2 🔴卖出:1
    
    📊 分析结果摘要
    ⚪ 中钨高新(000657): 观望 | 评分 65 | 看多
    ⚪ 永鼎股份(600105): 观望 | 评分 48 | 震荡
    🟡 新莱应材(300260): 卖出 | 评分 35 | 看空
    
    ⚪ 中钨高新 (000657)
    📰 重要信息速览
    💭 舆情情绪: 市场关注其AI属性与业绩高增长,情绪偏积极,但需消化短期获利盘和主力流出压力。
    📊 业绩预期: 基于舆情信息,公司2025年前三季度业绩同比大幅增长,基本面强劲,为股价提供支撑。
    
    🚨 风险警报:
    
    风险点1:2月5日主力资金大幅净卖出3.63亿元,需警惕短期抛压。
    风险点2:筹码集中度高达35.15%,表明筹码分散,拉升阻力可能较大。
    风险点3:舆情中提及公司历史违规记录及重组相关风险提示,需保持关注。
    ✨ 利好催化:
    
    利好1:公司被市场定位为AI服务器HDI核心供应商,受益于AI产业发展。
    利好2:2025年前三季度扣非净利润同比暴涨407.52%,业绩表现强劲。
    📢 最新动态: 【最新消息】舆情显示公司是AI PCB微钻领域龙头,深度绑定全球头部PCB/载板厂。2月5日主力资金净卖出3.63亿元,需关注后续资金流向。
    
    ---
    生成时间: 18:00
    

    大盘复盘

    🎯 2026-01-10 大盘复盘
    
    📊 主要指数
    - 上证指数: 3250.12 (🟢+0.85%)
    - 深证成指: 10521.36 (🟢+1.02%)
    - 创业板指: 2156.78 (🟢+1.35%)
    
    📈 市场概况
    上涨: 3920 | 下跌: 1349 | 涨停: 155 | 跌停: 3
    
    🔥 板块表现
    领涨: 互联网服务、文化传媒、小金属
    领跌: 保险、航空机场、光伏设备
    

    ⚙️ 配置说明

    📖 完整环境变量、定时任务配置请参考 完整配置指南

    🖥️ Web 界面

    img.png

    包含完整的配置管理、任务监控和手动分析功能。

    可选密码保护:在 .env 中设置 ADMIN_AUTH_ENABLED=true 可启用 Web 登录,首次访问在网页设置初始密码,保护 Settings 中的 API 密钥等敏感配置。详见 完整指南

    智能导入

    设置 → 基础设置 中找到「智能导入」区块,支持三种方式添加自选股:

    1. 图片:拖拽或选择自选股截图(如 APP 持仓页、行情列表),Vision AI 自动识别代码+名称,并给出置信度
    2. 文件:上传 CSV 或 Excel (.xlsx),自动解析代码/名称列
    3. 粘贴:从 Excel 或表格复制后粘贴,点击「解析」即可

    预览与合并:高置信度默认勾选,中/低置信度需手动勾选;支持按代码去重、清空、全选;仅合并已勾选且解析成功的项。

    配置与限制

    • 图片需配置 Vision API(GEMINI_API_KEYANTHROPIC_API_KEYOPENAI_API_KEY 至少一个)
    • 图片:JPG/PNG/WebP/GIF,≤5MB;文件:≤2MB;粘贴文本:≤100KB

    APIPOST /api/v1/stocks/extract-from-image(图片)、POST /api/v1/stocks/parse-import(文件/粘贴)。详见 完整指南

    LLM 用量查询GET /api/v1/usage/summary?period=today|month|all,返回按调用类型和模型分组的 token 消耗汇总(total_callstotal_tokensby_call_typeby_model)。

    🤖 Agent 策略问股

    .env 中设置 AGENT_MODE=true 后启动服务,访问 /chat 页面即可开始多轮策略问答。

    • 选择策略:均线金叉、缠论、波浪理论、多头趋势等 11 种内置策略
    • 自然语言提问:如「用缠论分析 600519」,Agent 自动调用实时行情、K线、技术指标、新闻等工具
    • 流式进度反馈:实时展示 AI 思考路径(行情获取 → 技术分析 → 新闻搜索 → 生成结论)
    • 多轮对话:支持追问上下文,会话历史持久化保存
    • 导出与发送:可将会话导出为 .md 文件,或发送到已配置的通知渠道
    • 后台执行:切换页面不中断分析,完成时 Dock 问股图标显示角标
    • Bot 支持/ask <code> [strategy] 命令触发策略分析
    • 自定义策略:在 strategies/ 目录下新建 YAML 文件即可添加策略,无需写代码

    注意:Agent 模式依赖外部 LLM(Gemini/OpenAI 等),每次对话会产生 API 调用费用。不影响非 Agent 模式(AGENT_MODE=false 或未设置)的正常运行。

    启动方式

    1. 启动服务(默认会自动编译前端)
      python main.py --webui       # 启动 Web 界面 + 执行定时分析
      python main.py --webui-only  # 仅启动 Web 界面
      
      启动时会在 apps/dsa-web 自动执行 npm install && npm run build。 如需关闭自动构建,设置 WEBUI_AUTO_BUILD=false,并改为手动执行:
      cd ./apps/dsa-web
      npm install && npm run build
      cd ../..
      

    访问 http://127.0.0.1:8000 即可使用。

    也可以使用 python main.py --serve (等效命令)

    🗺️ Roadmap

    查看已支持的功能和未来规划:更新日志

    有建议?欢迎 提交 Issue


    ☕ 支持项目

    如果本项目对你有帮助,欢迎支持项目的持续维护与迭代,感谢支持 🙏
    赞赏可备注联系方式,祝股市长虹

    支付宝 (Alipay)微信支付 (WeChat)Ko-fi
    AlipayWeChat PayKo-fi

    🤝 贡献

    欢迎提交 Issue 和 Pull Request!

    详见 贡献指南

    本地门禁(建议先跑)

    pip install -r requirements.txt
    pip install flake8 pytest
    ./scripts/ci_gate.sh
    

    如修改前端(apps/dsa-web):

    cd apps/dsa-web
    npm ci
    npm run lint
    npm run build
    

    📄 License

    MIT License © 2026 ZhuLinsen

    如果你在项目中使用或基于本项目进行二次开发, 非常欢迎在 README 或文档中注明来源并附上本仓库链接。 这将有助于项目的持续维护和社区发展。

    📬 联系与合作

    ⭐ Star History

    如果觉得有用,请给个 ⭐ Star 支持一下!

    Star History Chart

    ⚠️ 免责声明

    本项目仅供学习和研究使用,不构成任何投资建议。股市有风险,投资需谨慎。作者不对使用本项目产生的任何损失负责。


    Discover Repositories

    Search across tracked repositories by name or description