VWAP(Volume Weighted Average Price),即成交量加权平均价格算法,是目前市场上较为流行的算法交易策略之一,也是很多其他算法交易模型的原型。
VWAP算法的概念
VWAP算法旨在使得在指定时间段内执行的订单的VWAP值低于或等于市场上相应时间段的VWAP值。简单来说,VWAP是对一段时间市场上所有交易活动平均价格的衡量,它将一段时间内证券价格按成交量加权得出平均值。
VWAP算法的原理
VWAP算法的核心在于根据市场真实的成交量分时按比例提交订单。这意味着,为了使实际VWAP接近理论VWAP,需要对市场分时成交量(成交量比例)进行预测,并据此拆分大额委托单。VWAP策略包含宏观和微观两个层面:宏观层面涉及如何拆分大额委托单,微观层面则确定是使用限价单还是市价单来发出交易指令。通常建议采用市价委托方式,以控制最终成交均价与市场均价之间的偏差并提高委托成交效率。
代码
import random
def calculate_vwap(trades):
"""
计算 VWA