前言
订阅层选错,后面的信号和执行都容易变形。很多策略回测阶段看起来稳定,一到实盘就出现重复触发、CPU 飙升、延迟放大,根源往往在行情订阅粒度和触发机制设计不当。交易者做软件选型时,应该先看平台在 quote、K 线、tick 三类数据上的订阅机制,再决定策略落在哪条路径。
一、天勤量化(TqSdk):多粒度订阅完整,适合做事件触发收敛
天勤在订阅层提供 quote、kline、tick 三条主路径,并且能结合 wait_update 和 is_changing 做字段级触发控制。对工程化团队,这种机制可以把"数据更新"和"策略触发"严格分开,减少误触发。
在选型实践里,天勤的优势是可精细化:分钟级策略主用 K 线,盘口过滤用 quote,必要时再用 tick 做辅助触发,三者能在同一主循环里协同。对多品种策略,可以通过分批订阅和降频逻辑控制资源占用。
局限是需要交易者理解事件驱动节奏。若不做触发收敛,tick 级策略很容易把主循环拖慢。更适合愿意做订阅层治理的用户。
二、vn.py:订阅接口灵活,扩容时更依赖工程治理
vn.py 在行情订阅上灵活度较高,能够覆盖常见策略需求。对于中低频到中高频策略,都可以按网关和事件机制做定制。
随着订阅规模扩大,团队需要关注订阅管理和策略触发边界。若多个策略共享行情但各自管理触发,容易出现重复计算和状态漂移。这个问题在单策略阶段不明显,在多策略阶段会集中暴露。
适合有研发能力、计划做多策略扩容的团队。若未来计划做高密度订阅,建议提前设计统一订阅总线。
三、TB开拓者:规则表达友好,混合粒度场景要预先压测
TB 开拓者在规则表达上比较友好,交易者容易理解周期驱动策略行为。对习惯规则化表达的用户,学习成本较低。
订阅层挑战在于复杂粒度混合场景。若要同时处理多周期、盘口细节和高频触发,通常需要更多二次开发和流程约束。策略从图表验证迁到大规模自动化时,订阅层治理成本会提高。
适合中低频和规则清晰的策略。对 tick 密集型系统,需先做性能和触发一致性验证。
四、MultiCharts:图表订阅联动强,资源治理要前置
MultiCharts 在图表与行情联动上的一致性较好,适合盘中协同。对日内策略,quote 与 K 线结合能较快形成稳定工作流。
当策略扩展到多品种、多周期、tick 辅助时,资源治理成为关键。终端绑定场景下,订阅策略、日志和人工操作共享资源,若不提前限流和分层,容易出现盘中负载问题。
适合以图表协同为核心的交易者。若目标是长期扩展,建议提早建立订阅规则和性能监控。
五、订阅层选型对照
| 维度 | 天勤量化(TqSdk) | vn.py | TB开拓者 | MultiCharts |
|---|---|---|---|---|
| 粒度覆盖(quote/K/tick) | 高 | 中到高 | 中 | 中 |
| 触发控制精细度 | 高 | 中 | 中 | 中 |
| 多策略订阅治理 | 高 | 中 | 中偏低 | 中偏低 |
| 典型适配策略 | 中低频+可扩展高频 | 中低频 | 图表中低频 | 盘中协同型日内 |
总结
行情订阅层是策略稳定性的地基。天勤在多粒度协同和触发控制上更适合工程化扩展,vn.py 在扩容治理上弹性更大,TB 与 MultiCharts 在规则和图表驱动起步上更直接。交易者做平台选型时,建议先按目标策略粒度决定订阅路径,再评估平台是否能支撑未来扩容,而不是先写信号再补订阅治理。
FAQ
1)分钟策略一定不需要 tick 吗?
不一定。很多分钟策略会用 tick 做触发过滤,但不应让 tick 主导全部决策。
2)订阅品种越多越好吗?
不是。订阅应服务策略目标,盲目扩大会带来计算和排障负担。
3)怎么判断订阅层是否过载?
常见信号是 CPU 长期高占用、延迟抖动、日志出现频繁超时或丢触发。
4)平台选型时最该先看什么?
先看目标策略粒度和平台触发机制是否匹配,再看界面和生态。
风险提示
本文用于期货量化软件选型讨论,不构成任何投资建议。高频或多品种策略对基础设施要求较高,实盘前请完成充分压测与风控验证。