# stock-system
**Repository Path**: whererose/stock-system
## Basic Information
- **Project Name**: stock-system
- **Description**: 股票分析·预测·交易辅助系统 v0.1,个人量化研究工具(A股):Electron43 + Vue3 + KLineChart10 桌面端 + Python FastAPI 本地后端 + DuckDB/SQLite + XGBoost 预测
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 1
- **Created**: 2026-08-14
- **Last Updated**: 2026-08-14
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 📈 StockAnalysis 股票分析·预测·交易辅助系统
**个人量化研究工具 —— A股分析、AI 预测、策略回测、模拟交易、定时提醒一体化桌面应用**
[](https://www.python.org/)
[](https://nodejs.org/)
[](https://vuejs.org/)
[](https://www.electronjs.org/)
[](https://fastapi.tiangolo.com/)
[](https://xgboost.ai/)
[](LICENSE)
---
## 📖 项目简介
面向个人投资者的**桌面端量化研究工具**,覆盖"大盘 → 板块 → 个股"自上而下的完整分析链路:
- **看**:大盘指数(技术面 / 支撑压力 / 情绪面 / 资金量能 / 操作建议)、行业板块热度(资金流 / 热点识别 / 板块级分析)、个股 K 线 + 完整分析
- **测**:策略回测(A股规则完整模拟)、AI 涨跌预测(XGBoost)
- **验**:模拟交易(T+1 / 费用真实模拟),对不确定的走势先模拟验证再实盘
- **盯**:定时买入分析 + 止盈止损提醒(交易日 10:00 / 13:00 / 14:00,桌面通知 + 微信推送)
> ⚠️ 本系统仅供个人研究学习使用,**不构成任何投资建议**。股市有风险,投资需谨慎。
---
## ✨ 功能特性
### 大盘指数
- 上证 / 深证 / 创业板指三大指数实时点位与涨跌幅
- **技术面分析**:年线(MA250)牛熊分界、周线 MACD(金叉/死叉)、RSI(14)、ATR 波动率、布林带收口/开口
- **支撑压力位**:分形高低点、筹码密集峰、均线组、斐波那契、整数关口 5 算法共振聚类
- **情绪面**:全市场涨跌家数、涨停跌停数 → 情绪分(贪婪 / 偏多 / 中性 / 偏空 / 恐慌)
- **资金量能**:5 日 vs 20 日均量变化(放量 / 缩量)
- **五因子综合判断**:趋势 50% + 情绪 20% + 量能 20% + 位置 10% → 指数级操作建议(可参与/观望/回避 + 入场/离场时机)
### 行业板块
- 90 个同花顺行业板块实时热度排名(涨跌幅 + 资金净流入 + 上涨家数)
- 热点板块识别(涨跌幅 ≥3% 且净流入 >0 → 🔥热点)
- 板块指数 K 线 + **完整分析**:技术面(年线/周MACD/RSI/ATR/布林带)、板块情绪(涨跌家数)、量能、支撑压力、操作建议
### 个股行情与自选股
- K 线图(红涨绿跌,A股配色):**MA 5/10/20/60/120/240 可勾选**(默认 5/10/20)+ VOL 成交量 + MACD
- **支撑压力点位引擎**:5 种算法 + 共振聚类(多算法同价位 → 强共振位)
- **个股完整分析**:技术面 / 情绪(当日涨跌·量比·换手)/ 量能 / 支撑压力 / 操作建议 / AI 预测
- **自选股管理**:搜索添加、**批量导入**(代码,名称,买入价格)、盈亏追踪(当日%/盈亏%)、**买入价评估**(低位区/适中区/高位区)
- **定时提醒**:交易日 10:00/13:00/14:00 自动买入分析;基于买入价的**止盈(+8%)/止损(-5%)判定**
### 通知中心
- Server酱 SendKey 配置 → **微信推送**;Electron **桌面系统通知**(自动轮询未读)
- 通知记录列表(买入提醒 / 止盈止损 / 系统)、测试推送、手动立即分析
### 策略回测
- 内置策略:双均线交叉、唐奇安突破、均值回归(可扩展)
- A股规则完整模拟:T+1、涨跌停(一字板不可成交)、印花税 0.05%、佣金万 2.5(最低 5 元)、滑点
- 绩效报告:总收益 / 年化 / 最大回撤 / 夏普 / 胜率 / 盈亏比 / 权益曲线 / 交易明细
### AI 预测
- XGBoost 模型,21 维特征(动量 / 均线乖离 / 量比 / RSI / KDJ / BOLL / MACD / ATR / 时间)
- 时间序列切分训练(防数据泄漏),AUC / 准确率 / IC 评估
- 输出未来 5 日涨跌方向 + 概率 + 模型评估指标
### 模拟交易
- 虚拟资金(默认 10 万),按最新收盘价市价成交
- T+1 限制、一手整数、佣金 + 印花税真实模拟
- 持仓浮动盈亏、成交记录、账户重置
---
## 🏗 技术栈
| 层 | 技术 | 说明 |
|---|---|---|
| 前端 | **Electron 43 + Vue 3.5 + Vite 8** | 桌面应用,暗色主题 |
| 图表 | **KLineChart 10**(K线)+ **ECharts**(权益曲线) | 专业金融图表 |
| 后端 | **Python 3.9 + FastAPI** | 本地服务(127.0.0.1 动态端口) |
| 数据源 | **AkShare**(新浪/腾讯/同花顺/乐咕多源降级) | 免费,无需 token |
| 存储 | **DuckDB**(行情列存)+ **SQLite**(业务/通知/配置) | 本地零运维 |
| 机器学习 | **XGBoost** + scikit-learn | 涨跌方向预测 |
| 定时任务 | **APScheduler** | 交易日 10:00/13:00/14:00 分析提醒 |
| 打包 | **PyInstaller**(后端 exe)+ **electron-builder**(安装包) | 免安装 Python/Node |
## 🗺 架构
```
┌──────────────────────────────────────────────────┐
│ Electron 桌面客户端 (Vue3 + KLineChart + ECharts) │
│ 指数 · 板块 · 行情 · 自选股 · 回测 · 预测 · 模拟 · 通知 │
│ └─ 主进程:后端进程管理 + 桌面通知轮询 │
└──────────────────┬───────────────────────────────┘
│ 本地 HTTP (127.0.0.1)
┌──────────────────┴───────────────────────────────┐
│ Python FastAPI 后端 (stock_backend) │
│ ┌────────────────────────────────────────────┐ │
│ │ DataProvider 抽象层(可插拔数据源) │ │
│ │ AkShare(新浪/腾讯) · 同花顺 · 乐咕 │ │
│ ├───────────────┬────────────────────────────┤ │
│ │ 点位引擎 │ 回测引擎 · XGBoost │ │
│ │ 5算法+共振聚类 │ A股规则 · 特征工程 │ │
│ │ 技术面分析 │ 操作建议(五因子) │ │
│ │ 定时调度 │ 通知服务(止盈止损/微信推送) │ │
│ └───────────────┴────────────────────────────┘ │
└──────────────────┬───────────────────────────────┘
│
┌─────────┴──────────────┐
│ DuckDB │ SQLite │
│ 行情库 │ 自选/模拟/通知/配置 │
└────────────────────────┘
```
## 📦 快速开始
### 开发模式(WSL / Linux / Windows)
```bash
# 1. 后端(需 Python 3.9+)
cd backend
pip install -r requirements.txt
python -m uvicorn app.main:app --port 8010 --reload
# 2. 前端(需 Node 18+)
cd desktop
npm install
npm run dev # 浏览器预览 http://localhost:5173
# 3. 数据初始化(可选,行情接口已支持懒加载自动拉取)
cd backend
python -m app.cli init --symbols=600519,000001 # 指定股票
python scripts/train_model.py --limit 200 # 训练 AI 预测模型
```
### 打包 Windows EXE(Windows 侧)
双击 `build_win.bat`,自动完成:
1. PyInstaller 打包后端 → `stock_backend.exe`
2. electron-builder 打包前端 → NSIS 安装版 + 免安装版
产物:`desktop/release/stock-analysis-*.exe`(详见 [docs/BUILD.md](docs/BUILD.md))
## 🔔 通知功能配置
1. 打开"通知中心"页面,填入 [Server酱](https://sct.ftqq.com/) SendKey 并保存 → 微信推送可用
2. 不填 SendKey 时:仅应用内记录 + Electron 桌面系统通知(默认生效)
3. 定时分析:交易日 10:00 / 13:00 / 14:00 自动检查全部自选股(买入建议 + 止盈止损)
4. 止盈/止损线:基于买入价 +8% 止盈、-5% 止损(可在通知中心查看说明)
5. 也可随时点"立即分析一次"手动触发
## 📁 目录结构
```
stock-system/
├── backend/ # Python FastAPI 后端
│ ├── app/
│ │ ├── api/ # REST 路由(stocks/kline/levels/backtest/predict/watchlist/simtrade/boards/indices/notify)
│ │ ├── datasource/ # DataProvider 抽象 + AkShare 多源实现
│ │ ├── storage/ # DuckDB 行情库 + SQLite 业务库(自选/模拟/通知/配置)
│ │ ├── levels/ # 支撑压力引擎(5算法 + 共振聚类 + 买卖建议)
│ │ ├── strategies/ # 策略基类 + 内置策略 + 事件驱动回测引擎
│ │ ├── indicators/ # 技术指标库(MA/EMA/MACD/RSI/KDJ/BOLL/ATR)
│ │ ├── boards/ # 行业板块(热度/资金/趋势/板块分析)
│ │ ├── indices/ # 大盘指数(技术面/情绪/量能/五因子判断/操作建议)
│ │ ├── services/ # 定时调度(APScheduler)+ 通知服务(止盈止损/Server酱)
│ │ └── ml/ # XGBoost 特征工程/训练/预测
│ ├── scripts/ # 数据拉取、模型训练脚本
│ ├── launcher.py # 后端启动器(动态端口,供打包)
│ └── build_backend.bat # PyInstaller 打包脚本
├── desktop/ # Electron + Vue3 前端
│ ├── electron/ # 主进程(窗口 + 后端管理 + 桌面通知轮询)
│ └── src/
│ ├── components/ # KChart.vue(统一K线图:均线勾选/指标/生命周期)
│ └── views/ # 十大页面(指数/板块/行情/自选/回测/预测/模拟/通知…)
├── docs/ # REQUIREMENTS.md / TECH_DESIGN.md / BUILD.md
└── build_win.bat # 一键打包
```
## 📚 文档
- [需求文档](docs/REQUIREMENTS.md) —— 需求梳理与决策记录
- [技术设计](docs/TECH_DESIGN.md) —— 架构、数据模型、API 设计
- [打包指南](docs/BUILD.md) —— Windows EXE 打包步骤与常见问题
## 📊 数据源说明
| 数据 | 来源 | 说明 |
|---|---|---|
| 个股日K | 新浪 / 腾讯(AkShare) | 东财接口不可达时自动降级 |
| 股票列表 | 新浪实时兜底 | 5538 只 A 股 |
| 行业板块 | 同花顺 | 90 行业,含资金净流入 |
| 大盘指数 | 新浪 | 三大指数日K |
| 市场情绪 | 乐咕乐股 | 涨跌/涨停跌停家数 |
所有数据源均免费、无需 token;接口异常自动降级与缓存。
## 📊 系统展示







## ⚠️ 免责声明
本项目为个人量化研究学习工具,所有分析结果(点位、预测、建议)均为**概率参考**,不构成投资建议。市场有风险,任何依据本系统做出的投资决策,风险自负。
## 📄 License
[MIT](LICENSE)