资源加载中... loading...

关于行情的延迟问题,似乎还是不太对

Author: 王木木0015, Created: 2021-11-30 14:20:33, Updated: 2021-11-30 14:27:33

上一个帖子中,我用东吴期货测试发现ticker延迟750ms

现在我开了很多期货账号,经过测试发现他们的延迟基本差不多(虽然东吴期货稍微慢一点),也都在600-700ms;

1、我有点迷惑了,是我的测试方法不对吗?还是我对延迟的理解不对? 比如我ticker = exchange.GetTicker()获取到最新的ticker,发现它的Time字段对应的是14:11:04.000,此时本地时间记录为 local_time = 14:11:05.181,考虑到这个ticker是14:11:04.000到14:11:04.500之间的ticker,算出来延迟是14:11:05.181 - 14:11:04.500 等于0.68秒。这样有问题吗?

2、测试的时间是下午14点后,不知道是否因为这个时间段都是这个延迟

3、可能我对延迟理解不对?上面那个14:11:04.000的ticker,难道记录的是14:11:04.000到14:11:05.000之间的ticker? 这样的话,ticker500ms已更新,但是每次更新的是一秒钟内的市场状态?这么算的话,延迟200ms还算能接受。但是好像不是这么算的

期货公司通道 ticker延迟中位数
宏源期货主席1 710ms
宏源期货主席2 713ms
宏源期货主席3 693ms
东吴期货1 762ms
东吴期货2 810ms
渤海期货主席1 670ms
渤海期货主席2 689ms
渤海期货次席1 700ms
渤海期货次席2 696ms

附上我测试的代码

    def log_speed(ticker, name):
        res = {}
        res['TimeF'] = datetime.datetime.fromtimestamp(ticker['Time']/1000).strftime("%H:%M:%S.%f")
        res['local_ms'] = datetime.datetime.now().strftime("%H:%M:%S.%f")
        res['yanchi'] = datetime.datetime.now()-datetime.datetime.fromtimestamp(ticker['Time']/1000)
        res['yanchi'] = res['yanchi']-pd.Timedelta('0.5s')
        Log(res, name)
        
     def main():
        exchange.IO("mode", 1)
        _C(exchange.SetContractType, 'rb2201')
        for i in range(5):
            ticker = exchange.GetTicker()
            log_speed(ticker, 'ticker{}'.format(i))
        exit(0)

更多内容