Skip to content

Repository files navigation

📈 股票智能分析系统

🤖 基于 AI 大模型的 A股超短线智能分析系统,集持仓管理、R1 深度分析、盘中涨停预警、尾盘选股于一体

Web 界面 · 持仓管理 · R1 深度分析 · Agent 问股 · 涨停预警 · 尾盘选股 · 邮件推送


✨ 功能总览

模块 功能 说明
持仓管理 全栈持仓系统 建仓/编辑/平仓、实时行情(盘中10s刷新)、盈亏计算、目标价/止损预警
R1 深度分析 DeepSeek R1 推理 9维数据采集(行情/K线/均线/量能/形态/基本面/新闻/情报)→ R1 深度推理,内联展示+结果持久化
股票搜索 智能搜索 支持中文名称、拼音首字母、股票代码搜索(腾讯 Smartbox API)
Agent 问股 策略对话 多轮策略问答,11种内置策略,SSE 流式进度反馈
涨停预警 盘中实时监控 Web 一键扫描 + SSE 实时进度,批量 AI 评估,涨停概率 ≥65% 推送,一键加入持仓
尾盘选股 超短线选股 Web 一键扫描 + SSE 实时进度,批量 AI 筛选,含手续费测算、保本价、万元仓净收益,一键加入持仓
每日分析 决策仪表盘 全自选股深度分析 + 大盘复盘,多渠道推送
图片识别 从图片添加 上传自选股截图,Vision LLM 自动提取股票代码

技术栈

类型 技术
后端 Python 3.10+ / FastAPI / SQLAlchemy / LiteLLM
前端 React 19 / TypeScript / Vite / Tailwind CSS / Zustand
AI 模型 DeepSeek R1(深度分析)、DeepSeek Chat / Gemini(日常分析)
行情数据 腾讯财经(实时行情+搜索)、AkShare、EFinance
新闻搜索 Tavily、SerpAPI、Bocha、Brave
自动化 GitHub Actions(涨停预警/尾盘选股/每日分析)
通知 邮件、企业微信、飞书、Telegram、钉钉、PushPlus

🚀 快速开始

环境要求

  • Python 3.10+
  • Node.js 18+(前端构建)
  • Git

1. 克隆项目

git clone https://github.com/carey314/daily_stock_analysis.git
cd daily_stock_analysis

2. 安装后端依赖

python -m venv .venv
source .venv/bin/activate  # macOS/Linux
# .venv\Scripts\activate   # Windows

pip install -r requirements.txt

3. 配置环境变量

cp .env.example .env

编辑 .env 文件,配置以下关键项:

# ===== 必填 =====
STOCK_LIST=600519,002335,300750          # 自选股代码(逗号分隔)
DEEPSEEK_API_KEY=sk-xxx                  # DeepSeek API Key(深度分析+尾盘选股)

# ===== AI 模型(至少配一个)=====
GEMINI_API_KEY=xxx                       # Google Gemini(免费,需科学上网)
# OPENAI_API_KEY=xxx                     # OpenAI 兼容 API
# OPENAI_BASE_URL=https://api.deepseek.com/v1

# ===== 通知渠道(至少配一个)=====
EMAIL_SENDER=xxx@qq.com                  # QQ邮箱
EMAIL_PASSWORD=xxx                       # 邮箱授权码(非登录密码)
EMAIL_RECEIVERS=xxx@qq.com               # 收件人(留空则发给自己)

# ===== 可选功能 =====
AGENT_MODE=true                          # 开启 Agent 问股
TAIL_SCAN_ENABLED=true                   # 开启尾盘选股
LIMITUP_SCAN_ENABLED=true                # 开启涨停预警

完整配置项参考 .env.example 文件

4. 安装前端依赖并构建

cd apps/dsa-web
npm install
npm run build
cd ../..

5. 启动服务

# 启动 Web 界面(推荐)
python main.py --webui-only

# 或 启动 Web 界面 + 定时分析任务
python main.py --webui

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

开发模式(前后端分离热更新)

# 终端 1:启动后端
source .venv/bin/activate
python -m uvicorn server:app --host 127.0.0.1 --port 8000 --reload

# 终端 2:启动前端(热更新)
cd apps/dsa-web
npm run dev

前端开发服务器运行在 **http://127.0.0.1:5173**,自动代理 API 请求到后端。


🖥️ 功能详解

首页 — 股票分析

输入股票代码或中文名称,一键生成深度分析报告。

  • 智能搜索:支持代码(600519)、中文名(贵州茅台)、拼音(gzmt)
  • 分析报告:评分、操作建议、买卖点位、趋势预测、新闻资讯
  • 历史记录:左侧展示分析历史,点击可回看
  • 追问 AI:基于报告上下文多轮对话

持仓管理

完整的持仓生命周期管理。

  • 建仓:输入代码/数量/买入价,自动拉取股票名称
  • 实时行情:盘中每 10 秒自动刷新,显示实时价格和浮动盈亏
  • A 股配色:红涨绿跌(符合 A 股习惯)
  • 目标价/止损预警:触及目标价或止损价时顶部横幅提醒
  • R1 深度分析:点击"分析"按钮,DeepSeek R1 进行 9 维数据采集 + 深度推理
  • 分析结果持久化:分析结果保存到数据库,刷新页面仍可查看
  • AI 持仓助手:基于当前持仓数据的 AI 对话

R1 深度分析流程

点击"分析" → 数据采集(9步 SSE 实时进度)→ R1 深度推理 → 结果展示
                │
                ├── 实时行情(腾讯财经)
                ├── 历史K线(60日)
                ├── 基本面信息
                ├── 技术趋势(MACD/RSI/信号评分)
                ├── 均线系统(MA5/10/20/60 偏离度)
                ├── 量能分析(量比/量价关系)
                ├── K线形态识别
                ├── 新闻搜索
                └── 综合情报

