# QMT数据采集器 ## 项目简介 QMT数据采集器是一个专门用于从QMT量化交易平台采集实时交易数据的Go语言应用程序。该采集器能够定时获取账户资产、订单状态、持仓信息和市场行情数据,并将这些数据存储到PostgreSQL数据库中,为量化交易策略提供数据支持。 ## 业务功能 ### 1. 实时数据采集 - **账户资产监控**:实时采集账户现金、冻结资金、市值、盈亏和总资产等关键财务指标 - **订单状态跟踪**:持续监控股票订单的状态变化,包括已成交、未成交、部分成交等各种状态 - **持仓信息管理**:记录每只股票的持仓数量、可用数量、成本价、当前价及盈亏情况 - **行情数据捕获**:收集股票的实时Tick数据,包括买卖五档价格、成交量、成交额等市场深度信息 ### 2. 智能变化检测 - 采用SHA256哈希算法对采集的数据进行指纹计算 - 只有当数据发生变化时才执行数据库写入操作,避免重复数据存储 - 有效减少数据库负载,提高系统运行效率 ### 3. 定时任务调度 - 基于Cron表达式实现灵活的定时采集策略 - 可配置的采集间隔(默认5秒),适应不同的业务需求 - 稳定的后台运行机制,支持长时间连续工作 ### 4. 数据持久化存储 - 使用PostgreSQL作为数据存储后端,确保数据可靠性和一致性 - 支持数据 Upsert 操作(存在则更新,不存在则插入) - 按日期分区管理数据,便于历史数据查询和分析 ### 5. 运行状态监控 - 完整的采集日志记录,包括成功/失败状态和数据变化情况 - 详细的错误信息记录,便于问题排查和系统维护 ## 技术特性 - **高性能**:采用Go语言开发,具有出色的并发处理能力 - **低延迟**:优化的HTTP客户端配置,确保快速响应数据请求 - **高可靠性**:完善的错误处理机制和事务保证 - **易扩展**:模块化设计,便于功能扩展和维护 - **资源友好**:智能的变化检测机制,减少不必要的数据库操作 ## 应用场景 - 量化交易策略的数据支撑 - 投资组合实时监控 - 交易行为分析与回溯 - 风险管理数据基础 - 自动化交易系统的数据输入 ## 系统要求 - Go 1.26.1 或更高版本 - PostgreSQL 数据库 - 网络连接(访问QMT平台API) ## 部署说明 1. 克隆代码库 2. 配置环境变量: - `COLLECTOR_URL`: QMT数据接口地址 - `DATABASE_URL`: PostgreSQL连接字符串 - `COLLECTION_INTERVAL`: 采集间隔(秒) 3. 编译并运行程序 ## 注意事项 - 确保QMT平台服务正常运行并可访问 - 数据库需要具备相应的读写权限 - 建议在生产环境中配置合适的日志级别和监控告警