算法交易其实主要是用在基金公司、券商量化比较多。例如我已经选好股,要大量买入,但是单凭交易员的操作海量单而且要完成买入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算法(成交量加权平均价)的更多相关文章

  1. 股票——成交量加权平均价VWAP

    成交量加权平均价是将多笔交易的价格按各自的成交量加权而算出的平均价,若是计算某一证券在某交易日的VWAP,将当日成交总值除以总成交量即可.VWAP可作为交易定价的一种方法,亦可作为衡量机构投资者或交易 ...

  2. 用numpy计算成交量加权平均价格(VWAP),并实现读写文件

    VWAP(Volume-Weighted Average Price,成交量加权平均价格)是一个非常重要的经济学量,它代表着金融资产的“平均”价格.某个价格的成交量越高,该价格所占的权重就越大.VWA ...

  3. 我是如何一步步编码完成万仓网ERP系统的(十三)库存 2.加权平均价

    https://www.cnblogs.com/smh188/p/11533668.html(我是如何一步步编码完成万仓网ERP系统的(一)系统架构) https://www.cnblogs.com/ ...

  4. 负载均衡算法WeightedRoundRobin(加权轮询)简介及算法实现

    Nginx的负载均衡默认算法是加权轮询算法,本文简单介绍算法的逻辑,并给出算法的Java实现版本. 本文参考了Nginx的负载均衡 - 加权轮询 (Weighted Round Robin).     ...

  5. 负载均衡算法: 简单轮询算法, 平滑加权轮询, 一致性hash算法, 随机轮询, 加权随机轮询, 最小活跃数算法(基于dubbo) java代码实现

    直接上干活 /** * @version 1.0.0 * @@menu <p> * @date 2020/11/17 16:28 */ public class LoadBlance { ...

  6. 量化交易中VWAP/TWAP算法的基本原理和简单源码实现(C++和python)(转)

    量化交易中VWAP/TWAP算法的基本原理和简单源码实现(C++和python) 原文地址:http://blog.csdn.net/u012234115/article/details/728300 ...

  7. 数据分析侠A的成长故事

    数据分析侠A的成长故事 面包君  同学A:22岁,男,大四准备实习,计算机专业,迷茫期 作为一个很普通的即将迈入职场的他来说,看到周边的同学都找了技术开发的岗位,顿觉自己很迷茫,因为自己不是那么喜欢钻 ...

  8. python的random模块及加权随机算法的python实现

    random是用于生成随机数的,我们可以利用它随机生成数字或者选择字符串. random.seed(x)改变随机数生成器的种子seed. 一般不必特别去设定seed,Python会自动选择seed. ...

  9. 算法练习_图的连通性问题(JAVA)

    一.问题 1.问题描述: 有n个点(1...n),输入整数对(8,9),表示8,9点之间存在相互的连接关系. 动态连通性问题--编写一段程序过滤掉所以无意义的整数对,即为在不破坏图连通性的前提下,以最 ...

随机推荐

  1. Java 成员变量和局部变量

    1.成员变量 在类中定义,用来描述对象将要有什么. 2.局部变量 在类的方法中定义,在方法中临时保存数据. 成员变量和局部变量的区别 作用域不同: 局部变量的作用域仅限于定义它的方法 成员变量的作用域 ...

  2. oracle startup mount nomount 区别

    看oracle入门书,其中一句话说,使用startup nomount 命令启动例程,不可以和mount open 和exclusive一起使用,这个命令适用于建立数据库或是维护数据库时使用. 于是查 ...

  3. azkaban平台的使用

    最近接触一些大数据的测试,有些hadoop/spark任务在服务器测试不太方便,会放到azkaban上跑 简单写下azkaband的使用流程:包括任务的上传和提交任务到hadoop集群 一 登陆azk ...

  4. 用VIM设置UTF-8编码的BOM标记

    1.去掉BOM标记: :set nobomb 2.加上BOM标记: :set bomb 3.查询当前UTF-8编码的文件是否有BOM标记: :set bomb? 4.更高级一点的: :%!xxd &q ...

  5. python开发_python中的变量:全局变量和局部变量

    如果你在为python中的变量:全局变量和局部变量头疼,我想这篇blog会给你帮助 运行效果: 代码部分: #Python中的变量:全局变量和局部变量 #在很多语言中,在声明全局变量的时候,都喜欢把全 ...

  6. NodeJs中require use get typescript及其他知识点集合

    NodeJs的Express使用 nodejs事件的监听与事件的触发 TypeScript学习笔记 深入浅出Node.js Nodejs开发Office插件 类百度文库文档上传.转换和展示功能项目开源 ...

  7. c++builder 读写文件类

    c++builder 读写文件类 TStreamReader.TStreamWriter读取一行 http://docwiki.embarcadero.com/CodeExamples/XE8/en/ ...

  8. 利用Condition实现多线程交替执行

    一.需求 A.B.C 三个线程,循环10次,打印出自己的名称,ABC,ABC,ABC... A.B.C 三个线程,循环10次,打印出自己的名称,A一次,B三次,C五次,ABBBCCCCC,ABBBCC ...

  9. a+b_1

    题目截图: 思路: 直接输出即可. 代码如下: /* a+b */ #include <stdio.h> #include <string.h> #include <ma ...

  10. Redis入门 - Windows环境搭建与第一个C# Sample

    什么是Redis? Redis是一个开源.支持网络.基于内存.键值对存储数据库,使用ANSI C编写.从2013年5月开始,Redis的开发由Pivotal赞助.在这之前,其开发由VMware赞助.根 ...