跳转至

枚举速查

先看这里——本项目最容易踩的坑

通达信的枚举取值完全没有直觉:KlinePeriod.DAY 是 4 不是 0 也不是 3, ExMarket.HK_MAIN_BOARD 是 31,Market.SZ 是 0。 写死数字几乎必错,请一律使用枚举成员。

from pytdxdata.models import Adjust, ExMarket, KlinePeriod, Market

Market — 普通市场

成员 值 说明
Market.SZ 0 深圳
Market.SH 1 上海
Market.BJ 2 北京(北交所)

代码不唯一

市场 + 代码才唯一。sh000001 是上证指数,sz000001 是平安银行。 统一接口用字符串标的把两者一起表达(前缀即市场),避免只写 6 位数字时的歧义。

KlinePeriod — K 线周期

成员 值 说明
KlinePeriod.MIN_5 0 5 分钟
KlinePeriod.MIN_15 1 15 分钟
KlinePeriod.MIN_30 2 30 分钟
KlinePeriod.MIN_60 3 60 分钟
KlinePeriod.DAY 4 日线(最常用)
KlinePeriod.WEEK 5 周线
KlinePeriod.MONTH 6 月线
KlinePeriod.MIN_1 7 1 分钟
KlinePeriod.MIN_3 8 3 分钟
KlinePeriod.YEAR 9 年线
KlinePeriod.SEASON 10 季线
KlinePeriod.YEAR_ALT 11 另一套年线编码

取值与通达信协议字节一致(KlineCategory)。附带一个属性:

KlinePeriod.MIN_1.is_minute    # True
KlinePeriod.DAY.is_minute      # False

MIN_1 会换通道

MIN_1 被强制路由到 MAC 通道并采用单连接串行分页, 避免并发分页在多服务器深度不一致时产生数据空洞。 详见 通道与数据源。

Adjust — 复权方式

成员 值 说明
Adjust.NONE 0 不复权(默认)
Adjust.QFQ 1 前复权
Adjust.HFQ 2 后复权

adjust != NONE 时 K 线请求会切到 MAC 通道(标准通道不提供复权数据)。

和券商软件对不上,先差这里

很多券商前端默认前复权,而本包默认 NONE。对比数据前先确认两边复权方式一致。

ExMarket — 扩展市场

港股 / 美股 / 期货 / 期权等走通达信 EX 通道(端口 7727),market 参数传 ExMarket 成员。

常用值速查

成员 值 说明
ExMarket.SH_STOCK_OPTION 8 沪股票期权
ExMarket.SZ_STOCK_OPTION 9 深股票期权
ExMarket.ZZ_FUTURES 28 郑商所期货
ExMarket.DL_FUTURES 29 大商所期货
ExMarket.SH_FUTURES 30 上期所期货
ExMarket.HK_MAIN_BOARD 31 港股主板(最常用)
ExMarket.NEEQ 44 新三板
ExMarket.CFFEX_FUTURES 47 中金所期货(股指 / 国债)
ExMarket.HK_GEM 48 港股创业板
ExMarket.GZ_FUTURES 66 广期所期货
ExMarket.GE_STOCK 73 德国股票
ExMarket.US_STOCK 74 美股(最常用)
from pytdxdata.models import KlinePeriod

# 统一接口用字符串前缀指定扩展市场(推荐):
await td.get_bars("hk00700", KlinePeriod.DAY, count=700)                    # 腾讯
await td.get_bars("usAAPL", KlinePeriod.DAY, count=700)                     # 苹果
await td.get_bars("cffex:IFL0", KlinePeriod.DAY, count=700)                 # 股指期货
await td.get_bars("sh_stock_option:10010971", KlinePeriod.DAY, count=700)   # 沪股票期权

上表的 ExMarket 枚举值用于查阅与内部协议;统一接口不再直接传枚举,改用字符串前缀 (短前缀 hk / us / cffex …,无短别名的成员用枚举名小写 + 冒号,如 sh_stock_option:10010971)。

完整成员列表

以下由 mkdocstrings 从源码实时渲染,以源码为准:

Bases: IntEnum

扩展市场代码(港股/期货/期权,通达信EX通道)

美股期权 / 港股期权不在其中

通达信协议内没有美股、港股期权数据。美股期权需要走 CBOE 公开接口。

下一步