数据字典与品种数据

下单和行情函数之外,QMT 还提供一套完整的数据字典——覆盖股票、期货、期权、指数、场内基金、可转债、行业概念的基础信息字段,以及迅投因子、BARRA 因子、资金流向等特色数据。这一章帮你搞清各品种的代码格式、能查到什么字段、以及怎么取到这些数据。

数据字典覆盖范围

品种类别包含内容
股票上市/退市日、名称、是否 ST、流通/总股本、涨跌停价、产品类型
期货合约信息、保证金率、上市/到期日、市场代码
期权期权标的对应的合约列表、行权价、到期日
指数迅投指数计算规则、成分、加权方式
场内基金涨跌停、上市/退市/期权到期日、申赎清单
可转债转股价、正股代码、发行价、强赎价、到期赎回价
行业概念行业/概念板块分类、代码、名称

市场代码对照

品种代码统一用 '代码.市场' 形式,市场代码要认全:

期货市场简称

市场交易所代码迅投市场代码
上期所SHFESF
大商所DCEDF
郑商所CZCEZF
中金所CFFEXZF/IF
上期能源INENF

期货合约代码示例:cu2403.SF(上期所铜)、rb2405.SF。

股票/基金/债券市场

市场代码示例
沪市SH600000.SH(浦发银行)
深市SZ000001.SZ(平安银行)
沪市基金/ETFSH510050.SH(上证 50ETF)

期权、指数等品种同样遵循 '代码.市场' 形式,具体市场后缀以 get_instrument_detail 返回的 ExchangeID 为准。

合约基础信息:get_instrument_detail

取合约详细信息,返回字典。该信息每交易日 9 点更新:

info = C.get_instrument_detail('600000.SH')   # 内置 Python
# XtQuant: xtdata.get_instrument_detail('600000.SH')

常用返回字段:

字段说明
ExchangeID合约市场代码
InstrumentID合约代码
InstrumentName合约名称
ProductID / ProductName品种 ID / 名称(期货)
ProductType合约类型(默认 -1)
CreateDate / OpenDate创建日 / 上市日
ExpireDate退市日 / 到期日
PreClose前收盘
UpStopPrice / DownStopPrice涨停价 / 跌停价
FloatVolume流通股本(股)
TotalVolume总股本(股)
LongMarginRatio / ShortMarginRatio多/空保证金率(期货)

旧版客户端函数名为 get_instrumentdetail,新版统一为 get_instrument_detail。部分低版本客户端 FloatVolume 拼成 FloatVolumn。

期权:取合约列表

期权要按标的查对应的合约列表(一个股票/ETF 对应大量行权价和到期月的合约):

# 内置 Python:取某期权标的对应的期权品种列表
options = ...   # 传入期权标的代码,返回该标的所有期权合约信息

拿到列表后,再用 get_instrument_detail 查每个合约的行权价、到期日、虚实值等字段。

可转债信息

可转债有专属信息函数,提供转股价、正股代码、发行价、强赎价、到期赎回价等:

# XtQuant
from xtquant import xtdata
xtdata.download_cb_data()           # 下载可转债基础信息
info = xtdata.get_cb_info(code)     # 取可转债详情

可转债信息函数为 VIP 权限函数,需开通后才能调用。

行业与概念板块

行业/概念板块信息需要先下载板块分类,再查询:

# XtQuant
from xtquant import xtdata
xtdata.download_sector_data()                       # 下载板块分类
stocks = xtdata.get_stock_list_in_sector('沪深A股')  # 取板块成分

也可在界面端「下载中心」手动选「全部板块」。板块数据包含行业代码、名称、概念分类。

指数数据

迅投指数的计算规则:

  • 普通代码上市超过 20 个交易日后加入计算,债券为 5 个交易日。
  • 涨停打开超过 3 个交易日后加入计算。

指数数据接口可取指数行情、成分、加权方式等。

特色数据

迅投因子

迅投因子是一套因子库,通过 xtdata 下载后使用:

from xtquant import xtdata
# 下载因子数据(具体因子名以数据字典为准)
xtdata.download_factor_data(...)
data = xtdata.get_factor_data(...)

数据浏览器:财务与 BARRA 因子

数据浏览器提供清洗过的财务数据、BARRA 因子等高质量数据,使用流程:

  1. 开通权限:数据浏览器为高级数据,需先开通权限。
  2. 刷新列表:在客户端「行情 → 数据」页面,刷新数据浏览器列表,找到需要的高级数据(如 BARRA 因子)。
  3. 下载使用:选中后下载,再在脚本里调用。

场景化:盘前数据准备

一个完整的盘前数据准备流程(XtQuant 版):

from xtquant import xtdata

# 1. 下载板块分类
xtdata.download_sector_data()
# 2. 取股票池
stocks = xtdata.get_stock_list_in_sector('沪深A股')
# 3. 下载历史行情(按需选周期)
for s in stocks:
    xtdata.download_history_data(s, '1d', '20240101', '')
# 4. 下载因子/财务(如需)
# xtdata.download_factor_data(...)
print('盘前数据准备完成,品种数', len(stocks))

数据获取方式总览

数据内置 PythonXtQuant权限
合约基础信息get_instrument_detailxtdata.get_instrument_detail普通
历史/实时 K 线get_market_data_exxtdata.get_market_data_ex普通
板块成分get_stock_list_in_sectorxtdata.get_stock_list_in_sector普通
可转债信息专属函数xtdata.get_cb_infoVIP
迅投因子get_factor_dataxtdata.get_factor_dataVIP
BARRA / 财务数据浏览器数据浏览器数据浏览器权限

常见问题

  • 「无法连接 xtquant 服务」:报错 请检查 QMT-投研版或 QMT-极简版是否开启——原因是 XtQuant 依赖的 MiniQMT 客户端没启动,把它打开登录即可。
  • 取不到合约信息:确认代码格式是 '代码.市场'(如 600000.SH),且该信息每交易日 9 点后才更新。
  • VIP 函数报错:迅投因子、可转债信息等是 VIP 权限,未开通调用会失败。

下一步

数据和函数都齐了,最后看一组抄起来就能改的实战策略:策略示例与回测。