字数 646,阅读大约需 4 分钟
最近把整个交易系统做了一轮比较大的完善,整体架构变得更清晰、更灵活, 也更适合做多策略模拟交易、实盘 。

01|模拟交易:不接 miniQMT
在策略验证阶段,我们最需要的是一个轻量、快速、稳定的运行程序,来进行模拟交易。
所以我对交易系统做了拆分,如果只是模拟交易(paper trading), 那么完全不需要对接 miniQMT,按照实时行情去执行买卖逻辑 ,详细记录策略持仓、买卖记录等信息。这样做的好处有:
- • 程序占用内存更小
- • 启动更方便
- • 多开策略不冲突
- • 模拟交易的稳定性更高
非常适合用来验证策略逻辑、处理异常情况,以及跑“伪实盘”测试。

02|真实交易:用 Redis 中转下单
miniQMT 在一台电脑上,只允许一个 Python 实例连接交易 。这就意味着,没办法同时跑多个策略直接对接miniQMT进行交易。多个脚本示例会抢占接口,导致部分实例连接不上。
为了解决这个限制,我做了一个调整: 用 Redis 做策略信号中转 。
整个流程就变成:
多个策略(仅产生信号)
|
Redis 通道
|
实盘交易脚本(唯一的 miniQMT 实例)也就是说:
- • 每个策略独立运行,只负责生成买卖信号
- • 信号通过 Redis 传递
- • 专门的“交易执行脚本”统一接收信号 → miniQMT 下单

这样就实现了:
一台电脑,多策略同时实盘跑!
03|有了自动化交易框架,后面验证策略就更轻松了
随着自动交易系统的完善,策略研发也变得高效很多:
- • 模拟交易适合研发阶段
- • Redis 转发 + miniQMT 执行适合实盘阶段
- • 多策略可以并行运行
- • 所有交易都有统一日志和记录,方便分析策略表现


目前,已经陆陆续续将相应的策略接入实盘和模拟交易,在实战中对策略进行验证,而不仅仅停留在回测的自high阶段。

交易本质上需要大量的实践,这套自动交易框架正是为了缩短“从想法到实盘”的距离。
Live Trading 单策略的模拟交易、实盘实例已上传Gitee。项目会保持更新,感兴趣的朋友可以瞅瞅:
https://gitee.com/hkcodex/live-trading-system
没有评论:
发表评论