A股成交量到底是手还是股?差一个数量级,回测就是另一个故事

迪雅数据 · A股数据口径系列 · 2026-10-13

先给结论:交易所行情的成交量口径是手,1 手 = 100 股;行情软件上显示"成交量 5 万",实际是 500 万股。而各家数据接口返回的量、额字段单位五花八门——股、手、万手,元、千元、万元、亿元都有人用。单位错一个数量级,回测不会"变差一点",而是直接变成另一个故事:换手率虚高百倍、流动性过滤形同虚设、冲击成本模型全盘失效。

一、交易所口径:手是怎么来的

A股交易以"手"为基本单位,1 手 = 100 股,这源自交易所的申报数量规则。但各板块的最小申报量并不一致:

板块最低买入申报递增单位卖出零股处理
沪深主板100 股及其整数倍100 股不足 100 股一次性卖出
创业板100 股及其整数倍100 股不足 100 股一次性卖出
科创板≥ 200 股1 股余额不足 200 股一次性卖出
北交所≥ 100 股1 股余额不足 100 股一次性卖出

行情播报和K线里的成交量用的是"手"这个交易所口径,但申报规则里科创板、北交所已经细到 1 股——显示单位与申报单位在注册制之后已经不完全对应,这也是"手/股"混乱的源头之一。

二、数据接口的单位乱象:为什么你会差 100 倍

拿到一个行情接口,量、额字段的单位可能是下面任意组合:

字段常见单位典型踩坑场景
成交量股接口直接返回股数,你按手理解 → 假觉得流动性奇差
手交易所原生口径,多数行情类接口的默认
万手展示友好型,拼接自行情软件的数据常见
成交额元最干净的口径,但数值大
万元 / 千元常见于行情软件导出与部分历史接口
亿元资讯类页面的展示口径,混进数据管道最难察觉
坑:换手率虚高百倍。成交量把"手"当"股"用(或反之),换手率、量比、OBV、VWAP 全部跟着错一个或两个数量级。以流动性为过滤条件的策略(如"日均成交额大于 5000 万")会选出完全不同的标的池——这就是"回测是另一个故事"的具体机制。

三、交叉校验法:不依赖文档,用数据自己说话

确定性关系只有一条:成交额 ≈ 成交量 × 成交均价。不管字段单位怎么包装,物理关系不会变。取一天数据,量与额互相反推,量级一对,单位就现形了:

# 量纲交叉校验:判定 volume / amount 字段的单位组合
# 关系:amount(元) = volume(股) × 均价 ≈ volume × close

ratio = amount / (volume * close)

# ratio 的量级直接暴露单位组合:
#   ≈ 1        → 额是元,量是股
#   ≈ 1/100    → 额是元,量是手          (volume * 100 才是股)
#   ≈ 1e4      → 额是万元,量是股
#   ≈ 1e4/100  → 额是万元,量是手        (最常见的组合之一)
#   ≈ 1e8      → 额是亿元,量是股
# 多抽几天、多抽几只票验证,取 ratio 的中位数更稳。
结论写进代码,不要写进记忆。把验证出的单位换算固化在数据接入层(一个 to_share()、一个 to_yuan()),下游永远只见股和元。换数据源时重跑一次校验脚本——文档会撒谎或缺席,物理关系不会。

四、下单数量:策略层用股,下单层按板块规则转换

回测撮合层如果不模拟申报数量约束,仓位结果就是假的。标准分层:

资金较少的账户尤其注意:5 万元本金买 30 元一股的科创板股票,第一次申报至少 200 股 = 6000 元起,而同价格主板股票 100 股 = 3000 元起——最小申报量直接决定小资金的可行标的池。

五、常见问题

Q1:行情软件显示的A股成交量单位是手还是股?

交易所行情口径是手,1手=100股。行情软件显示成交量5万,实际是500万股。

Q2:为什么不同数据源的成交量字段数值差100倍甚至1万倍?

单位不统一:股/手/万手与元/千元/万元/亿元并存。拼接多源或照抄示例代码不核对单位,量纲错误直接进回测。

Q3:怎么确定一个接口的量、额字段到底是什么单位?

用价格反推交叉校验:amount ÷ (volume × close) 的量级直接暴露单位组合,本文第三节给了判定表和代码。

Q4:买入申报必须是100股的整数倍吗?

主板和创业板是;科创板不低于200股、1股递增;北交所不低于100股、1股递增。零股卖出须一次性申报。

Q5:不足100股的零股能卖出吗?

能。送转配股产生的零股可卖,但须一次性申报卖出,不能拆单。

Q6:回测和实盘下单时,数量该用股还是手?

策略层统一用股,撮合层按板块规则转换(主板/创业板100股整数倍,科创板/北交所各自递增规则)。不加这条约束的回测仓位结果是假的。

Q7:数据接口的成交量字段单位文档没写怎么办?

不要猜,用交叉校验法实测。任何数据源接入时都做一次量纲验证,结论固化在数据接入层代码里。

六、用接口落地:一次校验,全线统一

以A股历史交易数据接口为例,接入时跑一次第三节的校验脚本,确认量、额字段单位后把换算固化到接入层;分频数据同理处理,A股分时交易数据接口的量字段也要走同样的验证流程。多源拼接的场景(如免费源补历史、付费源补实时),每个源各自校验、各自换算,在入库前统一成"股 + 元"。

把量纲纪律写进工程规范
量纲的诚实,在于记住行情软件显示的是手,而你的仓位算的是股——中间差的那个 100,就是回测与实盘的距离。
相关页面