1. VWAP基础概念:什么是VWAP?
做量化交易的朋友,对VWAP这个词肯定不陌生。我最早接触它是在2015年,当时帮一家私募做算法交易系统。客户上来就说:「我要VWAP执行,能不能做?」我心想,这不就是成交量加权平均价嘛,简单。结果真正落地的时候,坑比想象的多。
今天咱们就把VWAP这个老朋友,从头到尾聊透。
1.1 什么是VWAP?
VWAP,全称Volume-Weighted Average Price,翻译过来就是「成交量加权平均价」。说白了,它不是一个简单的价格平均,而是把每一笔成交的「量」也考虑进去了。
你想想看,如果某只股票在10块钱成交了100股,在11块钱成交了10000股。那它的「真实价格」应该更靠近11块,因为大部分交易都发生在那里。VWAP干的就是这个事。
核心定义:VWAP = 从开盘到当前时刻,所有成交金额之和 ÷ 所有成交量之和
它反映的是市场参与者在这一天里的「平均成交成本」。
我个人的习惯是,把VWAP看作一根「引力线」。价格在VWAP上方,说明买方力量强;在下方,说明卖方占优。很多机构交易员,一天到晚就盯着这根线做决策。
1.2 VWAP的计算公式
公式其实不复杂,但咱们得把每个符号都吃透。
标准公式:
VWAP = Σ(Pᵢ × Vᵢ) / Σ(Vᵢ)
其中:
- Pᵢ — 第i笔交易的成交价格
- Vᵢ — 第i笔交易的成交量(股数)
- Σ(Pᵢ × Vᵢ) — 到当前时刻的总成交金额
- Σ(Vᵢ) — 到当前时刻的总成交量
举个例子,你一看就明白了:
| 交易序号 | 价格(元) | 成交量(股) | 成交金额(元) |
|---|---|---|---|
| 1 | 10.00 | 100 | 1,000 |
| 2 | 10.20 | 200 | 2,040 |
| 3 | 10.10 | 150 | 1,515 |
| 合计 | 450 | 4,555 |
VWAP = 4,555 ÷ 450 = 10.1222 元
你看,如果简单算平均价:(10.00 + 10.20 + 10.10) / 3 = 10.10元。但VWAP算出来是10.1222元,因为第二笔交易量最大,把价格往上拉了。
实战小技巧:我写代码时,不会每次都从头累加。而是维护两个累加器:cumulative_volume 和 cumulative_value。每来一笔新成交,就做一次加法。这样计算复杂度是O(1),跑高频数据也不怕。
1.3 数学原理:为什么VWAP有效?
VWAP的数学本质,其实是一个「成交量加权的移动平均」。但它跟传统移动平均线(比如SMA、EMA)有个根本区别——权重不是时间,而是成交量。
为什么会这样设计?
我当年在实盘里吃过亏。有一次用简单移动平均线做执行基准,结果发现大单子进来的时候,价格被瞬间拉偏,SMA根本反应不过来。但VWAP不会,因为大成交量本身就贡献了更大的权重,它天然地「跟随」了真实的资金流向。
数学上,VWAP满足三个重要性质:
- 无偏性:如果交易量均匀分布,VWAP就是真实的市场平均成本
- 单调性:价格越高、成交量越大,VWAP上升越快
- 收敛性:收盘时,VWAP会收敛到当天的「真实均价」
嗯,这里要注意一点:VWAP是路径依赖的。也就是说,同样的收盘价和总成交量,如果成交顺序不同,VWAP也会不同。这一点很多新手会忽略。
避坑指南:我曾经在回测时直接用日线数据算VWAP,结果发现策略表现特别好。后来一查,原来我用的是「收盘价×总成交量」算的,完全错了!VWAP必须用逐笔成交数据或分钟级切片数据来计算。用日线数据算VWAP,等于刻舟求剑。
1.4 VWAP的典型应用场景
VWAP在量化交易里,主要有三个用途:
- 执行基准:机构交易员拿它当「及格线」。成交价低于VWAP,说明执行得好;高于VWAP,说明买贵了。
- 趋势判断:价格在VWAP上方运行,短期偏多;下方运行,偏空。很多日内交易者把它当「多空分界线」。
- 算法交易:TWAP、POV、Implementation Shortfall等算法,底层都离不开VWAP的影子。
我个人最常用的是第一种。做程序化T+0的时候,每天开盘前先算好预估VWAP,然后让算法自动把单子拆成小份,跟着成交量走。效果嘛,比手动下单强太多了。
1.5 知识体系总览
下面这张图,把VWAP的核心逻辑串起来了。我建议你多看两眼,后面章节都会围绕这个框架展开。
这张图里,我特意把「路径依赖」和「成交量加权」单独拎出来了。这两个特性,是理解VWAP所有高级用法的钥匙。后面的章节,我们会逐一展开。
公众号:蓝海资料掘金营,微信deep3321