vn.py量化社区
By Traders, For Traders.
Member
加入于:
帖子: 2
声望: 0

我今天完成了穿透式认证,然后用CTP实盘的相应账号录tick数据。发现和之前用simnow的账号录tick数据不同。
具体表现在之前是1秒两根数据,这次是1秒只有1根数据。如何解决这个问题?

description

Member
avatar
加入于:
帖子: 1379
声望: 84

description
上图是simnow推送的行情。请确认一下录到的数据是全是一秒一次还是个别是一秒一次呢?如果个别的话,有可能是该合约当时成交不活跃,那么可能就是没有推送新tick。

Member
加入于:
帖子: 2
声望: 0

xiaohe wrote:

description
上图是simnow推送的行情。请确认一下录到的数据是全是一秒一次还是个别是一秒一次呢?如果个别的话,有可能是该合约当时成交不活跃,那么可能就是没有推送新tick。
我后来把tick打印了出来发现,实盘行情接收是一秒会有2根,但是时间戳是一样的,不像simnow那样没有毫秒级别的区别。
但是存储到数据库中,由于数据库的主键设置位(symbol, exchange, datetime),并且郑商所推的数据的datetime没有毫秒标记。所以导致假如一秒2根tick,两根tick的时间戳是一样的,所以每秒前一根tick会被后面的那根tick覆盖了。。。

Member
avatar
加入于:
帖子: 1379
声望: 84

是的,郑商所的tick里时间戳和毫秒是分开推的,建议可以仿照一下ctp_gateway里def onRtnDepthMarketData函数里对timestamp的处理,处理完datetime再缓存

© 2015-2019 上海韦纳软件科技有限公司
备案服务号:沪ICP备18006526号-3