Files
collector/README.md
2026-04-07 14:46:49 +08:00

69 lines
2.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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平台服务正常运行并可访问
- 数据库需要具备相应的读写权限
- 建议在生产环境中配置合适的日志级别和监控告警