VWAP算法(成交量加权平均价)
算法交易其实主要是用在基金公司、券商量化比较多。例如我已经选好股,要大量买入,但是单凭交易员的操作海量单而且要完成买入100万股这些的操作是有点的困难的。那么这时候怎样解决拆单,防止冲击成本的问题呢?只有依靠算法交易了,现在市面上的流行算法交易有两种,第一种是VWAP,一种是TWAP。但是每种算法交易也有它的坏处,就是很容给人看出操作手法(如果策略比较简单的情况下),所以这种需要不断优化。
VWAP是Volume Weighted Average Price 的缩写,译为成交量加权平均价。VWAP策略即是一种拆分大额委托单,在约定时间段内分批执行,以期使得最终买入或卖出成交均价尽量接近该段时间内整个市场成交均价的算法交易策略。
VWAP策略的内容。VWAP策略包含宏观和微观两个层面的内容。宏观层面要解决如何拆分大额委托单的问题,需要投资者对股票的日内成交量做出预测,我们建议按两分钟的时间长度来拆分订单。微观层面要确定是用限价单还是市价单来发出交易指令,考虑到VWAP是一种被动跟踪市场均价的策略,我们建议采用市价委托方式,一方面有利于控制最终成交均价与市场均价之间的偏差,另一方面也可以提高委托成交的效率,避免限价单长时间挂单不能成交的风险。
按照传统的VWAP策略,只是一种被动型的策略,而且在这个策略当中,最重要有以下的因素:历史成交量,未来的成交量预测、市场动态总成交量,拆单的时间段(就是总共要将总单拆分成多少单分别以怎样的时间频率交易)
![]() |
宏观拆单VWAP
假设投资者要在2011年10月10日当天以市场均价买入某只股票100万股,宏观策略可以告诉投资者如何拆分这100万股的委托单,在当天什么时间下多少单。市场通行的做法是采取等时长下单,例如,每5分钟下一笔单,这样原来的100万股委托单将被拆分成笔小额委托单,分时执行。
![]() |
其中V为拆分前委托单的总量。很显然,当时,上式取最小值0,也就是说如果投资者能够准确预测市场每个时间段的成交量占当日成交量的比例,那么投资者按这个比例拆分委托单,分时成交,那么最后总的成交均价将于市场成交均价相当。因此,拆单策略的一个关键在于对日内成交量的预测。
![]() |
但是这种方法的一个缺陷是,根据历史交易来预测未来的预测交易量。所以他们对VWAP预测成交量比例有了一个动态的改进,就是利用动态的成交量来做一个预测。例如说,根据前两分钟的成交量来预测未来两分钟的成交量。
这种策略有效降低成交成本。在检测VWAP策略是否有效的时候,他们引入了一个指标。绝对值平均值偏差,
![]() |
除个别股票外,VWAP-D与市场均价的偏差都小于VWAP-B,这主要得益于其对日内成交量预测的实时动态调整。另外,股票市值越大,其股价与成交量的波动性也就越小,VWAP策略执行的效果也就越好,与市场均价的偏差也就越小。总体上来看,大盘股要好于中盘股,中盘股要好于小盘股,但之间的差距并不明显,这主要是由于我们的验证过程目前还未涉及资金量大小,如果考虑到资金的冲击成本,大盘股与小盘股之间的这种差距将会拉大、
对于一个策略来说,MAPE越小,策略效果越好,越大,卖出价格越高。
当然VWAP也可以设计成为主动策略而非被动。下次也会分享一下其他策略。
VWAP算法(成交量加权平均价)的更多相关文章
- 股票——成交量加权平均价VWAP
成交量加权平均价是将多笔交易的价格按各自的成交量加权而算出的平均价,若是计算某一证券在某交易日的VWAP,将当日成交总值除以总成交量即可.VWAP可作为交易定价的一种方法,亦可作为衡量机构投资者或交易 ...
- 用numpy计算成交量加权平均价格(VWAP),并实现读写文件
VWAP(Volume-Weighted Average Price,成交量加权平均价格)是一个非常重要的经济学量,它代表着金融资产的“平均”价格.某个价格的成交量越高,该价格所占的权重就越大.VWA ...
- 我是如何一步步编码完成万仓网ERP系统的(十三)库存 2.加权平均价
https://www.cnblogs.com/smh188/p/11533668.html(我是如何一步步编码完成万仓网ERP系统的(一)系统架构) https://www.cnblogs.com/ ...
- 负载均衡算法WeightedRoundRobin(加权轮询)简介及算法实现
Nginx的负载均衡默认算法是加权轮询算法,本文简单介绍算法的逻辑,并给出算法的Java实现版本. 本文参考了Nginx的负载均衡 - 加权轮询 (Weighted Round Robin). ...
- 负载均衡算法: 简单轮询算法, 平滑加权轮询, 一致性hash算法, 随机轮询, 加权随机轮询, 最小活跃数算法(基于dubbo) java代码实现
直接上干活 /** * @version 1.0.0 * @@menu <p> * @date 2020/11/17 16:28 */ public class LoadBlance { ...
- 量化交易中VWAP/TWAP算法的基本原理和简单源码实现(C++和python)(转)
量化交易中VWAP/TWAP算法的基本原理和简单源码实现(C++和python) 原文地址:http://blog.csdn.net/u012234115/article/details/728300 ...
- 数据分析侠A的成长故事
数据分析侠A的成长故事 面包君 同学A:22岁,男,大四准备实习,计算机专业,迷茫期 作为一个很普通的即将迈入职场的他来说,看到周边的同学都找了技术开发的岗位,顿觉自己很迷茫,因为自己不是那么喜欢钻 ...
- python的random模块及加权随机算法的python实现
random是用于生成随机数的,我们可以利用它随机生成数字或者选择字符串. random.seed(x)改变随机数生成器的种子seed. 一般不必特别去设定seed,Python会自动选择seed. ...
- 算法练习_图的连通性问题(JAVA)
一.问题 1.问题描述: 有n个点(1...n),输入整数对(8,9),表示8,9点之间存在相互的连接关系. 动态连通性问题--编写一段程序过滤掉所以无意义的整数对,即为在不破坏图连通性的前提下,以最 ...
随机推荐
- 操作系统-百科: UNIX
ylbtech-操作系统-百科: UNIX UNIX操作系统(尤尼斯),是一个强大的多用户.多任务操作系统,支持多种处理器架构,按照操作系统的分类,属于分时操作系统,最早由KenThompson.De ...
- AbstractQueuedSynchronizer原理分析
AbstractQueuedSynchronized 以下简称AQS,是用来构建锁或者其他同步组件的基础框架. 在AQS中,为锁的获取和释放提供了一些模板方法,而实现锁的类(AQS的子类)需要实现这些 ...
- 关于神经网络算法的 Python例程
# Back-Propagation Neural Networks# # Written in Python. See http://www.python.org/# Placed in the ...
- 安装nagios检测hadoop
Nagios是常用的系统监控工具,提供了很多基本服务的监控脚本,如HTTP,MYSQL等,同时具有不错的可扩展性,自己可定制针对特定参数的监控脚本以及报警的方式. 我现在有三台机器:192.168.0 ...
- C++ 新特性-右值引用
作为最重要的一项语言特性,右值引用(rvalue references)被引入到 C++0x中.我们可以通过操作符“&&”来声明一个右值引用,原先在C++中使用“&”操作符声明 ...
- 安装git之后,桌面图标出现很多的蓝色问号
今天在搞git之后,开机发现多了好多的问号: 这是因为我们在桌面创建了版本库了. 这个时候我们在系统中吧隐藏的文件夹显示出来.这个时候会看到桌面上有一个隐藏的git文件夹.把这个文件夹删除掉之后,刷新 ...
- folly学习心得(转)
原文地址: https://www.cnblogs.com/Leo_wl/archive/2012/06/27/2566346.html 阅读目录 学习代码库的一般步骤 folly库的学习心得 ...
- eclipse 使用lombok 精简java bean
前言: lombok 提供了简单的注解的形式来帮助我们简化消除一些必须有但显得很臃肿的 java 代码.特别是相对于 POJO lombok 的官方网址 ...
- Spring2.5那些事之基于AOP的方法级注解式日志配置
在日常开发中经常需要在代码中加入一些记录用户操作日志的log语句,比如谁在什么时间做了什么操作,等等. 把这些对于开发人员开说无关痛痒的代码写死在业务方法中实在不是一件很舒服的事情,于是AOP应运而生 ...
- addin1
Mono.addin是一个插件框架,更多信息请访问 http://monoaddins.codeplex.com/



