上次我们通过天山老妖的教程了解了QuantFabric的系统架构设计,从理论层面认识了这套高频交易系统。今天继续跟着教程的第二部分,看看这个系统在实际运行时是什么样子的。
如果说上一篇是在看"设计图纸",那么这一篇就是在看"驾驶舱"——一个真正运行中的量化交易系统,交易员每天面对的操作界面,以及系统背后各个组件是如何协同工作的。
从理论到实践的跨越
理论再完美,最终还是要落地到实际使用中。天山老妖在这个演示中,展示了一个完整的QuantFabric测试环境,让我们能够直观地看到:
- 行情数据是如何实时流入系统的
- 订单是如何从策略发出到交易所成交的
- 风控系统是如何实时监控和干预的
- 系统运行状态是如何被监控的
这种从抽象到具体的演示,让我对量化交易系统有了更感性的认识。
系统的实际部署架构
在这个演示环境中,所有组件都部署在一台4核8GB的阿里云服务器上:
测试环境部署:
├── 4个交易网关 (XTrader)
├── 1个行情网关 (XMarketCenter)
├── 1个风控系统 (XRiskJudge)
├── 1个中间件 (XServer)
├── 1个监控组件 (XWatcher)
└── 1个GUI客户端 (XMonitor)
虽然是测试环境,但这个部署已经体现了QuantFabric的模块化设计。在生产环境中,这些组件可以分布式部署到不同的服务器上,以获得更好的性能和稳定性。
演示选择了易达(YD)测试环境,因为其他交易环境在周末不可用。这也反映了量化交易系统开发中的一个现实:测试环境的可用性直接影响开发和调试效率。
"驾驶舱"界面详解
行情监控:市场的实时脉搏
行情插件(Market Plugin) 是整个系统的数据入口:
行情监控界面特点:
- 实时展示行情网接收到的市场数据
- 左侧过滤栏:可以按需筛选行情信息
- 数据状态监控:周末行情时间可能异常(测试环境特性)
这个界面让交易员能够直观地看到市场数据的流入情况。在实际交易中,行情数据的完整性和时效性直接影响策略的执行效果。
订单管理:交易执行的控制中心
订单管理插件(Order Manager Plugin) 是系统的核心操作界面:
过滤和控制功能:
过滤维度:
- Colocation ID (C)
- 产品类型
- 账户信息
- 合约代码
控制操作:
- 报单:手动提交订单(如IF2209合约的买开订单)
- 撤单:通过Order ID或双击操作撤单
状态显示系统:
颜色编码规则:
- 绿色:正常初始化或测试订单
- 红色:系统启动失败或API连接失败
关键提醒:开盘前必须检查红色状态,确保系统正常
数据表格:
- 股票仓位表:显示股票持仓情况
- 期货仓位表:显示期货持仓情况
- 订单挂单表:未成交订单列表
- 历史订单表:已处理订单记录
- 资金表:账户信息、可用资金和资产余额
这种设计让交易员能够在一个界面中掌握所有关键的交易信息。
风险控制:安全交易的保障
风控插件(Risk Judge Plugin) 提供了实时的风险管理功能:
参数调整功能:
可调整的风控参数:
- 流速控制:每秒报单数量限制
- 合约撤单限制:每个合约每日最大撤单次数
- 订单撤单限制:每笔订单最大撤单次数
账户管控:
锁定功能:
- 买卖方向锁定
- 整个账户锁定
- 针对特定账户的精细化控制
监控功能:
- 风控事件列表:记录所有风控操作和触发事件
- 撤单统计:按账户和合约统计撤单次数
这种实时的风控调整能力,让交易员能够根据市场情况动态调整风险控制策略。
系统监控:运行状态的全貌
监控插件(Monitor Plugin) 提供了详细的系统运行状态信息:
服务器性能监控:
操作系统信息:
- 系统版本:CentOS 7.9.29
- 内核版本:3.10
性能指标:
- 平均负载:1分钟、5分钟、15分钟负载
- CPU使用率:用户空间、内核空间、I/O等待、中断等
- 内存状况:总内存、可用内存、使用率
- 磁盘状态:总空间、可用空间、使用率
进程监控表:
进程级监控指标:
- PID和进程状态
- CPU使用率和内存大小
- 启动时间(首次和最近)
- 版本信息:APP提交ID、API版本等
进程管理功能:
GUI操作支持:
- 停止进程 (Q)
- 启动进程 (Start)
- 为IT运维人员和交易员提供友好的操作界面
这种可视化的系统监控,让系统管理变得直观和高效。
权限管理:安全与协作的平衡
权限管理插件(Permission Plugin) 实现了用户权限的精细化控制:
用户管理功能:
用户操作:
- 创建新用户
- 设定密码
- 分配角色(如"monitor"用户)
- 修改用户权限
- 删除用户
权限分级:
权限等级:
- "admin"用户:完全权限
- "RO"用户:只读权限
- "monitor"用户:监控权限
安全机制:只有"RO"和"admin"用户才能修改权限插件
这种设计实现了IT运维人员和交易员/策略研究人员之间的功能隔离,既保证了系统安全,又提高了协作效率。
事件日志:系统运行的记录仪
事件日志插件(Event Log Plugin) 记录了系统运行的各种信息:
日志分级:
颜色编码:
- 黄色:警告信息
- 红色:错误信息(本地断开、网络连接断开、风控断开等)
信息类型:
- 系统内部各类操作信息
- 错误和异常事件
- 监控日志和状态变化
左侧的过滤栏让用户可以快速定位关键信息。
实战操作流程演示
订单提交流程
演示中展示了一个完整的订单提交流程:
订单操作流程:
1. 在订单管理插件中设置订单参数
- 合约:IF2209
- 操作:买开
- 价格:限价单
- 手数:指定数量
2. 系统执行风控检查
- 验证账户权限
- 检查风控规则
- 确认订单合规性
3. 订单提交到易达测试环境
- 通过交易网关发送
- 等待交易所撮合
- 接收成交回报
4. 状态更新和记录
- 订单状态实时更新
- 仓位信息同步变化
- 事件日志记录操作
策略模拟演示
视频中还演示了通过tols
(工具)模块模拟策略报单的过程:
策略模拟流程:
1. 批量订单生成
2. 发送到内存消息队列
3. 交易网读取并处理
4. 提交给交易所执行
这种模拟方式让开发者可以测试策略的执行效果,而不需要实际的策略代码。
系统设计理念的体现
通过这个实际运行的演示,我们可以看到QuantFabric系统设计理念的具体体现:
模块化设计的优势
模块化体现:
- 每个功能都是独立的插件
- 插件可以独立开发和测试
- 界面可以根据需要灵活配置
- 支持可拖拽的插件架构
可扩展性的实现
扩展性特点:
- 支持多屏幕显示
- 插件可以按需加载
- 新功能可以通过插件形式添加
- 不同用户可以有不同的界面配置
用户体验的考虑
用户友好性:
- 直观的图形界面
- 颜色编码的状态显示
- 实时的数据更新
- 便捷的操作方式
实用性思考
对交易员的价值
从这个演示中,我看到了现代量化交易系统对交易员工作方式的改变:
- 信息集中化:所有关键信息都集中在一个界面中
- 操作简单化:复杂的技术操作被封装为简单的GUI操作
- 监控实时化:系统状态和交易状态都能实时掌握
- 风控可视化:风险控制不再是黑盒,而是可见可控的
对系统管理员的价值
进程管理的便利性:
- 可以通过GUI直接管理进程
- 不需要命令行操作
- 降低了运维的技术门槛
监控的全面性:
- 系统性能指标一目了然
- 问题可以及时发现和定位
- 历史数据便于分析问题
对开发者的启发
界面设计的重要性:
- 好的界面能够大大提升工作效率
- 信息的组织和呈现方式很关键
- 用户体验在B端软件中同样重要
权限管理的必要性:
- 不同角色需要不同的权限
- 安全性和便利性需要平衡
- 权限分离有助于团队协作
从"驾驶舱"看到的启示
这个实战演示让我对量化交易系统有了新的认识:
系统不仅仅是代码
一个成功的量化交易系统,不仅仅是后台的算法和架构,用户界面和用户体验同样重要。交易员每天要面对这些界面,界面的设计直接影响工作效率和决策质量。
监控是系统的眼睛
没有监控的系统是盲目的系统。QuantFabric提供的全方位监控能力,让系统的运行状态完全透明,这对于高频交易这种对稳定性要求极高的场景尤其重要。
权限管理是团队协作的基础
在实际的交易团队中,不同的人员有不同的职责。合理的权限设计能够让每个人在自己的权限范围内高效工作,同时保证系统的安全性。
实时性是核心要求
从界面的实时数据更新,到订单的实时状态反馈,再到系统性能的实时监控,实时性贯穿了系统的各个层面。这也体现了高频交易对时效性的极致追求。
技术与业务的融合
通过这个"驾驶舱"演示,我们看到了一个重要的趋势:技术系统越来越贴近业务需求。
QuantFabric不仅仅提供了技术功能,更重要的是提供了一种工作方式:
- 让交易员能够专注于交易决策,而不是技术细节
- 让风控人员能够实时调整风险参数,而不是事后分析
- 让运维人员能够直观管理系统,而不是盲目操作
这种技术为业务服务的理念,是现代量化交易系统成功的关键。
总结
通过天山老妖的这个实战演示,我们看到了QuantFabric系统从设计理念到实际应用的完整过程。这不仅仅是一个技术展示,更是一个关于如何构建用户友好的复杂系统的案例研究。
对于量化交易从业者来说,这种"驾驶舱"式的系统设计提供了很好的参考:
- 功能的模块化设计让系统更易于维护和扩展
- 直观的用户界面提高了工作效率
- 全面的监控体系保证了系统的可靠性
- 灵活的权限管理支持了团队协作
最重要的是,这个演示让我们看到,一个优秀的量化交易系统不仅要有强大的技术内核,更要有贴心的用户体验。在追求纳秒级延迟优化的同时,也要关注用户的实际使用感受。
这或许就是QuantFabric系统的价值所在:它不仅解决了技术问题,更解决了人与复杂系统之间的交互问题。在量化交易日益复杂的今天,这种以用户为中心的设计思路,值得我们深入思考和借鉴。
本文基于天山老妖QuantFabric教程的实战演示部分整理而成,感谢天山老妖提供如此详细的系统演示。通过这种"驾驶舱"视角,我们得以深入了解现代量化交易系统的实际运行状态,这对理解和构建类似系统很有启发意义。