# quant_trading **Repository Path**: meihongliang/quant_trading ## Basic Information - **Project Name**: quant_trading - **Description**: quant trading - **Primary Language**: Python - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-10-27 - **Last Updated**: 2026-03-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 股票量化分析系统 基于技术分析的A股量化交易决策系统,采用 Vue 3 + Flask 前后端分离架构。 ## 核心功能 | 模块 | 说明 | |------|------| | **数据获取** | 自动从akshare获取沪深A股全市场数据 | | **技术指标** | RSI、MACD、MA均线、K线形态识别、ATR、成交量分析 | | **买入评分** | 6项指标综合评分(看涨形态/RSI超卖/MACD金叉/支撑位/上升趋势/成交量放大) | | **候选筛选** | 自动识别评分≥3分的买入信号股票 | | **K线图表** | ECharts绘制日K/周K/月K,支持缩放和交互 | | **多字段排序** | 表格支持多列同时排序 | ## 买入评分标准 | 指标 | 条件 | 分值 | |------|------|------| | 看涨K线形态 | 锤子线、晨星、吞没等底部反转形态 | +1 | | RSI超卖 | RSI < 40 | +1 | | MACD金叉 | MACD线上穿信号线 | +1 | | 接近支撑位 | 收盘价距离20日最低价 < 2% | +1 | | 上升趋势 | 收盘价高于50日均线 | +1 | | 成交量放大 | 成交量 > 1.5倍5日均量 | +1 | **买入信号**: 评分 ≥ 3分 ## 技术栈 ### 后端 (Flask API) - Python 3 + Flask + SQLite - akshare (新浪财经数据源) - TA-Lib (技术指标计算) ### 前端 (Vue 3 SPA) - Vue 3 + Vite + Pinia - Element Plus (UI组件库) - ECharts (K线图表) - Axios (HTTP请求) ## 项目结构 ``` quant_trading/ ├── README.md # 本文件 ├── frontend/ # Vue 3 前端项目 │ ├── package.json # npm依赖 │ ├── vite.config.js # Vite配置 │ ├── index.html # 入口HTML │ └── src/ │ ├── main.js # 应用入口 │ ├── App.vue # 根组件 │ ├── router/index.js # 路由配置 │ ├── stores/stock.js # Pinia状态管理 │ ├── api/stock.js # API封装 │ ├── views/ # 页面视图 │ │ ├── Dashboard.vue # 首页仪表盘 │ │ ├── StockList.vue # 股票列表 │ │ ├── Candidates.vue # 买入候选 │ │ └── DataManage.vue # 数据管理 │ └── components/ # 公共组件 │ └── StockChartDialog.vue # K线弹窗 └── stock_analyzer/ # Flask后端API ├── web_app.py # Flask主程序 ├── init_db.py # 数据库初始化 ├── requirements_web.txt # Python依赖 ├── README_WEB.md # 后端使用说明 └── data/ └── stock_analyzer.db # SQLite数据库 ``` ## 快速启动 ### 1. 启动后端服务 ```bash cd stock_analyzer pip install -r requirements_web.txt python web_app.py ``` 后端运行在 http://127.0.0.1:5001 ### 2. 启动前端服务 ```bash cd frontend npm install npm run dev ``` 前端运行在 http://localhost:5173 ## 页面说明 | 页面 | 路径 | 功能 | |------|------|------| | 首页 | `/` | 数据统计、快捷导航 | | 股票列表 | `/stocks` | 查看所有监控股票,支持筛选和多字段排序 | | 买入候选 | `/candidates` | 查看评分≥3分的买入信号股票 | | 数据管理 | `/data` | 更新股票数据、清理历史数据 | ## API接口 | 接口 | 方法 | 说明 | |------|------|------| | `/api/stocks` | GET | 获取股票列表 | | `/api/buy_candidates` | GET | 获取买入候选 | | `/api/candlestick/` | GET | 获取K线数据 | | `/api/industries` | GET | 获取行业列表 | | `/api/update` | POST | 更新股票数据 | | `/api/cleanup` | POST | 清理旧数据 | ## 数据库表结构 | 表名 | 用途 | |------|------| | `stocks` | 股票基本信息(代码/名称/行业/最新价) | | `stock_history` | 历史K线数据(开高低收/成交量) | | `analysis_results` | 每日分析结果(评分/信号/止损止盈) | | `buy_candidates` | 买入候选股票 | ## 数据策略 - 保留最近 **5年** 数据(2021-01-01起) - 自动清理旧数据,保持数据库精简 - 支持排除ST/*ST股票、按价格范围过滤 ## 注意事项 - 数据更新耗时较长(全市场5000+只股票),请耐心等待 - 首次启动会自动下载股票列表,约需几分钟 - 数据库文件位置:`stock_analyzer/data/stock_analyzer.db`