使用 Gemini AI 的日常股票分析:一款免费开源工具

由 Gemini AI 提供支持的每日股票分析

欢迎来到 daily_stock_analysis 项目 – 一款完整、开源的自动 A 股分析解决方案,完全免费在 GitHub Actions 或 Docker 上运行。使用 Python 3.10+,它集成了多种数据提供商、Gemini(Google AI Studio)实现自然语言市场洞察,以及多功能的通知渠道。


这个工具提供的功能

功能 描述
AI 决策仪表盘 Gemini 生成的一句总结、精确买卖价格点以及检查清单
多维度分析 结合技术指标、成交量分布、新闻情绪与实时行情报价
市场回顾 每日主要指数、行业表现与跨境资本流动的快照
多渠道通知 Enterprise WeChat、Feishu、Telegram、邮件以及任何自定义 webhook(例如 Discord、Slack、DingTalk)
零成本部署 在免费 GitHub Actions 上运行,无需支付服务器费用
可扩展架构 只需少量代码即可接入任意 OpenAI 兼容 API、添加新的数据源或修改通知逻辑

技术栈概览

  • Python 3.10+;使用 pyproject.toml / requirements.txt
  • 数据源:AkShare(免费)、Tushare、Baostock、YFinance。
  • 新闻搜索:Tavily(免费 key)或作为后备的 SerpAPI。
  • AI 后端:默认使用 Google Gemini;可选的 OpenAI 兼容 API 如 DeepSeek、Claude 或本地部署模型。
  • 部署:GitHub Actions(.github/workflows/daily_analysis.yml)或使用 Docker Compose 一键 docker-compose up -d
  • 调度:简单的 cron 逻辑,每个工作日 18:00(北京时间)触发分析。

快速开始 – GitHub Actions(零成本)

  1. Fork 仓库 – 点击右上角的 Fork
  2. 创建所需 Secret – 转到 Settings → Secrets → Actions 并添加:
    GEMINI_API_KEY          # (必填)从 Google AI Studio 获得的 Gemini key
    # 或
    OPENAI_API_KEY          # 可选,若你更喜欢 OpenAI 兼容端点
    OPENAI_BASE_URL         # 可选 – 例如 https://api.deepseek.com/v1
    OPENAI_MODEL            # 可选 – 例如 deepseek-chat
    WECHAT_WEBHOOK_URL      # 可选 – Enterprise WeChat
    FEISHU_WEBHOOK_URL      # 可选 – Feishu
    TELEGRAM_BOT_TOKEN      # 可选 – Telegram 机器人 token
    TELEGRAM_CHAT_ID        # 可选 – Telegram 频道 id
    EMAIL_SENDER            # 可选 – 发件人邮箱
    EMAIL_PASSWORD          # 可选 – 应用密码
    EMAIL_RECEIVERS         # 可选 – 用逗号分隔的列表
    CUSTOM_WEBHOOK_URLS     # 可选 – 任意 POST JSON webhook
    FEISHU_APP_ID           # 可选 – Feishu 应用 id
    FEISHU_APP_SECRET       # 可选
    FEISHU_FOLDER_TOKEN     # 可选 – Feishu 文件夹 key
    STOCK_LIST              # (必填)股票列表,例如 600519,300750,002594
    TAVILY_API_KEYS         # (推荐)新闻搜索用
    SERPAPI_API_KEYS        # 可选
    TUSHARE_TOKEN           # 可选
    
  3. 启用工作流 – 前往 Actions 选项卡,点击 I understand my workflows, go ahead and enable them
  4. 立即测试 – 选择 “每日股票分析” 工作流并点击 Run workflow
  5. 庆祝 – 工作流将构建 Docker 镜像,获取数据,运行分析,并将结果发送到你指定的渠道。

快速开始 – 本地或 Docker 部署

若你更倾向本地沙箱或想要调整代码,使用此方式。

# 克隆并安装
git clone https://github.com/ZhuLinsen/daily_stock_analysis.git
cd daily_stock_analysis
pip install -r requirements.txt

# 复制环境示例
cp .env.example .env
nano .env   # 填入值

# 完整分析
python main.py

# 仅市场回顾
python main.py --market-review

# 运行调度任务(容器内 cron)
python main.py --schedule

Docker 部署:

# 创建配置文件
cp .env.example .env
nano .env

# 启动服务
docker-compose up -d

# 观察日志
docker-compose logs -f


分析流程

  1. 数据获取 – 从配置的提供商抓取股票价格、成交量、MA5/MA10/MA20、成交量分布以及新闻头条。
  2. AI 推理analyzer.py 将清洗后的指标和新闻输入 Gemini(或选定的 OpenAI 兼容模型),得到简洁的决策摘要、目标和止损价格,以及合规检查清单。
  3. 市场回顾market_analyzer.py 汇总每日指数走势、行业表现和资金流向。
  4. 通知notification.py 把仪表盘和市场回顾格式化为 Markdown 或交互式卡片,并推送到所有启用的渠道。
  5. 调度scheduler.py 与 GitHub Actions 工作流确保每天工作日 18:00 本地时间运行一次。

定制化思路

领域 扩展
添加新数据源 data_provider/ 中实现新的抓取器并更新 config.py
使用其他 AI 模型 通过 OPENAI_API_KEY/BASE_URL/MODEL 变量跳过 GEMINI_*
改变通知格式 编辑 notification.py 输出自定义卡片或嵌入图表。
自动化组合更新 创建 STOCK_LIST 文件,脚本监视更改。
部署 Web UI 添加 FastAPI 或 Flask 接口来展示仪表盘。

路线图要点

  • 自定义 Webhook 与推送服务 – 支持 Pushover、Discord、Slack 及自有 API。
  • 跨市场扩展 – 包括 HK、US、EU 市场数据。
  • 历史回测 – 在过去数据上运行模拟。
  • Web 仪表盘 – 实时分析与动态图表。
  • 社区驱动的增强 – 欢迎为新数据源和模型贡献。

如何贡献

  • Fork 并创建功能/修复分支。
  • 运行测试(pytest)和代码检查(ruff)。
  • 打开 PR,明确说明并链接相关 issue。
  • 审核者会检查文档更新和代码一致性。

结语

daily_stock_analysis 是一款现代、低摩擦的工具包,适合任何想在日常工作流中增加 AI 驱动市场洞察的人。凭借零托管成本和即插即用架构,你可以在几分钟内开始在企业聊天或收件箱中收到市场仪表盘。抓取仓库、设置 Secret,观察工具每日工作日自动运行。

祝分析愉快!

原创文章: 查看原文

分享本文