QMT Level2 行情订阅:量化交易的速度利器
发布时间:28分钟前阅读:17
盘口上十档卖单在几十毫秒里被连续吃掉,你的策略却还在等几秒一次的快照刷新,等它看到的时候,价格已经走完了。这不是策略逻辑的问题,是数据粒度的问题。
L1 和 L2 的差别,主要在三个地方。一是频率:L1 是隔几秒推一次盘口快照,你看到的是这一瞬间的切片;L2 推逐笔成交和逐笔委托,每一笔挂单、撤单、成交都有记录。二是深度:L1 给的档位少,L2 一般给到十档,还能看到委托队列。三是能做的东西不同:用 L1 只能算趋势、均值这类指标,用 L2 才能算主动买卖方向、大单拆分、撤单率这些细粒度的量。
订阅机制要理解清楚。L2 是按标的订阅的,订阅列表有数量上限,具体多少取决于券商给的权限和客户端版本,超了往往不报错,只是不推数据,这是最容易忽略的地方。订阅成功后,数据通过回调推到你的进程里,回调函数的执行速度直接决定会不会丢包。
操作上按这个顺序来:一,先跟客户经理确认账号有没有 L2 权限、覆盖哪些品种、能订多少个标的;二,策略启动时按代码列表分批订阅,每批之间留间隔,订阅完打印一次实际成功的数量;三,回调里只做一件事,把数据塞进队列,计算放到另一个线程;四,把逐笔数据按时间戳落盘,盘后再做特征合成,别在盘中边收边算重活;五,写重连逻辑,断线后重新订阅并核对时间戳有没有断档;六,收盘后主动退订。
还有两个细节。逐笔数据的时间戳精度比快照高,比较两个数据源时要统一到同一个时间基准,否则会得出数据对不上的错误结论。另外 L2 在非交易时段不推数据,回放测试要用本地存下来的历史逐笔,不要指望盘中接口随时能取。
另外,订阅列表最好写进配置文件,按权限随时增减,别散落在代码各处;标的多了还要定期清理已经失效的订阅,不然额度被旧标的占着,新标的订不上。
值不值得上 L2,有个简单的判断标准:写清楚你的策略到底用到了 L2 的哪一列数据,以及这一列数据能过滤掉什么噪声。如果答不上来,先用 L1 把逻辑跑通,再考虑升级数据源。
股票/量化开户欢迎找我!满足条件股票佣金万0.854、etf 可转债佣金万0.5、国债逆回购一折(百万分之一)!期权1.8元一张全包价!量化软件QMT+ptrade免费使用!还有888、999资金靓号等你选!
温馨提示:投资有风险,选择需谨慎。



问一问
从业认证

+微信
分享该文章
