数据字典
QuantDB 涵盖 A 股量化研究所需的全部数据字段。以下按分类说明每个字段的含义、类型、单位和典型用法。
提示:字段名后标注 可查询 表示可通过元数据接口查询;下载 表示可通过 Parquet 切片下载获取。业务数据(K 线 / Tick / 财务)的查询即下载 Parquet 切片,按下载流量计费。
QuantDB 统一使用 {6位数字}.{市场后缀} 格式:
| 市场 | 后缀 | 示例 |
| 上海证券交易所 | .SH | 600000.SH, 688000.SH |
| 深圳证券交易所 | .SZ | 000001.SZ, 300001.SZ |
| 北京证券交易所 | .BJ | 830000.BJ, 430000.BJ |
复权类型说明
| 类型 | API 参数 | 说明 | 适用场景 |
| 不复权 | unadjusted | 原始成交价,含除权除息缺口 | 分析真实交易成本、分红策略 |
| 前复权 | forward | 以最新价格为基准,历史价格向下调整 | 回测、技术分析(最常用) |
| 后复权 | backward | 以历史价格为基准,最新价格向上调整 | 长期收益计算、累计涨幅 |
注意:前复权数据会随时间推移而变化(新除权事件导致历史数据调整),回测结果需用对应时点的复权数据重新验证。
单位说明(后端已做全量归一化)
| 数据类型 | 归一化后单位 | 说明 |
| 价格(open/high/low/close/last_price) | 元(人民币) | 精确到分/厘 |
| 成交量(volume) | 股 | 1 手自动转换为 100 股 |
| 成交额(amount) | 万元 | 自动换算为万元 |
| 市值 | 元 | total_mv / float_mv |
| 股本 | 股 | total_capital / circulating_capital |
| 财务数据 | 元 | 除特别标注外 |
1. 行情 K 线数据
日线数据包含三种复权类型(前复权、后复权、不复权),以及 1 分钟/5 分钟分时数据。
1.1 日线字段(daily_unadjusted / daily_forward / daily_backward)
| 字段 | 类型 | 说明 | 示例 |
| trade_date | datetime | 交易日日期(北京时间 00:00:00) | 2026-07-22 |
| open | float | 开盘价(元) | 1500.00 |
| high | float | 最高价(元) | 1520.50 |
| low | float | 最低价(元) | 1495.00 |
| close | float | 收盘价(元) | 1510.00 |
| volume | int | 成交量(股,按手×100标准归一化) | 3200000 |
| amount | float | 成交额(万元) | 48320.00 |
用法示例
df = client.query_kline("600519.SH", adj_type="forward",
start_date="2026-01-01", end_date="2026-07-22")
df["ma20"] = df["close"].rolling(20).mean()
df["return"] = df["close"].pct_change()
limit_up = df[df["close"] / df["close"].shift(1) - 1 >= 0.099]
1.2 分钟线字段(min1_kline / min5_kline)
分钟线字段与日线相同,但 trade_date 列包含具体时间(HH:MM:SS)。仅提供不复权数据,复权需自行用除权因子合成。后端已做单位归一化:volume 为股,amount 为万元。
| 字段 | 类型 | 说明 |
| trade_date | datetime | 交易时间(YYYY-MM-DD HH:MM:SS) |
| open / high / low / close | float | 同日线 |
| volume | int | 成交量(股,已归一化) |
| amount | float | 成交额(万元,已归一化) |
1.3 指数日线字段(index_daily)
指数行情数据,字段与个股日线类似。
| 字段 | 类型 | 说明 |
| trade_date | datetime | 交易日 |
| open / high / low / close | float | 指数点开高低收 |
| volume | int | 成交股数 |
| amount | float | 成交金额(元) |
| preClose | float | 前收盘价 |
| suspendFlag | int | 停牌标志(0=正常,1=停牌) |
| IndexCode | string | 指数代码 |
| Category | string | 指数类别(宽基/风格/行业/主题) |
2. Tick 分笔数据
逐笔成交明细,含五档买卖盘。文件名格式:{SYMBOL}_{YYYYMMDD}.parquet
| 字段 | 类型 | 说明 | 示例 |
| time | int64 | 成交时刻(毫秒级时间戳) | 1784511000123 |
| last_price | float | 最新成交价(元) | 12.50 |
| open | float | 当日开盘价(元) | 12.30 |
| high | float | 当日最高价(元) | 12.80 |
| low | float | 当日最低价(元) | 12.20 |
| last_close | float | 前收盘价(元) | 12.35 |
| amount | float | 累计成交额(元) | 1234567.89 |
| volume | int | 累计成交量(股) | 100000 |
| pvolume | int | 成交笔数 | 5000 |
| ask_price | array | 五档卖价(元) | [12.51, 12.52, 12.53, 12.54, 12.55] |
| bid_price | array | 五档买价(元) | [12.49, 12.48, 12.47, 12.46, 12.45] |
| ask_vol | array | 五档卖量(股) | [100, 200, 300, 400, 500] |
| bid_vol | array | 五档买量(股) | [150, 250, 350, 450, 550] |
| transaction_num | int | 成交序号 | 12345 |
用法示例
df = client.query_tick("000001.SZ", trade_date="2026-07-20")
df["spread"] = df["ask_price"].apply(lambda x: x[0]) - df["bid_price"].apply(lambda x: x[0])
df["big_order"] = df["amount"].diff() > 1000000
3. 基础与板块数据
3.1 合约基础资料(instrument_detail)
| 字段 | 类型 | 说明 |
| Symbol | string | 股票代码 |
| Name | string | 证券简称 |
| J_zgb | float | 总股本(万股) |
| ActiveCapital | float | 流通股本(万股) |
| ListDate | date | 上市日期 |
| EstablishDate | date | 成立日期 |
| Province | string | 所属省份 |
| SecurityType | string | 证券类型 |
| BelongRZRQ | string | 融资融券标识(1=是) |
3.2 板块成分(sector_concept)
| 字段 | 类型 | 说明 |
| SectorCode | string | 板块代码(如 880201.SH) |
| SectorName | string | 板块名称 |
| SectorType | string | 板块类型(行业/概念/风格/地区) |
| Symbol | string | 成分股代码 |
3.3 指数成分权重(index_weights)
| 字段 | 类型 | 说明 |
| Symbol | string | 成分股代码 |
| Weight | float | 权重(%) |
| IndexCode | string | 指数代码 |
3.4 交易日历(trading_calendar)
| 字段 | 类型 | 说明 |
| TradingDate | date | 日期 |
| IsTradingDay | int | 是否交易日(1=是,0=否) |
3.5 融资融券(margin_trading)
| 字段 | 类型 | 说明 | 单位 |
| trade_date | date | 交易日期 | - |
| Symbol | string | 股票代码 | - |
| finance_balance | float | 融资余额 | 万元 |
| slo_volume | float | 融券余量 | 股 |
| finance_buy | float | 融资买入额 | 万元 |
| slo_sell_amount | float | 融券卖出额 | 万元 |
| finance_repay | float | 融资偿还额 | 万元 |
| slo_repay | float | 融券偿还量 | 股 |
| finance_net | float | 融资净买入 | 万元 |
| slo_net | float | 融券净卖出 | 股 |
4. 财务数据
财务数据来自 QMT,字段全部使用业务名(如 revenue, net_profit),无需对照表。
4.1 资产负债表(balance)
| 字段 | 类型 | 说明 |
| m_timetag | date | 报告期(YYYY-MM-DD) |
| m_anntime | date | 公告日 |
| cash_equivalents | float | 货币资金 |
| account_receivable | float | 应收账款 |
| total_current_assets | float | 流动资产合计 |
| fix_assets | float | 固定资产 |
| tot_assets | float | 资产总计 |
| shortterm_loan | float | 短期借款 |
| accounts_payable | float | 应付账款 |
| total_current_liability | float | 流动负债合计 |
| long_term_loans | float | 长期借款 |
| tot_liab | float | 负债合计 |
| cap_stk | float | 实收资本(股本) |
| cap_rsrv | float | 资本公积 |
| undistributed_profit | float | 未分配利润 |
| tot_shrhldr_eqy_excl_min_int | float | 归属于母公司股东权益合计 |
| minority_int | float | 少数股东权益 |
| total_equity | float | 所有者权益合计 |
4.2 利润表(income)
| 字段 | 类型 | 说明 |
| m_timetag | date | 报告期 |
| m_anntime | date | 公告日 |
| revenue | float | 营业收入 |
| total_operating_cost | float | 营业总成本 |
| cost_of_goods_sold | float | 营业成本 |
| sale_expense | float | 销售费用 |
| less_gerl_admin_exp | float | 管理费用 |
| research_expenses | float | 研发费用 |
| oper_profit | float | 营业利润 |
| tot_profit | float | 利润总额 |
| inc_tax | float | 所得税费用 |
| net_profit_incl_min_int_inc | float | 净利润(含少数股东损益) |
| net_profit_excl_min_int_inc | float | 归母净利润(不含少数股东损益) |
| s_fa_eps_basic | float | 基本每股收益(EPS) |
| s_fa_eps_diluted | float | 稀释每股收益 |
4.3 现金流量表(cashflow)
| 字段 | 类型 | 说明 |
| m_timetag | date | 报告期 |
| m_anntime | date | 公告日 |
| net_cash_flows_oper_act | float | 经营活动产生的现金流量净额 |
| net_cash_flows_inv_act | float | 投资活动产生的现金流量净额 |
| net_cash_flows_fnc_act | float | 筹资活动产生的现金流量净额 |
| net_incr_cash_cash_equ | float | 现金及现金等价物净增加额 |
4.4 股本表(capital)
| 字段 | 类型 | 说明 |
| m_timetag | date | 报告期 |
| total_capital | float | 总股本(股) |
| circulating_capital | float | 流通股本(股) |
4.5 每股指标(pershare_index)
| 字段 | 类型 | 说明 |
| m_timetag | date | 报告期 |
| s_fa_bps | float | 每股净资产(BPS) |
| s_fa_eps_basic | float | 基本每股收益(EPS) |
| s_fa_eps_diluted | float | 稀释每股收益 |
| du_return_on_equity | float | 净资产收益率 ROE(摊薄) |
| equity_roe | float | 净资产收益率 |
| gear_ratio | float | 资产负债率 |
| du_profit_rate | float | 销售净利率 |
| inc_revenue_rate | float | 营业收入同比增长率 |
| inc_net_profit_rate | float | 净利润同比增长率 |
4.6 除权复权因子(dividend_factors)
| 字段 | 类型 | 说明 |
| trade_date | datetime | 除权日 |
| interest | float | 每股分红(元) |
| stockBonus | float | 每股送股 |
| stockGift | float | 每股转增 |
| allotNum | float | 配股比例 |
| allotPrice | float | 配股价 |
| dr | float | 累计复权因子 |
用法示例
df = client.load_as_df("3", "balance", symbol="600519.SH")
df["debt_ratio"] = df["tot_liab"] / df["tot_assets"]
roe_df = client.load_as_df("3", "pershare_index", symbol="600519.SH")
high_roe = roe_df[roe_df["du_return_on_equity"] > 0.15]
5. ETF / 可转债
5.1 ETF 申赎清单(etf_pcf)
| 字段 | 类型 | 说明 |
| EtfCode | string | ETF 代码 |
| name | string | ETF 名称 |
| nav | float | 单位净值 |
| cashBalance | float | 现金差额 |
| navPerCU | float | 每份净值 |
| ecc | float | 预估现金 |
5.2 ETF 成分股(etf_components)
| 字段 | 类型 | 说明 |
| EtfCode | string | ETF 代码 |
| ComponentCode | string | 成分股代码 |
| componentExchID | string | 交易所 ID |
| componentVolume | int | 成分股数量 |
| ReplaceFlag | int | 替代标志 |
5.3 可转债(convertible_bond)
| 字段 | 类型 | 说明 |
| BondCode | string | 可转债代码 |
| bondName | string | 可转债名称 |
| stockCode | string | 正股代码 |
| bondConvPrice | float | 转股价 |
| bondCouponRate | float | 票面利率(%) |
| bondRestScope | float | 剩余规模(万元) |
| conversionPremium | float | 转股溢价率(%) |
| bondValue | float | 纯债价值 |
| expireYield | float | 到期收益率(%) |
| bondMaturityDate | date | 到期日 |
| convStartDate | date | 转股起始日 |
6. 技术衍生指标
6.1 技术指标(technical_indicators)
基于前复权日线计算的技术指标,每只股票一个文件。指标口径对齐通达信:
RSI/KDJ/MACD 平滑用 ewm(adjust=False)(种子=首值),MACD 柱 = 2×(DIF-DEA);
前 ~2-3×period 根为 warmup 期(指标为 NaN 或不稳定),下游使用建议丢弃。
| 字段 | 类型 | 说明 |
| time | datetime | 交易日 |
| Symbol | string | 股票代码 |
| close | float | 收盘价(前复权) |
| ma5 / ma10 / ma20 / ma60 | float | 5/10/20/60 日均线 |
| ma_gap_5 / ma_gap_10 / ma_gap_20 | float | 价格与均线偏离度(%) |
| rsi_6 / rsi_14 | float | 6日/14日 RSI(0-100,通达信 SMA 平滑) |
| kdj_k / kdj_d / kdj_j | float | KDJ 指标(通达信 SMA(RSV,3,1)) |
| macd_dif / macd_dea / macd_hist | float | MACD 指标(hist = 2×(DIF-DEA),通达信口径) |
| vol_std_5 / vol_std_20 / vol_std_60 | float | 5/20/60 日收益率标准差(%) |
| vol_atr_14 | float | 14日 ATR(平均真实波幅,Wilder RMA) |
| vol_to_ma5 / vol_to_ma20 | float | 当日量 / 过去N日均量(含当日),非通达信盘口量比 |
| volume_ma_3 / amount_ma_5 / volume_trend_3d | float | 成交量均线 / 成交额均线 / 量能趋势 |
| return_1d / return_3d / return_5d / return_10d / return_20d / return_60d | float | 未来 N 日收益率(%,ML label,非特征) |
| pct_change | float | 当日涨跌幅(%,过去1日) |
| beta_20 | float | 20日 CAPM Beta(相对沪深300) |
用法示例
df = client.load_as_df("5", "technical_indicators", symbol="600519.SH")
df["golden_cross"] = (df["ma5"] > df["ma20"]) & (df["ma5"].shift(1) <= df["ma20"].shift(1))
oversold = df[df["rsi_14"] < 30]
df["macd_golden"] = (df["macd_dif"] > df["macd_dea"]) & (df["macd_dif"].shift(1) <= df["macd_dea"].shift(1))
6.2 盘口情绪(market_sentiment)
| 字段 | 类型 | 说明 |
| trade_date | datetime | 交易日 |
| Symbol | string | 股票代码 |
| price_range | float | 日内振幅((High-Low)/Close) |
| upper_shadow | float | 上影线长度 |
| lower_shadow | float | 下影线长度 |
| body_ratio | float | 实体比例 |
| amount_per_trade | float | 单笔均额 |
| liquidity_score | float | 流动性评分 |
| intraday_vol | float | 日内波动 |
| gap_up_down | float | 跳空幅度 |
| buy_pressure | float | 买方压力(0-1) |
| sell_pressure | float | 卖方压力(0-1) |
| momentum_1d / momentum_3d | float | 1日/3日动量 |
7. 估值指标
基于财务数据和行情数据预计算的估值指标,日线粒度。
| 字段 | 类型 | 说明 | 计算公式 |
| trade_date | datetime | 交易日 | - |
| Symbol | string | 股票代码 | - |
| close | float | 收盘价 | - |
| total_capital | float | 总股本(股) | - |
| circulating_capital | float | 流通股本(股) | - |
| total_mv | float | 总市值(元) | total_capital x close |
| float_mv | float | 流通市值(元) | circulating_capital x close |
| net_profit_ttm | float | 归母净利润 TTM(元) | 近4季度滚动求和 |
| revenue_ttm | float | 营收 TTM(元) | 近4季度滚动求和 |
| equity | float | 归母权益(元) | 最新一期资产负债表 |
| annual_net_profit | float | 年报归母净利润(元) | 当年Q4累计值 |
| pe_ttm | float | 市盈率 TTM | total_mv / net_profit_ttm |
| pe_static | float | 静态市盈率 | total_mv / annual_net_profit |
| pb | float | 市净率 | total_mv / equity |
| ps_ttm | float | 市销率 TTM | total_mv / revenue_ttm |
| dividend_rate | float | 股息率 | 近12个月每股分红 / close |
用法示例
df = client.load_as_df("5", "valuation", symbol="600519.SH")
low_pe = df[df["pe_ttm"] < 20]
df["pe_percentile"] = df["pe_ttm"].rolling(252).apply(lambda x: x.rank(pct=True).iloc[-1])
high_dividend = df[df["dividend_rate"] > 0.03]
提示:估值指标采用 公告日 forward fill 机制,确保避免 lookahead bias。TTM 计算使用单季差分再滚动求和,更准确反映最新业绩。
8. 365 维模型训练数据集
专为 AI / ML 量化研究打造的模型训练宽表,按 (symbol, date) 索引对齐,包含 Features Daily 日线因子宽表 50 维、L1 日频 100 维因子与 L2 高频 215 维因子,合计 365 维特征。数据以 V2 按日分区存储,支持 layout="v2" 高效范围查询。
8.1 Features Daily 日线因子宽表(features_daily)
基于日线 OHLCV + 资本结构 + TTM 财务衍生的日线基础因子宽表,覆盖全 A 股(约 5200 只),逐股存储,共 50 维。该宽表是 L1 因子工程的底层输入,亦可直接用于轻量模型训练与快速特征工程。所有收益列均为过去收益(已从未来收益改为过去 N 日累计收益,杜绝前视);与 L1 宽表重叠的 3 列(vol_std_5/20、vol_atr_14)已删除让位 L1。
| 分类 | 维度数 | 特征列说明 | 计算与防前视处理 |
| 均线与技术 | 15 维 | MA5/10/20/60、MA gap、RSI6/14、KDJ、MACD 三线 | 基于前复权日线收盘价序列 |
| 波动率 | 1 维 | vol_std_60(60 日收益标准差;5/20 日及 ATR 已让位 L1) | 基于日线收益率序列 |
| 量价 | 5 维 | 量比 MA5/20、量 MA3、额 MA5、3 日量趋势 | 量与额归一化 |
| 过去收益 | 8 维 | 过去 1/3/5/10/20/60 日累计收益、pct_change、Beta20 | shift(+d) 过去收益,末 N 日 NaN(无未来函数) |
| 市值与估值 | 13 维 | 总/流通股本、总/流通市值、TTM 净利润/营收、净资产、年净利润、PE/PB/PS、股息率 | 市值 = 真实价 × 股本;TTM 单季差分滚动求和 |
| 高阶统计与新因子 | 8 维 | 20 日振幅、距高点回撤、量偏度、额 Z-Score、收益偏度/峰度、量能短期比、最大回撤 | 基于后复权 OHLCV,20 日滚动窗口 |
8.2 L1 日频因子(l1_factors)
基于后复权 OHLCV + 财务 + 行业/概念计算的日频因子,覆盖 2016-01-04 至今全 A 股(约 5200 只),共 2565 个交易日分区,100 维。
| 分类 | 维度数 | 特征列说明 | 计算与防前视处理 |
| 动量因子 | 20 维 | 5D / 10D / 20D / 60D 收益率、超额收益、动量震荡 | 基于后复权 (backward) 价格序列 |
| 波动率因子 | 10 维 | Rolling 20D / 60D 年化波动率、下行标准差、ATR | 基于后复权价格序列 |
| 量价与技术 | 16 维 | 换手率、量价相关系数、MACD、RSI、Boll 带位置 | 量与额归一化,剔除停牌干扰 |
| 财务基本面 | 13 维 | ROE、ROA、毛利率、资产负债率、TTM 净利润同比 | 严格按公告日 (m_anntime) 索引,零未来函数 |
| 截面行业 | 23 维 | 申万行业分类 Relative Rank、Z-Score、行业相对动量 | 每日截面去极值 (Winsorize) 与标准化 |
| 筹码分布 | 8 维 | 获利盘比例、筹码集中度、主力套牢盘 | 基于换手率历史衰减衰退模型 |
| 概念暴露 | 10 维 | 热门概念(半导体、人工智能、新能源等)暴露度 | 按概念板块成分股加权归一化 |
8.3 L2 高频因子(l2_factors)
从 7z 逐笔/快照按日日频化聚合的高频因子,覆盖 2026-01-05 ~ 2026-02-27 共 34 个交易日,约 5169 只股票,215 维。
| 分类 | 维度数 | 特征列说明 | 计算与防前视处理 |
| L2 高频因子 | 215 维 | 买卖盘口深度、大单流向、主买比例、微观波动 | 从 7z 逐笔/快照按日日频化聚合 |
8.4 合并训练宽表(l1_l2_factors)
Features Daily + L1 + L2 按 (symbol, date) inner join 合并,产出 175,217 行 × 365 因子的训练宽表 train_factors_2026q1.parquet,可直接供 LightGBM / XGBoost 使用。三路数据均从 V2 按日分区读取,统一 symbol 标准格式对齐。
用法示例
df_factors = client.load_as_df(category_id="6", sub_category="l1_l2_factors", symbol="train_factors_2026q1")
feature_cols = [c for c in df_factors.columns if c not in ["wind_code", "date", "target_5d"]]
X = df_factors[feature_cols]
y = df_factors["target_5d"]
import lightgbm as lgb
train_data = lgb.Dataset(X, label=y)
model = lgb.train({}, train_data, num_boost_round=100)
df_l1 = client.query_kline("600519.SH",
category_id="6", sub_category="l1_factors",
start_date="2026-01-01", end_date="2026-03-31",
layout="v2")