可转债实盘量化,之前用的lv1的数据,最短每3s推送一次行情,收盘后整理当天的交易明细,发现实盘经常跟回测有出入。
应该买入或卖出的单子偏离成交价过大,导致超时未成,做了过山车。一直在想怎么解决这个问题,回测收益于实际相差过大,回测的收益可望不可及。
后来试了试用level2的行情,成交响应好了很多,几乎挂单1s内就能成交,成交价格与回测值更接近了,甚至有些时候成交价格好于回测值。
仔细分析了下level2和level1数据的延时,发现lv1数据其实并非近3s内成交均价,而是价格每3秒的切片,对比了level2的数据延时大了不少。
用pyplot画了两张点图,放大看level2比level1点密集太多了,密集成交区level2推送密度大概是level1的200倍,交易系统响应快了不少。
level1行情离散点图
image.png
level2行情离散点图
image.png如果挂单根据lv1推送触发,可能会落后实际成交价格,导致无法在容许价格内成交,不然的话,适当提高买入价或者降低卖出价也能解决这个问题。
如果每一笔成交相比回测都是高卖低卖,和回测值差零点几个点,累计收益就没那么好看了,尤其是高频交易,单次利润比较微薄,争取多吃点利润吧。
有做量化的可以一起交流下,看看有啥更好的思路。
行情出处:
网友评论