1.11K 浏览
0

你好,

我需要订阅所有股票的实时行情,我使用的接口是get_quote。

当我只订阅400只股票时,可以看到返回的行情能达到每5秒一条。

但当我订阅全市场4000多只股票时,返回的行情已经几乎一分钟一条。

我觉得原因可能是一下两点

  1. 我本地server性能不够
  2. 每一个账户会有一定的限流

第一点我已经在申请更强性能的server。

针对第二点,请解答。

如果是一下代码有问题或者有别的更快的解决方法,也请告知,感谢。

async def loadStockQuote(SYMBOL):
    print('try to get symbol {}'.format(SYMBOL))
    tick_data = await api.get_quote(SYMBOL)  # 支持 await 异步,这里会订阅合约,等到收到合约行情才返回
    async with api.register_update_notify() as update_chan:
        async for _ in update_chan:
            if api.is_changing(tick_data):
                XXXX
    api = TqApi(auth=TqAuth(tqUsername, tqPassword))
for symbol in allSymbolList:
    api.create_task(loadStockQuote(symbol, myInfluxdb))  # 为每个合约创建异步任务

李思恒 已回答的问题 2022年9月23日
1

你说的没错的,会有一定的限流,这个确实没什么太好的办法,后台有一定的限制。可以试试拆开多py文件看看

李思恒 已回答的问题 2022年9月23日