使用 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(零成本)
- Fork 仓库 – 点击右上角的 Fork。
- 创建所需 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 # 可选 - 启用工作流 – 前往 Actions 选项卡,点击 I understand my workflows, go ahead and enable them。
- 立即测试 – 选择 “每日股票分析” 工作流并点击 Run workflow。
- 庆祝 – 工作流将构建 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
分析流程
- 数据获取 – 从配置的提供商抓取股票价格、成交量、MA5/MA10/MA20、成交量分布以及新闻头条。
- AI 推理 –
analyzer.py将清洗后的指标和新闻输入 Gemini(或选定的 OpenAI 兼容模型),得到简洁的决策摘要、目标和止损价格,以及合规检查清单。 - 市场回顾 –
market_analyzer.py汇总每日指数走势、行业表现和资金流向。 - 通知 –
notification.py把仪表盘和市场回顾格式化为 Markdown 或交互式卡片,并推送到所有启用的渠道。 - 调度 –
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,观察工具每日工作日自动运行。
祝分析愉快!
原创文章:
查看原文