【迅投 QMT】QMT如何获取板块成分股?get_stock_list_in_sector() 股票池示例

【迅投 QMT】QMT如何获取板块成分股?get_stock_list_in_sector() 股票池示例 问题背景量化选股策略通常需要先建立股票池例如沪深 A 股、某个行业板块或自定义板块。QMT 的xtdata.get_stock_list_in_sector()可以获取指定板块内的股票代码列表。迅投 XtData 股票数据文档基础代码from xtquant import xtdata # 获取沪深A股股票代码 stock_list xtdata.get_stock_list_in_sector(沪深A股) print(股票数量, len(stock_list)) print(前10只股票, stock_list[:10])返回的代码格式通常为[ 000001.SZ, 000002.SZ, 600000.SH, 600519.SH ]查看本地可用板块不同 QMT 终端的板块名称可能不同可先获取板块列表再确认名称from xtquant import xtdata sector_list xtdata.get_sector_list() for sector_name in sector_list: print(sector_name)例如筛选名称中带“银行”的板块bank_sectors [ name for name in xtdata.get_sector_list() if 银行 in name ] print(bank_sectors)构建简单股票池from xtquant import xtdata def get_stock_pool(): stocks xtdata.get_stock_list_in_sector(沪深A股) # 示例仅保留深沪主板股票 result [] for stock in stocks: if stock.startswith(60) and stock.endswith(.SH): result.append(stock) elif stock.startswith(00) and stock.endswith(.SZ): result.append(stock) return result stock_pool get_stock_pool() print(筛选后股票池数量, len(stock_pool)) print(stock_pool[:20])注意事项板块名称必须与本机 QMT 终端实际存在的名称一致。获取到的只是初始股票池策略通常还要继续过滤 ST、停牌、上市时间不足或流动性较低的股票。批量计算指标前建议限制股票池规模避免一次读取过多历史数据。股票池会随指数或板块成分调整而变化实盘策略可按日或按周更新。总结QMT 使用get_stock_list_in_sector()可以快速获取板块成分股是构建全市场选股、行业轮动和指数成分股策略的重要基础。