【魔码量化工程实战进阶 #15】成交量与资金流结构:量在价先的工程验证
【魔码量化工程实战进阶 #15】成交量与资金流结构:量在价先的工程验证
入门系列第 12 篇讲了"成交量与成交额"。本篇把量做深:量比怎么算、换手率为什么比绝对量更可比、量价背离(价跌量增)怎么用代码标记,以及工程上"量不可比"的三个根源(股本变动 / 停牌 / 除权)。
本文你将得到什么
- 量比(量 ÷ 5 日均量)与换手率(量 ÷ 流通股本)的工程含义与代码
- 量价背离的可跑标记:价跌 + 量比 > 阈值 → 出货信号
- 一个反直觉事实:绝对成交量不可跨时间比,必须用换手率或前复权量
- 本机复核(合成序列 seed=42):量比末日 0.11,背离标记 3 次
一、痛点:只看价,看不见"筹码博弈"
价格和量是一体两面。一只股票"缩量涨停"和"放量大跌"含义完全相反,但日 K 只看得到价格。量的工程价值在于揭示买卖双方的真实博弈强度。
二、工程方案
2.1 量比(短期放量程度)
import pandas as pd
vol = pd.Series(volume) # 成交量序列
vol_ratio = vol / vol.rolling(5).mean() # 量比:当前量 / 近5日均量
量比 > 1.5 通常视为放量,< 0.5 为缩量。
2.2 换手率(跨股可比的量)
绝对成交量随股本大小天差地别(大盘股日成交百万手、小盘股几千手)。换手率 = 成交量 ÷ 流通股本,才是跨股可比的"活跃度":
turnover = volume / float_shares * 100 # %,float_shares 来自基本面/F10
2.3 量价背离标记
"价跌但量放大"常是出货信号;"价涨但量萎缩"是上涨乏力。用代码标记:
price_down = s.diff() < 0
volume_surge = vol_ratio > 1.2
divergence = price_down & volume_surge # 价跌量增 → 背离
三、本机复核(合成序列 seed=42)
用 60 天合成价格 + 合成成交量演示:
量比末日 = 0.11 (末日缩量)
背离标记数 = 3 (全程出现 3 次日度"价跌量增")
量比末日 0.11 说明末日成交量仅为 5 日均量的 11%,明显缩量;全程 3 次背离标记,对应"下跌伴随放量"的时点——这些时点在实盘里值得警惕。
四、原理深挖:量不可比的三个根源
- 股本变动:公司增发/解禁,流通股本变了,同一只股票"今天的 100 万手"和"去年的 100 万手"含义不同。用换手率(÷流通股本)或前复权量,不要比绝对量。
- 停牌日量 = 0:停牌股当天无成交,量比会变成 0 或除零。计算前先
drop停牌日或标NaN。 - 除权日量失真:除权当天成交量按"除权后股本"计,常异常放大/缩小,需剔除或单独处理。
进阶:真正的"资金流"要看大单方向(主动买入大单 − 主动卖出大单),需要逐笔/分钟级数据(#10,Pro 能力)。日线级只能用"量比 + 背离"做近似。
五、小结
量是价格的"筹码注脚":量比看短期放量程度、换手率做跨股可比、量价背离标记出货/乏力。但绝对量不可跨时间比——股本变动、停牌、除权都会让"量"失真,工程上必须换成换手率或前复权量。下一篇把"单只指标"升级为"全市场横截面排名",这才是选股的开始。
换手率/流通股本来自基本面与 F10 数据;魔码广度覆盖让"价 + 量 + 基本面"能在同一接口体系内打通。详见文末。
免责声明:本文所有示例数据仅用于接口演示,不构成任何投资建议;市场有风险,投资需谨慎。
系列持续更新中。 想要亲手跑通上面的代码?前往 魔码证书申请页 免费领取你的专属证书,复制即用、按次计费、稳定可用。
想亲自试一下?免费获取证书
