一、VWAP基础概念:什么是VWAP、计算公式与核心地位
各位同学好,我是老张。今天咱们聊聊VWAP——这个在算法交易里绕不开的指标。
说实话,我刚入行那会儿,对VWAP的理解也就停留在「成交量加权平均价」这个字面上。直到有一次,我帮一家机构做拆单执行,客户要求全天成交价必须跑赢VWAP。那笔单子做得我焦头烂额,但也让我真正吃透了VWAP的脾气。
1.1 什么是VWAP?
VWAP,全称Volume-Weighted Average Price,翻译过来就是「成交量加权平均价」。说白了,它不是一个简单的算术平均,而是把每一笔成交的价格,按照它对应的成交量大小来加权计算。
你想想看,如果某只股票今天大部分交易都发生在10块钱,只有零星几笔在9.9或10.1成交,那它的「真实价格」应该更接近10块,而不是(9.9+10+10.1)/3=10.0这么简单。VWAP干的就是这个活儿——用成交量当权重,把价格「拉」向交易最密集的区域。
我个人习惯把VWAP理解成「市场的重心」。它反映了当天所有参与者用真金白银投票出来的平均成本。嗯,这里要注意:VWAP是日内指标,每天从开盘重新算起,跟昨天的收盘价没关系。
1.2 VWAP的计算公式
公式其实很简单,但咱们得把它拆明白了。
标准公式:
VWAP = Σ(Pᵢ × Vᵢ) / Σ(Vᵢ)
其中:
Pᵢ = 第i笔交易的价格
Vᵢ = 第i笔交易的成交量
Σ(Pᵢ × Vᵢ) = 从开盘到当前时刻的累计成交金额
Σ(Vᵢ) = 从开盘到当前时刻的累计成交量
举个例子你就明白了。假设某股票今天发生了三笔交易:
| 交易序号 | 价格(元) | 成交量(股) | 成交金额(元) |
|---|---|---|---|
| 1 | 10.00 | 1000 | 10,000 |
| 2 | 10.05 | 2000 | 20,100 |
| 3 | 9.98 | 1500 | 14,970 |
| 合计 | 4500 | 45,070 |
那么VWAP = 45,070 ÷ 4,500 = 10.0156元。
你看,算术平均价是(10.00+10.05+9.98)/3=10.01,跟VWAP差不太多。但如果成交量分布不均匀呢?比如第二笔交易只有100股,第三笔有10000股,那VWAP就会被拉到9.98附近。这就是加权的作用。
递推公式长这样:
累计金额_new = 累计金额_old + 当前价格 × 当前成交量
累计量_new = 累计量_old + 当前成交量
VWAP_new = 累计金额_new / 累计量_new
嗯,这里要注意:递推公式虽然快,但浮点数精度会累积误差。我建议每处理1000笔交易后,用全量数据重新算一次做校准。
1.3 VWAP在算法交易中的核心地位
为什么VWAP这么重要?说白了,机构交易者最怕什么?怕「吃相难看」——大单砸下去把价格打飞了,自己买在高点或卖在低点。VWAP就是用来衡量「吃相」的标尺。
我举个例子。假设你要买入100万股某股票,如果全天你的平均成交价是10.00元,而市场VWAP是10.05元,说明你买得比市场平均便宜了5分钱——这就是「跑赢VWAP」。反过来,如果你买在10.10元,那就是「跑输VWAP」。
在算法交易里,VWAP的核心地位体现在三个方面:
- 基准锚点: 大部分机构把VWAP作为执行成本的基准。跑赢VWAP就是好执行,跑输就是差执行。我见过不少基金经理,收盘第一句话就问:「今天VWAP跑赢了多少?」
- 拆单策略的核心: VWAP算法交易的核心逻辑,就是把自己的大单拆成小单,按照市场成交量的分布节奏去喂单。市场成交量大的时候多买点,成交量小的时候少买点,这样你的成交价就会自然贴近VWAP。
- 市场冲击的缓冲: 我曾经帮一家私募做一笔5亿的建仓单。如果一次性买入,股价至少被拉高2%。但用VWAP算法拆成全天2000多笔小单,最终成交价只比VWAP高了0.3%。这就是VWAP策略的价值——用时间换空间,降低市场冲击。
下面这张图,是我自己画的VWAP核心逻辑框架,你看一眼就明白了:
你看这个框架,核心就三件事:预测市场成交量会怎么分布、实时追踪自己的成交价跟VWAP差了多少、然后动态调整下单节奏把偏差拉回来。说白了,就是「跟着市场的节奏走,别自己瞎冲」。
我个人觉得,VWAP之所以能成为算法交易的基石,是因为它抓住了交易的本质——你不是在跟市场对赌,你是在融入市场。你的单子拆得越碎、节奏跟得越准,市场就越感觉不到你的存在,你的执行成本就越低。
好了,VWAP的基础概念就聊到这儿。下一节咱们会深入VWAP算法的具体实现,包括成交量预测模型怎么写、偏差修正怎么调参——都是我在实战中踩过坑之后总结出来的干货。
公众号:蓝海资料掘金营,微信deep3321