4、拆单行为分析:拆单策略分类(TWAP、VWAP、POV)、拆单行为特征提取、拆单与冰山订单的关联
拆单行为分析,说白了就是看大资金是怎么「偷偷」进场的。
我做了这么多年量化,见过太多人把拆单和冰山订单混为一谈。其实它们的关系,有点像「目的」和「手段」——拆单是目的,冰山订单只是实现拆单的一种手段。今天咱们就把这块彻底掰扯清楚。
4.1 拆单策略的三大主流分类
实际交易中,主流的拆单策略就三种:TWAP、VWAP、POV。我一个个说。
4.1.1 TWAP(时间加权平均价格)
TWAP 是最朴素的拆单策略。它的逻辑很简单:把大单切成小单,按时间均匀扔出去。
举个例子,你想买 100 万股,交易时间 4 小时。TWAP 会把它切成 240 个 1 分钟切片,每个切片扔 4166 股左右。不管市场怎么波动,它都按时间表走。
每个时间片成交量 = 总目标量 / 总时间片数
我在项目中遇到过一个问题:TWAP 在震荡市里表现还行,但一旦遇到趋势行情,它就会「吃大亏」。为什么?因为它完全不看价格,市场在暴跌它还在买,市场在暴涨它还在卖。说白了,TWAP 就是个「老实人」策略。
4.1.2 VWAP(成交量加权平均价格)
VWAP 比 TWAP 聪明一点。它不光看时间,还看成交量分布。
你想想看,上午开盘那会儿成交量最大,下午收盘前也有一波放量。VWAP 会在这些时段多扔一些单子,在中午冷清的时候少扔一些。这样你的成交价格会更接近市场均价。
# VWAP 拆单的简化逻辑
def vwap_schedule(total_qty, volume_profile):
"""
volume_profile: 每个时间片的预期成交量占比
"""
schedule = []
for slice_vol_ratio in volume_profile:
slice_qty = total_qty * slice_vol_ratio
schedule.append(slice_qty)
return schedule
我记得有一次做回测,VWAP 策略在正常行情下比 TWAP 少滑了 3 个基点。别小看这 3 个基点,大资金一年下来就是几千万的差距。
4.1.3 POV(成交量百分比策略)
POV 是我个人最喜欢的一种拆单策略。它的核心思想是:我不看时间,也不看历史成交量,我就盯着当前市场的实时成交量。
POV 会设定一个参与率,比如 10%。意思是:市场上每成交 100 股,我就参与 10 股。市场活跃我就多买,市场冷清我就少买。
每个时间片的交易量 = 当前市场成交量 × 目标参与率
这样做的好处是隐蔽性极强。你想想看,你的交易行为和市场融为一体,对手盘很难识别出你在拆单。我曾经用 POV 策略帮一个机构客户做了一笔 5 亿的建仓,全程没有被任何算法识别出来。
4.2 拆单行为特征提取
好了,现在我们知道大资金是怎么拆单的了。那反过来,我们怎么从盘口数据里识别出有人在拆单?
我总结了一套特征提取的方法,核心就四个维度:
| 特征维度 | 具体指标 | 拆单行为的典型表现 |
|---|---|---|
| 时间维度 | 订单到达间隔、订单大小分布 | 间隔均匀或呈规律性波动,单笔大小接近 |
| 价格维度 | 成交价格偏离度、买卖价差变化 | 成交价紧贴盘口,很少吃单 |
| 量能维度 | 成交量占比、订单簿深度变化 | 成交量突然放大但价格不涨 |
| 订单簿维度 | 挂单撤销频率、队列位置变化 | 频繁撤单重挂,队列位置前移 |
这里我重点说一下「订单簿维度」。我曾经在实盘中观察到一种现象:某个股票在 10.00 元的位置挂了 5000 手买单,然后每隔几秒就撤掉重新挂,而且每次挂的位置都往前挪一点点。这就是典型的拆单行为——他在用冰山订单配合拆单,不断试探市场的承接力。
4.3 拆单与冰山订单的关联
说到这,咱们终于可以回答那个核心问题了:拆单和冰山订单到底是什么关系?
我用一张图来说明:
从这张图可以看得很清楚:
- 拆单策略是「做什么」——它决定了你在什么时间、以什么节奏、参与多少成交量
- 冰山订单是「怎么做」——它是实现拆单的一种工具,用来隐藏你的真实挂单量
- 行为特征是「留下什么痕迹」——无论你怎么隐藏,拆单行为总会留下蛛丝马迹
我举个例子你就明白了。假设你用 VWAP 策略拆单,每次只挂 1000 股,但实际你想买 10 万股。这时候冰山订单就派上用场了——你挂一个总量 10 万股、显示量 1000 股的冰山单。这样盘口上只看到 1000 股,但实际你的 VWAP 策略在背后不断补充新的 1000 股。
嗯,说到这,拆单行为分析的核心内容基本都覆盖了。记住一句话:拆单是战略,冰山订单是战术,特征提取是情报。三者缺一不可。