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

ptrade 平台 get_sort_msg 接口如何按成交额排序?

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

问题描述

get_sort_msg支持按成交额排序吗?

使用get_sort_msg想要获取成交额最大的板块,设置sort_field_name="成交额"后报错,为什么?

解决方案

核心解答

支持按成交额排序。

报错的原因是 sort_field_name 参数不支持直接输入中文。在 ptrade 的 get_sort_msg 接口中,排序字段必须使用官方指定的英文字段名。代表“总成交额”的正确字段名是 'business_balance'


正确的使用方法

如果您想获取成交额最大的板块(降序排列),应该这样设置参数:

# 获取概念板块按成交额降序排列的前10名
sort_data = get_sort_msg(sort_type_grp='XBHS.GN', sort_field_name='business_balance', sort_type=1, data_count=10)

完整代码示例

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

def handle_data(context, data):
    # 获取概念板块(XBHS.GN)按总成交额(business_balance)降序(sort_type=1)排名的前10条数据
    sort_data = get_sort_msg(sort_type_grp='XBHS.GN', sort_field_name='business_balance', sort_type=1, data_count=10)
    
    if sort_data:
        # 打印成交额最大的板块信息
        first_block = sort_data[0]
        log.info("成交额最大的板块是:%s, 成交额为:%s" % (first_block['prod_name'], first_block['business_balance']))

附:sort_field_name 常用支持字段列表

为了避免类似报错,请参考以下常用的合法英文字段名:

  • business_balance:总成交额
  • business_amount:总成交量
  • px_change_rate:涨跌幅
  • px_change:涨跌额
  • amplitude:振幅
  • vol_ratio:量比
  • market_value:市值
  • circulation_value:流通市值
  • rise_count:上涨家数
  • fall_count:下跌家数