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

1. 怎么发现的 ?

分析一下盘中启动CTA策略带来的第一根合成K线错误

2. 运行策略的结果:

【first bar time = 2020-10-16 14:52:00+08:00 history bar time = 2020-10-16 14:59:00+08:00,bars count=555】合成的第一个bar的时间比米筐的最新bar的时间也是晚了7分钟
【tick.datetime = 2020-10-16 14:53:00+08:00 is_first_bar=False】 此时实际时间已经15:01了,tick的时间晚了7分钟
【tick.datetime = 2020-10-16 14:54:00+08:00 is_first_bar=False】
【tick.datetime = 2020-10-16 14:55:00+08:00 is_first_bar=False】
【tick.datetime = 2020-10-16 14:56:00+08:00 is_first_bar=False】
【tick.datetime = 2020-10-16 14:57:00+08:00 is_first_bar=False】
【tick.datetime = 2020-10-16 14:58:00+08:00 is_first_bar=False】
【tick.datetime = 2020-10-16 14:59:00+08:00 is_first_bar=False】
【tick.datetime = 2020-10-16 15:00:00+08:00 is_first_bar=False】 此时实际时间已经15:10了,tick的时间晚了约10分钟

一般15:00国内的期货交易所就休市了,应该立即就没有tick推送了,可是就连vnpy上仍然可以见到ag2012.SHFE的tick在不断变化,和Demo_Strategy策略调试输出的信息也是吻合的。很显然tick时间比滞后实际时间大概7~10分钟

3. 问问各位先知,是否知道原因?

Member
avatar
加入于:
帖子: 4618
声望: 284

可能的原因是:

  1. 在2.1.3加上全球时间戳之后,中国地区vnpy的时间戳应该是 +08:06。你的时间如果用replace(tzinfo=None)处理过后应该会少6分钟差别;
  2. 米筐的数据是9:01到下午3:00的,而vnpy是9:00到下午2:59的。可参考https://www.vnpy.com/forum/topic/1706-qing-wen-hui-ce-shi-shi-yong-9:01dao-3:00-huan-shi-cong-9:00dao-xia-wu-2:59de-shu-ju
Member
avatar
加入于:
帖子: 419
声望: 170

xiaohe wrote:

可能的原因是:

  1. 在2.1.3加上全球时间戳之后,中国地区vnpy的时间戳应该是 +08:06。你的时间如果用replace(tzinfo=None)处理过后应该会少6分钟差别;
  2. 米筐的数据是9:01到下午3:00的,而vnpy是9:00到下午2:59的。可参考https://www.vnpy.com/forum/topic/1706-qing-wen-hui-ce-shi-shi-yong-9:01dao-3:00-huan-shi-cong-9:00dao-xia-wu-2:59de-shu-ju

应该不是全球时间戳的问题,因为调试输出的时间中的时间戳已经是+08:00的,而且过收市时间快10分钟了仍然能够从CTP接口收到tick推送,就与时间戳无关了。

Member
avatar
加入于:
帖子: 4618
声望: 284

hxxjava wrote:

xiaohe wrote:

可能的原因是:

  1. 在2.1.3加上全球时间戳之后,中国地区vnpy的时间戳应该是 +08:06。你的时间如果用replace(tzinfo=None)处理过后应该会少6分钟差别;
  2. 米筐的数据是9:01到下午3:00的,而vnpy是9:00到下午2:59的。可参考https://www.vnpy.com/forum/topic/1706-qing-wen-hui-ce-shi-shi-yong-9:01dao-3:00-huan-shi-cong-9:00dao-xia-wu-2:59de-shu-ju

应该不是全球时间戳的问题,因为调试输出的时间中的时间戳已经是+08:00的,而且过收市时间快10分钟了仍然能够从CTP接口收到tick推送,就与时间戳无关了。

输出的要是+08:06才能是一致的呀,比如说本来是14:58:00+08:06,用08:00就会是14:52:00。这里6分钟加上米筐的那一分钟刚好7分钟

Member
avatar
加入于:
帖子: 419
声望: 170

今天晚上又调试了测似了一下,结果是发现,CTP接口推送的实际和实际时间是一致的

description

电话咨询了SimNow的官方客服400-980-6816,答复是这样的

1 SimNow模拟行情接口的对行情数据的推送不做延迟
2 但是SimNow模拟行情接口可能因为登录用户数量庞大,在下发这些从交易所得到的行情数据时,可能出现累积延迟导致收市后行情数据仍然没有发送结束的现象是可能存在的。

但是出现高达7-10分钟左右的累积延迟,还是让人感到震惊!
不过好在这是模拟账户,不是正式生产账户。
下周一用同样的方法测试下正式生产账户,应该没有这个问题。

Administrator
avatar
加入于:
帖子: 4500
声望: 320

SimNow环境长期免费的政策,积累了大量测试用户,这些都是巨大的负担(实盘不会这么夸张的),甚至还经常出现服务器人数满了登录不了的情况。

对于仿真交易、数据服务这些有成本的服务端应用,我个人挺支持收费的,平衡一下成本,同时挡掉一些无意义的用户。

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

为什么要用replace(tzinfo=None)处理呢!这样不就导致慢了6分钟吗?

Member
avatar
加入于:
帖子: 337
声望: 27

现在时间戳统一是+08:00,并不会+8:06了。

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

青青子荆 wrote:

现在时间戳统一是+08:00,并不会+8:06了。
vnpy从什么版本开始的?因为我用的vnpy2.1.7。

Member
avatar
加入于:
帖子: 337
声望: 27

学与忍 wrote:

青青子荆 wrote:

现在时间戳统一是+08:00,并不会+8:06了。
vnpy从什么版本开始的?因为我用的vnpy2.1.7。

可以去Github上看一下修改记录。

Member
avatar
加入于:
帖子: 35
声望: 1

simnow的行情跟实盘的确实是有延迟的,我对比了MC的实盘数据也发现有不一致的情况。
不过也跟前面说的一样因为服务器原因又是免费的无法避免。
所以最好还是实盘小资金测试比较有参考性,或者用高质量数据回测参考。

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

沪公网安备 31011502017034号

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