2. VWAP策略原理:时间加权与成交量加权的区别
聊VWAP之前,我们先搞清楚一个基础问题。
你想想看,如果你要买100万股股票,怎么买最划算?
一种思路是:均匀地买,每分钟买一点。另一种思路是:哪会儿成交量最大,哪会儿多买点。
这就是时间加权和成交量加权的本质区别。
2.1 时间加权 vs 成交量加权
时间加权,说白了就是按时间切片。
比如交易时段一共240分钟,你每分钟买1/240的量。不管市场活跃不活跃,我就按这个节奏走。
我刚开始做量化的时候,就犯过这个错。有一次用时间加权拆单,结果下午开盘那会儿成交量突然萎缩,我的单子直接把价格打穿了。嗯,那笔亏损我记得很清楚。
成交量加权就不一样了。
它根据历史成交量分布来分配订单。成交量大的时段多买,成交量小的时段少买。
为什么会这样设计?因为流动性好的时候,你的大单不容易引起价格波动。
核心区别一句话:
- 时间加权:均匀分配,简单粗暴
- 成交量加权:按流动性分配,更聪明
我们来看一个具体的对比表格:
| 对比维度 | 时间加权 | 成交量加权 |
|---|---|---|
| 分配依据 | 时间均匀 | 历史成交量分布 |
| 市场冲击 | 高(流动性差时) | 低(跟随流动性) |
| 实现难度 | 简单 | 中等(需要预测) |
| 跟踪误差 | 较大 | 较小 |
2.2 VWAP策略的目标函数
VWAP策略到底在优化什么?
目标函数其实很简单:让实际成交价格尽可能接近市场VWAP。
数学上可以写成:
minimize: Σ (P_i * Q_i) / Σ Q_i - VWAP_market
其中P_i是你的成交价格,Q_i是你的成交量。
说白了,就是让你的加权平均成交价,跟市场的成交量加权平均价之间的差距最小化。
我个人习惯:在实际项目中,我会把目标函数拆成两部分——价格偏差和成交量偏差。价格偏差控制成本,成交量偏差控制跟踪精度。两者需要平衡。
这里有个坑,我曾经踩过。
有一次我过于追求跟踪精度,把成交量偏差设得很紧。结果呢?市场突然放量,我的算法疯狂追单,最后成交价反而偏离了VWAP。嗯,过拟合了。
2.3 被动执行 vs 主动执行
执行方式上,VWAP策略分两种流派。
被动执行:
- 挂限价单,等别人来吃
- 优点:交易成本低,能拿到流动性返佣
- 缺点:可能成交不了,导致跟踪误差
主动执行:
- 直接吃对手盘,用市价单或可成交的限价单
- 优点:成交确定性强
- 缺点:冲击成本高,容易把价格打偏
你可能会问:那到底用哪种?
我的经验是:没有绝对的好坏,看市场环境。
避坑指南:我曾经在流动性好的大盘股上全用被动执行,结果尾盘没成交完,被迫用市价单扫货,那天的VWAP偏差直接翻倍。后来我学乖了——被动为主,主动为辅,动态切换。
实际项目中,我一般这样配置:
- 开盘和收盘:主动多一些(流动性好,但竞争激烈)
- 盘中:被动为主(时间充裕,慢慢磨)
- 遇到大单:主动拆成小单,分批吃
2.4 知识体系框架
下面这张图,是我自己梳理的VWAP策略核心逻辑。你看一眼就能明白整个体系。
这张图把VWAP策略的五个环节串起来了。你从输入开始,经过分配策略、执行方式、目标函数,最后输出结果。每一步都有讲究。
我的建议:刚开始做VWAP策略,别想着一步到位。先把时间加权和被动执行跑通,再慢慢加入成交量预测和主动执行。我当年就是这么过来的。
好了,这一章的核心内容就这些。记住三个关键词:分配方式、目标函数、执行风格。搞懂了这些,VWAP策略的骨架你就搭起来了。