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

ptrade 平台 get_sort_msg 函数如何按涨跌幅进行板块排名?

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

问题描述

ptrade 板块分析:get_sort_msg 支持的排序字段及用法详解
ptrade的get_sort_msg函数有哪些可以用来排序的字段,如何按涨跌幅(px_change_rate)进行降序排名?

解决方案

在 ptrade 量化交易平台中,get_sort_msg 函数用于获取板块、行业的涨幅排名。该函数仅在交易模块可用。

一、get_sort_msg 支持的排序字段

通过 sort_field_name 参数,你可以指定不同的财务或行情指标进行排序。支持的字段如下:

字段名称 含义 字段名称 含义
px_change_rate 涨跌幅 px_change 涨跌额
preclose_px 昨日收盘价 open_px 今日开盘价
last_px 最新价 high_px 最高价
low_px 最低价 wavg_px 加权平均价
business_amount 总成交量 business_balance 总成交额
amplitude 振幅 vol_ratio 量比
circulation_amount 流通股本 total_shares 总股本
market_value 市值 circulation_value 流通市值
rise_count 上涨家数 fall_count 下跌家数

二、函数参数说明

get_sort_msg(sort_type_grp=None, sort_field_name=None, sort_type=1, data_count=100)
  • sort_type_grp (str/list): 板块或行业代码。例如:
    • 'XBHS.DY':地域板块
    • 'XBHS.GN':概念板块
    • 'XBHS.ZJHHY':证监会行业
    • 'XBHS.HY':行业板块
    • 'XBHS.ZS':指数
  • sort_field_name (str): 排序字段,如 'px_change_rate'
  • sort_type (int): 排序方式。0 为升序,1 为降序(默认值)。
  • data_count (int): 返回的数据条数,默认为 100,最大支持 10000。

三、如何按涨跌幅(px_change_rate)进行降序排名?

要按涨跌幅进行降序排名,只需将 sort_field_name 设为 'px_change_rate',并将 sort_type 设为 1(或保持默认)。

示例代码:

def initialize(context):
    # 初始化设置
    g.security = '000001.SZ'
    set_universe(g.security)

def handle_data(context, data):
    # 获取概念板块(XBHS.GN)按涨跌幅(px_change_rate)降序排名的前10个板块
    sort_data = get_sort_msg(
        sort_type_grp='XBHS.GN', 
        sort_field_name='px_change_rate', 
        sort_type=1, 
        data_count=10
    )
    
    if sort_data:
        log.info("------ 今日概念板块涨幅前3名 ------")
        for i in range(min(3, len(sort_data))):
            block = sort_data[i]
            log.info(f"排名 {i+1}: {block['prod_name']} ({block['prod_code']}) | 涨跌幅: {block['px_change_rate']}% | 领涨股: {block['rise_first_grp'][0]['prod_name'] if block['rise_first_grp'] else '无'}")