# QMT-QuantStudio **Repository Path**: runsenliu12/QMT-QuantStudio ## Basic Information - **Project Name**: QMT-QuantStudio - **Description**: 基于国金QMT的模块化、可扩展的量化选股与自动交易系统 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2026-01-22 - **Last Updated**: 2026-03-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # QMT量化选股与交易系统 一套基于国金QMT的量化选股和自动交易系统,采用可扩展的过滤器链架构,支持灵活配置各种筛选条件。 ## ✨ 核心特性 - **可扩展的过滤器架构**:每个筛选条件都是独立的过滤器,易于添加和组合 - **技术指标支持**:MACD底背离、TD Sequential(9转序列)、均线等 - **Web控制面板**:可视化管理选股和交易,实时查看结果 - **交易开关控制**:安全的交易启用/禁用机制 - **数据缓存优化**:避免重复获取数据,提升筛选效率 ## 📋 系统要求 - **Python 3.9-3.11** (⚠️ 必须使用这些版本,QMT的xtquant不支持Python 3.13+) - 国金QMT客户端 - Windows操作系统 > **重要**:如果你的系统有多个Python版本,请使用 `py -3.9` 或 `py -3.11` 来运行程序 ## 🚀 快速开始 ### 1. 安装依赖 ```bash pip install -r requirements.txt ``` **注意**:TA-Lib在Windows上需要特殊安装: ```bash # 下载whl文件:https://www.lfd.uci.edu/~gohlke/pythonlibs/#ta-lib pip install TA_Lib-0.4.25-cp39-cp39-win_amd64.whl ``` ### 2. 配置QMT路径 编辑 `src/data/data_fetcher.py`,修改QMT安装路径: ```python qmt_path = r"H:\gj_qmt\bin.x64" # 修改为你的QMT路径 ``` ### 3. 配置过滤器 编辑`config/filters_config.yaml`,启用/禁用过滤器并调整参数: ```yaml filters: - name: ExcludeSTFilter enabled: true # 启用/禁用 params: {} - name: TurnoverRateFilter enabled: true params: min_rate: 3.5 # 最低换手率 ``` ### 4. 运行选股 **命令行模式**: ```bash py -3.9 main.py --mode screening ``` **Web模式**: ```bash py -3.9 -m src.web.app # 访问 http://localhost:5000 ``` ## 📁 项目结构 ``` qmt_1212/ ├── config/ # 配置文件 │ ├── config.yaml # 主配置 │ ├── filters_config.yaml # 过滤器配置 │ └── blacklist.db # 黑名单数据库 ├── src/ │ ├── data/ # 数据获取 │ ├── indicators/ # 技术指标 │ ├── filters/ # 过滤器 │ ├── screening/ # 选股模块 │ ├── trading/ # 交易模块(待完善) │ ├── web/ # Web界面 │ └── utils/ # 工具类 └── main.py # 命令行入口 ``` ## 🎯 选股策略 当前默认策略(可通过`filters_config.yaml`配置): 1. ✅ 剔除ST股票 2. ✅ 剔除亏损股票(最近4个季度) 3. ✅ 剔除黑名单股票 4. ✅ 换手率 > 3.5% 5. ✅ MACD底背离(同花顺标准) 6. ✅ TD Sequential低9信号 ## 🔧 添加新的筛选条件 ### 方式一:配置现有过滤器 在`config/filters_config.yaml`中启用并配置: ```yaml - name: MovingAverageFilter enabled: true params: period: 60 position: "above" # 价格在60日均线之上 ``` ### 方式二:创建新过滤器 1. 在`src/filters/technical_filters.py`中创建类: ```python class MyCustomFilter(BaseFilter): def filter(self, stock_list, data_cache): # 实现筛选逻辑 return filtered_list ``` 2. 在`filters_config.yaml`中添加配置 3. 运行程序即可 ## 📊 Web界面 启动Web服务器后访问 http://localhost:5000 功能模块: - **选股控制**:一键执行选股,查看结果表格 - **过滤器配置**:可视化配置过滤器参数 - **黑名单管理**:添加/删除黑名单股票 - **交易状态**:查看交易开关状态(交易功能待完善) ## ⚠️ 注意事项 1. **Python版本**:必须使用Python 3.9-3.11,不支持Python 3.13+ 2. **QMT客户端**:运行前确保QMT客户端已启动并登录 3. **首次运行**:第一次筛选时会下载历史数据,可能较慢 4. **数据源**:所有数据来自QMT的xtquant接口 ## 🐛 常见问题 ### Q: 报错"No module named 'xtquant.IPythonApiClient'" A: Python版本不兼容,请使用Python 3.9-3.11 ### Q: 只能获取5只股票 A: xtquant连接失败,使用了模拟数据。检查Python版本和QMT路径配置 ### Q: 选股结果为空 A: 检查过滤器配置是否过于严格,可以逐个禁用过滤器测试 ### Q: Web界面无法访问 A: 检查防火墙设置,确保5000端口未被占用 ## 📝 开发状态 **当前版本**:半成品阶段 已完成: - ✅ 数据获取模块 - ✅ 基础过滤器(ST、亏损、黑名单、换手率) - ✅ 技术指标过滤器(MACD、TD Sequential) - ✅ Web界面和API - ✅ 多线程数据处理 待完善: - ⏳ 交易模块 - ⏳ 回测系统 - ⏳ 更多技术指标 - ⏳ 监控告警 ## 📄 许可证 本项目仅供学习和研究使用,不构成任何投资建议。 --- **风险提示**:量化交易存在风险,投资需谨慎。使用本系统进行实盘交易的所有后果由用户自行承担。