🚀 AI 一键生成 ptrade 策略代码
立即体验
👉 AI 生成代码 👈

ptrade 平台 get_sort_msg 接口获取数据数量有上限吗?为什么设置 data_count=500 只返回 100 条?

ptrade | 发布时间: 2026/6/4
以下内容由 EasyQuant 生成。

问题描述

get_sort_msg获取的数据数量有上限吗?

使用get_sort_msg设置data_count=500但只返回了100条数据,为什么?

解决方案

get_sort_msg 获取的数据数量有上限吗?

是的,get_sort_msg 接口获取的数据数量是有上限的。根据 ptrade API 文档,data_count 参数的默认值为 100,最大值为 10000

为什么设置 data_count=500 但只返回了 100 条数据?

如果您在调用 get_sort_msg 时设置了 data_count=500,但最终只返回了 100 条数据,通常有以下几种可能的原因:

  1. 板块或行业本身的成分股数量不足get_sort_msg 是用于获取特定板块或行业(如 XBHS.DY 地域、XBHS.GN 概念等)内的排名信息。如果您查询的板块本身只包含 100 只(或更少)的成分股,那么即使您将 data_count 设置为 500,接口也只能返回实际存在的成分股数量。您可以通过检查返回数据中的 member_count(成员个数)字段来确认该板块的实际总数。
  2. 参数传递错误:请确保在调用接口时,data_count 参数被正确传递。例如:get_sort_msg(sort_type_grp='XBHS.GN', sort_field_name='px_change_rate', sort_type=1, data_count=500)

接口参数回顾

get_sort_msg(sort_type_grp=None, sort_field_name=None, sort_type=1, data_count=100)
  • sort_type_grp: 板块或行业的代码(如 XBHS.DY 地域、XBHS.GN 概念、XBHS.ZJHHY 证监会行业等)。
  • sort_field_name: 需要排序的字段(如 px_change_rate 涨跌幅、last_px 最新价等)。
  • sort_type: 排序方式,0 为升序,1 为降序(默认)。
  • data_count: 数据条数,默认为 100,最大为 10000。

示例代码

以下代码展示了如何正确设置 data_count 并检查板块的实际成员数量:

def initialize(context):
    g.security = '000001.SZ'
    set_universe(g.security)

def handle_data(context, data):
    # 获取概念板块的涨跌幅降序排名,尝试获取 500 条
    sort_data = get_sort_msg(sort_type_grp='XBHS.GN', sort_field_name='px_change_rate', sort_type=1, data_count=500)
    
    if sort_data:
        # 打印实际返回的数据条数
        log.info("实际返回的数据条数: %s" % len(sort_data))
        
        # 打印第一条数据中的 member_count,查看该板块实际包含多少成员
        first_item = sort_data[0]
        log.info("该板块实际成员总数: %s" % first_item.get('member_count'))

总结data_count 的上限是 10000,但实际返回的条数受限于您查询的板块/行业内实际包含的标的数量。