3 分钟快速生成代码
输入想法,AI 即刻生成可运行代码
是的,get_sort_msg 接口获取的数据数量是有上限的。根据 ptrade API 文档,data_count 参数的默认值为 100,最大值为 10000。
如果您在调用 get_sort_msg 时设置了 data_count=500,但最终只返回了 100 条数据,通常有以下几种可能的原因:
get_sort_msg 是用于获取特定板块或行业(如 XBHS.DY 地域、XBHS.GN 概念等)内的排名信息。如果您查询的板块本身只包含 100 只(或更少)的成分股,那么即使您将 data_count 设置为 500,接口也只能返回实际存在的成分股数量。您可以通过检查返回数据中的 member_count(成员个数)字段来确认该板块的实际总数。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)
XBHS.DY 地域、XBHS.GN 概念、XBHS.ZJHHY 证监会行业等)。px_change_rate 涨跌幅、last_px 最新价等)。0 为升序,1 为降序(默认)。以下代码展示了如何正确设置 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,但实际返回的条数受限于您查询的板块/行业内实际包含的标的数量。