最近留言中问我北交所的同学比较多, 可能是因为最近北交所行情比较火爆吧。那这里写一写,希望对需要的同学有所帮助,虽然我个人不玩北交所。
先纠正下之前写的一个例子, 【Python技术】miniqmt统计大盘实时涨跌 ,大家都知道,这个例子当时写的不包含北交所的数据。主要是因为之前我写例子的时候貌似不支持, 最近我试了下,支持北交所数据了。
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股 获取。
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)
列几个常见的板块例子。
['上期所', '上证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