分析结果内联展示在持仓表格下方,包含:

  • 操作建议标签(持有/补仓/减仓/清仓)
  • Markdown 格式的分析结论
  • 可折叠的 R1 推理链

扫描信号(涨停预警 + 尾盘选股)

Web 端可直接触发扫描,三阶段 SSE 实时进度反馈,支持一键加入持仓。

核心特性:

  • Web 一键扫描:点击「立即扫描」触发,实时显示粗筛→精筛→AI评估三阶段进度
  • 批量 AI 评估:每 5 只股票一次 LLM 调用(相比逐只评估节省 ~60% Token)
  • 当日缓存:尾盘选股每天一次,涨停预警 25 分钟内复用,支持强制重扫
  • 市场状态指示:实时显示交易日/交易时段/下次建议扫描时间
  • 一键加入持仓:扫描结果卡片可直接加入持仓(自动带入买入价/目标价/止损价)
  • 历史记录:折叠展示历史扫描结果

涨停预警

盘中每 30 分钟自动扫描全市场,识别快要涨停的股票。

扫描时间:09:45、10:15、10:45、11:15、13:00、13:30、14:00、14:20

筛选规则:

  • 涨幅 6% ~ 9.5%(已涨停排除)
  • 股价 ≤ 100 元
  • 量比 ≥ 1.5,成交额 ≥ 3000 万
  • AI 涨停概率 ≥ 65% 才推送

尾盘选股

每日 14:40 自动扫描,三阶段筛选推荐次日超短线候选。

策略:尾盘买入 → 次日早盘冲高出货(T+1)

AI 约束:

  • 目标价 ≥ 买入价 × 1.03(+3%,覆盖手续费)
  • 止损 ≤ 买入价 × 0.985(-1.5%)

⏰ GitHub Actions 自动化

在 GitHub 仓库的 Settings → Secrets 中配置环境变量后,自动按以下时间表运行:

时间(北京) Workflow 说明
09:45~14:20(每30分钟) limitup_scan.yml 涨停预警(共8次)
14:40 daily_analysis.yml (tail-scan) 尾盘选股
18:00(周一~周五) daily_analysis.yml (full) 全自选股深度分析 + 大盘复盘

非交易日自动跳过。

GitHub Secrets 配置

Secret 说明 必填
DEEPSEEK_API_KEY DeepSeek API Key ✅
GEMINI_API_KEY Google Gemini API Key 推荐
EMAIL_SENDER 发件人邮箱 ✅
EMAIL_PASSWORD 邮箱授权码 ✅
EMAIL_RECEIVERS 收件人邮箱 可选
STOCK_LIST 自选股代码(Variable 而非 Secret 亦可) ✅

完整 Secrets 列表参考 .env.example


📁 项目结构

daily_stock_analysis/
├── api/                          # FastAPI 路由层
│   └── v1/
│       ├── endpoints/
│       │   ├── agent.py          # Agent 问股 + R1 深度分析 SSE
│       │   ├── stocks.py         # 股票搜索/行情/历史
│       │   ├── portfolio.py      # 持仓管理 CRUD
│       │   ├── signals.py        # 扫描信号(SSE扫描触发+市场状态+历史)
│       │   ├── analysis.py       # 分析任务提交
│       │   └── history.py        # 分析历史查询
│       └── schemas/              # Pydantic 模型
├── apps/dsa-web/                 # React 前端
│   └── src/
│       ├── pages/
│       │   ├── HomePage.tsx      # 首页(搜索+分析+历史)
│       │   ├── PortfolioPage.tsx # 持仓管理页
│       │   └── SignalsPage.tsx   # 扫描信号页(SSE进度+一键扫描+加入持仓)
│       ├── components/portfolio/ # 持仓组件
│       │   ├── PositionTable.tsx # 持仓表格
│       │   ├── AnalysisPanel.tsx # R1 分析面板 + useDeepAnalysis hook
│       │   └── ...
│       └── stores/               # Zustand 状态管理
├── src/
│   ├── services/
│   │   ├── deep_analysis_service.py  # R1 深度分析(数据采集+推理)
│   │   ├── portfolio_service.py      # 持仓业务逻辑
│   │   └── stock_service.py          # 行情服务
│   ├── scanner/
│   │   ├── limitup_scanner.py    # 涨停预警扫描器
│   │   └── tail_scanner.py       # 尾盘选股扫描器
│   ├── agent/                    # Agent 框架(ReAct 循环)
│   │   ├── executor.py           # Agent 执行器
│   │   └── tools/                # 工具函数
│   └── storage.py                # SQLAlchemy ORM + 数据库操作
├── server.py                     # FastAPI 入口
├── main.py                       # CLI 入口
├── .env.example                  # 环境变量模板
└── requirements.txt              # Python 依赖

🔧 常用命令

# 仅启动 Web 服务
python main.py --webui-only

# Web 服务 + 定时分析
python main.py --webui

# 手动执行一次全量分析
python main.py

# 手动执行尾盘选股
python main.py --tail-scan

# 手动执行涨停预警
python main.py --limitup-scan

# 仅启动 API 服务(不含前端)
python -m uvicorn server:app --host 127.0.0.1 --port 8000 --reload

⚠️ 免责声明

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


📄 License

MIT License

基于 ZhuLinsen/daily_stock_analysis 二次开发。

About

A 股短线交易分析,盯盘尾盘总结,发送分析结果至邮箱,可参考交易

Resources

Contributing

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages