首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >miniqmt怎么获取概念板块涨幅排名

miniqmt怎么获取概念板块涨幅排名

作者头像
子晓聊技术
发布2026-04-23 16:01:58
发布2026-04-23 16:01:58
1100
举报
文章被收录于专栏:子晓AI量化子晓AI量化

随着上周tushare出现那样的事情以后,我接触的同学中用miniqmt的越来越多, 这里写一写大家常碰到的一些问题。

比如昨天有星球同学 群里问,怎么获取概念板块涨停数量排序。 之前有同学问,怎么获取概念板块涨幅排名? 这里就以miniqmt怎么获取概念板块涨幅排名举例。

虽然我自己觉得xtquant + miniqmt 获取的概念板块 ,概念板块数据源设计得不是很好,并不一定是你需要的概念板块。但既然大家有这个需求。那就写一篇。

对于这种需求,我们一般怎么处理呢?

以下是使用 miniQMT(通过 XtQuant库)获取当前涨幅前5的概念板块的实现方案,可以参考下。实现思路大概如下

1、获取所有概念板块列表

通过 xtdata.get_sector_list()筛选名称以 GN开头的板块(概念板块标识)

。 先下载所有板块, 然后筛选GN开头的板块

2、计算每个板块的实时涨幅

获取板块内成分股列表(xtdata.get_stock_list_in_sector(板块名)

查询成分股的最新价前收盘价,计算板块整体涨幅(如成分股平均涨幅)。

3、排序并筛选涨幅前5

按涨幅降序排序,取前5名。

这里贴一下完整代码,参考下思路, 具体根据自己的实际情况改造。 备注:如果发现格式有多余的特殊字符,用普通浏览器打开复制应该没问题。 希望我的分享对大家有所帮助

代码语言:javascript
复制
from xtquant import xtdata
import pandas as pd
def download_sector_data():
    """解决板块数据下载卡顿问题"""
    client = xtdata.get_client()
    client.down_all_sector_data()  
def get_top5_concept_sectors():
    try:
        download_sector_data()  # 确保板块数据已下载
        sector_list = xtdata.get_sector_list()
        concept_sectors = [s for s in sector_list if s.startswith('GN')]  # 筛选概念板块[2,3](@ref)
        #print(concept_sectors)
        sector_gains = []
        for sector in concept_sectors:
            stocks = xtdata.get_stock_list_in_sector(sector)  # 获取板块成分股[3,4](@ref)
            #print(stocks)
            if not stocks:
                continue
            # 获取成分股实时行情(最新价与前收盘价)
            quotes = xtdata.get_full_tick(stocks)
            #print(quotes)
            total_gain = 0
            valid_stocks = 0
            for stock, data in quotes.items():
                if data.get('lastPrice') and data.get('lastClose'):
                    gain = (data['lastPrice'] / data['lastClose'] - 1) * 100  # 计算单股涨幅
                    total_gain += gain
                    valid_stocks += 1
            if valid_stocks > 0:
                avg_gain = total_gain / valid_stocks  # 板块平均涨幅
                sector_gains.append((sector[2:], avg_gain))  # 去除前缀"gn",保留板块名称
        # 按涨幅降序排序,取前5
        top5 = sorted(sector_gains, key=lambda x: x[1], reverse=True)[:5]
        return pd.DataFrame(top5, columns=["概念板块", "涨幅(%)"])
    except Exception as e:
        print(f"Error: {e}")
        return pd.DataFrame()
# 执行并输出结果
if __name__ == "__main__":
    df_top5 = get_top5_concept_sectors()
    print("涨幅前5的概念板块:")
    print(df_top5)

其实现在即使是我,也是借助AI工具完成部分编码工具。 需要注意下,你把你的需求提给AI的时候,AI可能胡编乱造一些字段, 你需要分辨清楚。AI编程工具是辅助, 关键是自己能够发现对应的问题并加以解决。

用AI提升效率,但不能全信AI。

如果我的分享对你投资有所帮助,不吝啬给个点赞关注呗。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-08-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 子晓聊技术 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档