# 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 预测、策略回测、模拟交易、定时提醒一体化桌面应用** [![Python](https://img.shields.io/badge/Python-3.9+-3776AB?logo=python&logoColor=white)](https://www.python.org/) [![Node](https://img.shields.io/badge/Node-18+-339933?logo=node.js&logoColor=white)](https://nodejs.org/) [![Vue](https://img.shields.io/badge/Vue-3.5-42b883?logo=vuedotjs&logoColor=white)](https://vuejs.org/) [![Electron](https://img.shields.io/badge/Electron-43-47848F?logo=electron&logoColor=white)](https://www.electronjs.org/) [![FastAPI](https://img.shields.io/badge/FastAPI-0.110-009688?logo=fastapi&logoColor=white)](https://fastapi.tiangolo.com/) [![XGBoost](https://img.shields.io/badge/XGBoost-2.0-FF6600)](https://xgboost.ai/) [![License](https://img.shields.io/badge/License-MIT-yellow)](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;接口异常自动降级与缓存。 ## 📊 系统展示 ![alt text](image-7.png) ![alt text](image-8.png) ![alt text](image-9.png) ![alt text](image-10.png) ![alt text](image-11.png) ![alt text](image-5.png) ![alt text](image-6.png) ## ⚠️ 免责声明 本项目为个人量化研究学习工具,所有分析结果(点位、预测、建议)均为**概率参考**,不构成投资建议。市场有风险,任何依据本系统做出的投资决策,风险自负。 ## 📄 License [MIT](LICENSE)