22、基于成交数据的流动性度量:Turnover Ratio、Price Impact、以及VWAP偏离度
流动性这东西,说起来玄乎,其实就两件事:你想卖的时候,能不能卖得掉?卖的时候价格会不会崩?
我做了这么多年量化,见过太多策略在回测里跑得漂亮,一上实盘就亏成狗。十有八九,都是流动性问题。今天咱们就聊聊三个最实在的流动性指标——换手率、价格冲击、VWAP偏离度。这三个指标,说白了就是看市场到底有多「深」、多「厚」。
一、Turnover Ratio(换手率):市场活跃度的体温计
换手率,英文叫 Turnover Ratio,也叫 Turnover Rate。公式很简单:
Turnover Ratio = 成交量 / 流通股本 × 100%
嗯,这里要注意:分母是流通股本,不是总股本。有些股票总股本很大,但大部分是限售股,实际能交易的没多少。用总股本算,换手率会严重偏低,给你一种「这票流动性很差」的错觉。
我个人习惯把换手率分成几个区间:
| 换手率区间 | 流动性判断 | 实战建议 |
|---|---|---|
| < 1% | 极低流动性 | 大资金慎入,小心出不来 |
| 1% - 3% | 正常流动性 | 中小单交易没问题 |
| 3% - 7% | 活跃 | 适合高频或大单交易 |
| > 7% | 极度活跃 | 注意可能是主力出货 |
我在项目中遇到过一只港股,日均换手率只有0.3%。我当时的策略是每5分钟调仓一次,结果一卖就把价格砸下去2%,一买又把价格拉起来1.5%。回测里赚的钱,全被滑点吃掉了。后来我加了个过滤条件:换手率低于0.5%的标的,直接跳过。
二、Price Impact(价格冲击):你的单子能撼动市场吗?
价格冲击,说白了就是你每成交一块钱,价格会变动多少。公式长这样:
Price Impact = |P_trade - P_mid| / P_mid
其中 P_trade 是实际成交价,P_mid 是买卖中间价。这个值越大,说明你的单子对市场的影响越大,流动性越差。
我一般把价格冲击分成两种:
- 瞬时冲击:你这一笔成交造成的价格变动。做高频交易的人最关心这个。
- 持久冲击:成交后5分钟、10分钟,价格是否还能回来。如果回不来,说明市场深度真的被吃掉了。
举个例子。我去年做一次大宗交易,要买500万市值的某小盘股。我看盘口上卖一只有200手,卖二有300手,卖三有500手。按说能吃下,但实际成交时,卖一被吃掉后,卖二瞬间撤单,然后新的卖单直接挂高了2毛钱。这就是典型的虚假深度——盘口看着厚,其实一碰就碎。
三、VWAP偏离度:你的成交价到底好不好?
VWAP,全称 Volume Weighted Average Price,成交量加权平均价。公式:
VWAP = Σ(P_i × V_i) / Σ(V_i)
其中 P_i 是每笔成交价,V_i 是每笔成交量。VWAP 就是这一天所有成交的「平均成本」。
那 VWAP 偏离度是什么?就是你实际成交价和 VWAP 的差距:
VWAP 偏离度 = (P_actual - VWAP) / VWAP × 100%
这个指标,我用来做两件事:
- 评估交易执行质量:如果你的成交价长期跑输 VWAP,说明你的交易算法有问题,或者你选的标的不适合你的交易规模。
- 判断市场情绪:当大量买单的 VWAP 偏离度持续为正,说明买方在追高,市场可能过热。
我记得有一次,一个朋友跟我说他的算法交易「跑赢了 VWAP 0.3%」。我问他:「你用的是全市场 VWAP 还是你自己的 VWAP?」他愣了一下。其实很多算法交易系统会用自己的成交数据算 VWAP,然后说自己跑赢了——这完全是自欺欺人。正确的做法是用全市场成交数据算 VWAP,或者至少用过去N分钟的成交数据。
四、三个指标怎么配合用?
单独看任何一个指标,都有盲区。我习惯把它们组合起来:
- 换手率高 + 价格冲击低 + VWAP偏离度小:流动性极好,放心交易。
- 换手率高 + 价格冲击高 + VWAP偏离度大:可能是主力在搞事情,小心被割。
- 换手率低 + 价格冲击高 + VWAP偏离度大:流动性黑洞,赶紧跑。
下面这张图,是我自己总结的流动性判断框架:
最后说一句:流动性不是静态的。同一个标的,上午和下午的流动性可能天差地别。我见过一个票,开盘前30分钟换手率就达到5%,但到了下午,换手率不到0.5%。如果你只看日线级别的换手率,根本发现不了这个问题。
所以,我的习惯是:用分钟级别的成交数据,实时计算这三个指标。一旦发现某个指标出现异常,立刻暂停交易,等市场恢复再说。