跳转至

← 返回接口目录

板块行情

查询指定分类的板块自身行情。默认分类为概念板块;查询单个板块的成员请使用板块成分股行情

版本:3.2.2

接口

client.helpers.board_quotes(*, category: str = "概念", refresh: bool = False) -> BoardQuoteTable

作用

读取板块定义文件,按文件原始顺序返回指定分类的板块自身实时行情。默认只返回概念板块。

输入参数

参数 类型 必填 默认值 说明
category str "概念" 分类:概念风格地区880行业一级行业二级行业三级行业全部
refresh bool False 是否强制重新准备当天的板块资料和证券名单。

板块数量以所选分类在定义文件中的解析结果为准。传 category="全部" 才返回文件中的全部板块定义。

分类可选值

category 查询范围 本地文件依据
"概念" 概念板块(默认) 分类字段 4;文件段 #GN_
"风格" 风格板块 分类字段 5;文件段 #FG_
"地区" 地区板块 分类字段 3
"880行业" 880 行业体系 分类字段 2
"一级行业" 881 一级行业 分类字段 12,行业编码如 X10
"二级行业" 881 二级行业 分类字段 12,行业编码如 X1001
"三级行业" 881 三级行业 分类字段 12,行业编码如 X100101
"全部" 文件中的全部板块定义 本次核对文件为 1071 条;客户端“全部板块”页为 560 条,二者范围不同

例如 煤炭开采|881002|12|1|0|X1001 的第三列表示行业体系,最后一列表示二级行业。统计指数页的独立名单尚未接入此参数。

分类在行情请求前筛选。传入不支持的分类值会抛出 ValueError;所选分类为空时返回空 rowscount=0

底层请求与批量规则

  • 0x06b9:准备/更新板块资料文件。
  • 0x044d:准备当天有效证券名单。
  • 0x054c:查询板块自身行情。
  • 行情请求自动按每批最多 80 个代码拆分。

返回值

返回 BoardQuoteTable

字段 类型 说明
rows tuple[BoardQuoteRow, ...] 按板块定义文件顺序排列的行情行。
count int rows 的数量。
prepared_date date 本次使用的板块资料日期。

行情行字段

rows 中每项都是 BoardQuoteRow

字段 类型 说明
board_code str 所属板块的六位代码。
board_name str 所属板块名称。
full_code str 当前行情行的完整代码,含市场前缀。
code str 属性:当前行情行的六位代码,来自 full_code
name str 属性:等于 board_name
exchange str 当前行情行的市场前缀。
market_id int 当前行情行的市场编号。
last_price / pre_close_price float / None 最新价 / 昨收价。
open_price / high_price / low_price float / None 今开 / 最高 / 最低。
change float / None 最新价减昨收价。
change_pct float / None 涨跌幅百分数,例如 4.71 表示 4.71%;昨收为零时为 None
amount float / None 成交额。
volume_hand int / None 成交量,单位为手。
quote QuoteSnapshot / None 原始行情快照。

某代码没有返回行情时,仍保留对应行,行情字段和 quoteNonecount 是行数,不等于成功取得行情的代码数。

示例

from eltdx import TdxClient

with TdxClient(timeout=3) as client:
    table = client.helpers.board_quotes()  # 默认概念板块
    print(table.count, table.prepared_date)
    for row in table.rows[:10]:
        print(row.board_code, row.board_name, row.change_pct)

其他分类调用:

client.helpers.board_quotes(category="二级行业")
client.helpers.board_quotes(category="风格")
client.helpers.board_quotes(category="全部")

缓存与刷新

refresh=False 时,同一天后续调用复用资料缓存;refresh=True 时强制重新准备资料。每次调用都会请求 0x054c 行情。

资料准备尝试下载 infoharbor_block.dattdxhy.cfg 并读取 0x044d 证券名单。缓存目录由 ELTDX_BOARD_DATA_DIR 指定,默认是当前工作目录下的 downloads;日期记录在 .eltdx_board_cache.json 中。日期优先取握手中的服务端日期,取不到时使用本机日期。

板块定义还会读取本地 tdxzs.cfgtdxzs3.cfg;缺少定义时会尝试从 infoharbor_block.dat 解析。地域成员依赖本地 base.dbf。这些文件并非都由本接口自动下载。

当前实现中,下载失败可能沿用已有文件,证券名单获取失败可能回退到本地名单。因此 prepared_date 表示资料准备使用的日期,并非所有源文件均已成功更新的证明。

返回示例

返回结构示例 · BoardQuoteTable

示例数据,仅说明字段结构;行情行省略部分字段和原始 quote。接口返回 Python 对象,下方 JSON 为展示形式,日期转换为字符串,count 属性单独加入。

{
  "rows": [
    {
      "board_code": "880515",
      "board_name": "示例板块",
      "full_code": "sh880515",
      "last_price": 1050.0,
      "pre_close_price": 1000.0,
      "change": 50.0,
      "change_pct": 5.0
    }
  ],
  "prepared_date": "2026-09-13",
  "count": 1
}