# easy_quant **Repository Path**: mrflower0528/easy_quant ## Basic Information - **Project Name**: easy_quant - **Description**: Easy quant for personal usage - **Primary Language**: Unknown - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-11-07 - **Last Updated**: 2025-12-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 🚀 A股量化选股监控系统 一个完整的前后端分离A股量化选股监控系统,实时监控全市场股票,筛选符合条件的股票,并提供Web界面和AI助手功能。 ## ✨ 功能特性 ### 核心功能 - 📊 **实时监控**: 每分钟监控A股全市场股票 - 🎯 **智能筛选**: 基于技术指标和基本面数据筛选股票 - 🌐 **Web界面**: 现代化React前端,提供直观的数据展示和操作 - 🔒 **用户认证**: 完整的登录注册系统,保护敏感数据 - 🤖 **AI助手**: 集成AI聊天功能,提供智能分析和建议 - 📱 **响应式设计**: 支持多种设备访问 ### 技术特性 - ⚡ **高性能**: 使用pytdx获取实时行情数据,避免接口限制 - 📈 **数据更新**: 每日自动更新市值数据 - 🔧 **配置灵活**: 支持多种配置选项和阈值调整 - 📋 **信号聚合**: 综合分析市场信号,提供聚合视图 - 📊 **数据可视化**: 直观展示市场数据和筛选结果 ## 📋 筛选条件 1. **股票过滤规则**: - 排除代码开头为: 688, 30, 92, C, N - 排除ST和*ST股票 - 总市值低于50亿 2. **技术指标条件**: - 1分钟内拉高3个点以上 - 换手率大于3% - 近10个交易日无涨停记录 ## 🏗️ 项目架构 ### 后端架构 - **API服务**: FastAPI构建的RESTful API - **认证系统**: JWT token认证机制 - **数据库**: 支持多种数据库连接 - **服务组件**: 模块化设计,包括市场数据、信号处理、AI工具等 ### 前端架构 - **框架**: React + TypeScript - **构建工具**: Vite - **UI组件**: 现代化组件设计 - **状态管理**: React Context API - **路由**: React Router ## 📁 项目结构 ``` quant/ ├── api/ # API服务 │ └── main.py # FastAPI主程序 ├── docs/ # 文档目录 │ ├── docker-compose-redis.yml │ └── docker-compose-timescaledb.yml ├── frontend/ # 前端应用 │ ├── src/ # 前端源码 │ │ ├── components/ # React组件 │ │ ├── contexts/ # 上下文管理 │ │ ├── pages/ # 页面组件 │ │ ├── App.tsx # 应用入口 │ │ └── main.tsx # 渲染入口 │ └── package.json # 前端依赖 ├── middleware/ # 中间件 │ └── auth.py # 认证中间件 ├── migrations/ # 数据库迁移 ├── models/ # 数据模型 │ └── auth.py # 认证模型 ├── services/ # 业务服务 │ ├── ai_tool_manager.py # AI工具管理 │ ├── auth.py # 认证服务 │ ├── db.py # 数据库服务 │ ├── db_pool.py # 数据库连接池 │ ├── market_data.py # 市场数据服务 │ ├── mcp_client.py # MCP客户端 │ ├── notification.py # 通知服务 │ ├── rules.py # 规则引擎 │ ├── selector.py # 选股服务 │ └── signals.py # 信号处理 ├── utils/ # 工具函数 │ └── trading.py # 交易工具 ├── config.py # 配置文件 ├── quant_monitor.py # 量化监控主程序 ├── run_monitor.py # 启动脚本 ├── requirements.txt # Python依赖 └── README.md # 项目说明 ``` ## 🛠️ 安装依赖 ### 后端依赖 ```bash # 创建并激活虚拟环境 python -m venv .venv source .venv/bin/activate # 安装依赖 pip install -r requirements.txt ``` ### 前端依赖 ```bash cd frontend npm install ``` ## ⚙️ 配置说明 ### 环境变量配置 编辑 `.env` 文件,配置以下参数: ```env # 钉钉机器人配置 DINGTALK_WEBHOOK=https://oapi.dingtalk.com/robot/send?access_token=your_token DINGTALK_SECRET=your_secret # Tushare配置 TUSHARE_TOKEN=your_tushare_token # 监控参数 MARKET_VALUE_THRESHOLD=5000000000 # 50亿市值阈值 MIN_TURNOVER_RATE=3.0 # 最小换手率(%) MIN_PRICE_CHANGE=3.0 # 最小涨幅(%) NO_LIMIT_UP_DAYS=10 # 无涨停天数 # 数据库配置 DATABASE_URL=your_database_url # JWT配置 SECRET_KEY=your_secret_key ALGORITHM=HS256 ACCESS_TOKEN_EXPIRE_MINUTES=30 ``` ### 配置文件 编辑 `config.py` 文件,可以调整以下配置: - 通达信服务器地址和端口 - 交易时间设置 - 监控频率 - 日志配置 - 股票过滤规则 - 数据库连接配置 ## 🚀 使用方法 ### 启动监控服务 ```bash # 激活虚拟环境 source .venv/bin/activate # 快速启动监控 python run_monitor.py # 或直接运行主程序 python quant_monitor.py ``` ### 启动API服务 ```bash # 激活虚拟环境 source .venv/bin/activate # 启动FastAPI服务 uvicorn api.main:app --reload ``` ### 启动前端服务 ```bash cd frontend npm run dev ``` ### 访问应用 - **前端应用**: http://localhost:5173 - **API文档**: http://localhost:8000/docs - **监控服务**: 后台运行,通过日志查看运行状态 ## 📊 数据源 - **实时行情**: pytdx (通达信行情接口) - **市值数据**: Tushare Pro API - **历史数据**: Akshare (用于检查涨停记录) - **备用数据**: 内置基础股票列表 ## 🎯 监控逻辑 1. **初始化**: 加载股票列表并应用过滤规则 2. **数据更新**: 每日更新市值数据 3. **实时监控**: 每分钟获取实时行情数据 4. **指标计算**: 计算涨跌幅、换手率等技术指标 5. **条件检查**: 检查是否符合所有筛选条件 6. **信号生成**: 生成股票筛选信号 7. **数据存储**: 保存信号数据到数据库 8. **通知发送**: 通过多种渠道发送通知 ## 🔧 故障排除 ### 常见问题 1. **连接通达信服务器失败** - 检查网络连接 - 尝试其他通达信服务器地址 2. **Tushare数据获取失败** - 检查Tushare token是否有效 - 确认API调用额度 3. **API服务启动失败** - 检查依赖是否安装完整 - 确认端口未被占用 - 查看日志文件获取详细错误信息 4. **前端构建失败** - 检查Node.js版本 - 重新安装依赖 - 查看构建日志获取详细错误信息 ### 日志查看 日志文件位于 `logs/quant_monitor.log`,可以查看详细运行信息。 ## 📝 开发说明 ### 开发流程 1. **后端开发**: - 安装依赖:`pip install -r requirements.txt` - 运行测试:`pytest` - 启动开发服务器:`uvicorn api.main:app --reload` 2. **前端开发**: - 安装依赖:`npm install` - 运行开发服务器:`npm run dev` - 构建生产版本:`npm run build` - 运行类型检查:`npm run typecheck` ### 扩展功能 可以扩展的功能: - 添加更多技术指标 - 支持多种通知方式 - 增加回测功能 - 完善AI分析能力 - 添加更多数据源 - 增强数据可视化 ## 📄 许可证 MIT License ## 🤝 贡献 欢迎提交Issue和Pull Request! ## 📞 支持 如有问题,请通过以下方式联系: - 提交GitHub Issue - 查看项目文档 --- **注意**: 本工具仅用于技术学习和研究,不构成投资建议。投资有风险,入市需谨慎。