QMT推送的实盘行情,存在重复tick、重复K线、乱序数据,需要做去重清洗,分为回测阶段和实盘盘口两种场景。
实盘tick行情,同一时间会推送多条重复数据,以时间戳作为主键去重,缓存已经处理过的timestamp,新行情到来先判断是否已经处理过,重复就直接跳过,避免重复触发交易逻辑。tick还要过滤异常价格,价格为0、涨跌偏离正常区间的数据直接丢弃。
K线数据,handle_bar回调偶尔会推送重复bar。可以保存上一根K线的时间,当新K线时间和上一根一致,则判定为重复,不执行策略逻辑。注意区分K线未完成的更新推送,未闭合的K线只做数据记录,不要用来下单,只使用已经闭合完成的K线信号。
从QMT接口批量读取历史K线时,返回结果内部也可能存在重复行,可以通过pandas,按交易时间做drop_duplicates去重,再做排序,保证时间序列从小到大。
还要处理乱序行情,网络抖动会出现时序颠倒,收到时间比上一条更早的数据,直接丢弃,不参与计算。
实操注意,不要把清洗逻辑写得太重,盘中高频循环不要做复杂运算,避免拖慢策略响应。回测的数据本身交易所已经整理,重复数据很少,清洗重点放在实盘。清洗只过滤脏数据,不能修复流动性、滑点这类真实市场带来的误差。
我司为正规上市老牌券商,风控体系完善,足不出户就能线上完成开户操作,并且佣金很优惠,欢迎联系。
申请QMT量化的要求是什么?
QMT量化历史数据获取,行情数据下载与使用方法
QMT量化回测数据复权:前复权后复权选择说明
有qmt量化交易吗?量化QMT怎么开通?
QMT 量化 Tick 数据订阅:行情频率与数据字段说明
QMT量化软件如何调用level2行情数据?
问一问流程:
1.提交咨询
2.专业一对一解答
3.免费发送短信回复