首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >QMT如何获取北交所数据

QMT如何获取北交所数据

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

最近留言中问我北交所的同学比较多, 可能是因为最近北交所行情比较火爆吧。那这里写一写,希望对需要的同学有所帮助,虽然我个人不玩北交所。

先纠正下之前写的一个例子, 【Python技术】miniqmt统计大盘实时涨跌 ,大家都知道,这个例子当时写的不包含北交所的数据。主要是因为之前我写例子的时候貌似不支持, 最近我试了下,支持北交所数据了。

代码语言:javascript
复制
import xtquant.xtdata as xtdata
from datetime import datetime, timedelta
import time


def get_all_stock_codes():
    """获取沪深京所有A股股票代码"""
    all_stocks = xtdata.get_stock_list_in_sector("沪深京A股")

    return all_stocks


def get_realtime_market_status():
    """
    实时统计涨跌家数(盘中使用)
    返回: (上涨家数, 下跌家数, 平盘家数, 无效数据家数)
    """
    stock_codes = get_all_stock_codes()
    print(stock_codes)
    quotes = xtdata.get_full_tick(stock_codes)
    print(quotes)
    up = down = unchanged = invalid = 0

    for code in stock_codes:
        data = quotes.get(code, {})
        last_price = data.get('lastPrice')
        pre_close = data.get('lastClose')

        # 过滤无效数据
        if last_price is None or pre_close is None or pre_close == 0:
            invalid += 1
            continue

        # 计算涨跌幅(避免浮点误差)
        change_pct = (last_price - pre_close) / pre_close * 100
        if change_pct > 1e-6:
            up += 1
        elif change_pct < -1e-6:
            down += 1
        else:
            unchanged += 1

    return up, down, unchanged, invalid




if __name__ == "__main__":
    print(xtdata.get_stock_list_in_sector("沪深A股"))
    print("=== 实时涨跌统计 ===")
    up, down, unchanged, invalid = get_realtime_market_status()
    print(f"上涨: {up}, 下跌: {down}, 平盘: {unchanged}, 无效数据: {invalid}")

输出上周五的大盘数据,上涨: 4859, 下跌: 473, 平盘: 98, 无效数据: 0

那我们怎么获取板块名称是沪深京A股 么, 我们可以通过下面的例子获取。 而单独的北交所板块可以通过 京市A股 获取。

代码语言:javascript
复制
from xtquant import xtdata

def download_sector_data():
    """解决板块数据下载卡顿问题"""
    client = xtdata.get_client()
    client.down_all_sector_data()

if __name__ == "__main__":
    download_sector_data()
    sector_list = xtdata.get_sector_list()
    print(sector_list)
    bj_stocks = xtdata.get_stock_list_in_sector("京市A股")
    print(bj_stocks)

列几个常见的板块例子。

代码语言:javascript
复制
['上期所', '上证A股', '上证B股', '上证期权', '上证转债', '中金所', '京市A股', '创业板', '大商所', '沪市ETF', '沪市债券', '沪市基金', '沪市指数', ' 
沪深A股', '沪深B股', '沪深ETF', '沪深京A股', '沪深债券', '沪深基金', '沪深指数', '沪深转债', '深市ETF', '深市债券', '深市基金', '深市指数', '深证A 
股', '深证B股', '深证期权', '深证转债', '科创板', '科创板CDR', '连续合约', '郑商所', '香港联交所指数', '香港联交所股票', 'ETF主题指数', 'ETF债券型'
, 'ETF商品型', 'ETF股票型', 'ETF行业指数', 'ETF货币型', 'ETF跨境型', 'TGN2024三季报预增', 'TGN2024中报预增', 'TGN2024年报预增', 'TGN2025一季报预增'

而qmt中 xtquant.xttrade中 北交所交易常量

xtconstant.MARKET_ENUM_BEIJING

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

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

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

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

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