1. 主页
  2. 文档
  3. 帮助文档
  4. 基础数据
  5. 订阅

订阅

Dsxquant 提供实时行情订阅功能,可批量订阅,也可以全量订阅。订阅功能需要启用异步连接 asyncconnect(),批量订阅最多支持50个股票代码,全量订阅默认全市场变动数据推送。

# 异步订阅模式,订阅模式请求是异步进行的,订阅成功后服务器会主动推送信息到您的回调函数中,注意请不要手动调用关闭连接方法
dd_async = dsxquant.dataser.asyncconnect()
if dd_async:
    # 异步请求实时行情接口,服务器会主动推送实时行情
    def quotes_callback(response:dsxquant.parser):
        # print(response.get("msg"))
        result = response.dataframe()
        print(result)
    # 批量订阅股票代码,批量订阅最多支持50个股票代码
    result = dd_async.sub_quotes("sh000001,sh600000,sz000001,bj430047,bj430090",quotes_callback)
    print(result)
        
    def quotes_all_callback(response:dsxquant.parser):
        dd = response.dataframe()
        # 第一行默认是字段名称数组 ["amount","close",.....]
        names:list = list(dd.values[0])
        # 第二行开始是数据
        quote = dd.loc[1,:]
        code = quote[names.index("code")]
        t = quote[names.index("lasttime")]
        d = quote[names.index("lastdate")]
        t = datetime.datetime.strptime(d+" "+t,"%Y-%m-%d %H:%M:%S")
        s = datetime.datetime.now() - t
        print("%s 笔 %s 时间 %s 当前时间 %s 延时 %s s" % (dd.__len__(),code,t,datetime.datetime.now(),s.seconds))
    # 全量订阅全市场所有股票实时行情
    dd_async.sub_all_quotes(quotes_all_callback)

取消订阅

success = dd_async.cancel(quote)
if success!=None:
    print("cancel success:"+quote.api_name)
这篇文章对您有用吗?

我们要如何帮助您?