VeighNa量化社区
你的开源社区量化交易平台
Member
加入于:
帖子: 6
声望: 0

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

description

Member
avatar
加入于:
帖子: 4669
声望: 285

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

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

xiaohe wrote:

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

Member
avatar
加入于:
帖子: 4669
声望: 285

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

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

沪公网安备 31011502017034号

【用户协议】
【隐私政策】
【免责条款】