查看:244回复:2
[灌水]谈算法交易
10月7日亚洲早盘中,英镑汇率突发大幅千余点崩跌,短短两分钟内跌幅达6.1%,狂泻至1.18,后恢复1.24左右,刷新31年来最低值。
英国央行正在调查英镑大幅下跌的原因,而市场的猜测主要三种:1.算法交易失误 2.市场操控 3.“肥手指”。那么什么是算法交易,我们聊聊算法交易。
【解决问题】:为什么“闪崩”可能会与算法交易故障有关?
【正文】
【什么是算法交易?】
当投资者有大量证券资产需要交易时,一般都会把交易拆细,分批执行。但是,这就出现了一个问题:如何安排这些交易是最有利的?一般我们都希望交易不要对市场产生太大的冲击,同时也希望交易不会拖延太久导致市场价格向不利于我们的方向变动。
但是,这是一个两难:市场冲击是交易速度的增函数;等待风险则是交易速度的减函数。当交易执行速度较快时,等待风险很小,冲击成本很大;交易执行慢时,冲击成本很小,等待风险很大。为了解决这一问题,优化交易的执行,算法交易应运而生。
算法交易Algorithmic Trading,简称Algo Trading,起源于美国,是利用电子平台输入涉及算法的交易指令,以执行预先设定好的交易策略。算法中包含许多变量,包括时间,价格,交易量,或者在许多情况下,由“机器人”发起指令,而无需人工干预。
在这里要注意的有两点:
1.算法交易是自动交易。
2.算法交易是属于交易执行(操作)层面,而不属于交易策略层面,我们后面在区分程序化交易与算法交易时会有再次提到。
【算法交易的历史】
80年代后期及90年代,美国证券市场的全面电子化成交和电子撮合市场ECN(Electronic Communication Networks)开始发展。纽约证券交易所NYSE在1997年就批准了从分数制报价方式改为十进制小数点报价的方案,这个推进的过程用了三四年。2000年8月开始小范围试点,到2001年才完成,NASDAQ后来在证监会的压力下也跟进这个改革方案。
股票报价的最小变动单位由1/16美元或者1/32美元,调低到了0.01美元。买卖之间的最小变动差价大幅缩小了七八成,也减少了做市商的交易优势,因此降低了市场的流动性[价格位数越多,流动性越弱],(买卖报价被稀释在更多的报价单位上),这些情况改变了证券市场的微观结构。
市场流动性的降低导致机构投资者使用计算机来分割交易指令,用以执行到更优越的均价。
【什么是分割交易指令?】
当投资者有大量证券资产需要交易时,比如说有一天,李老板今天要花10个亿买万科股票,一个5亿的订单下去,万科涨停了,剩下的5亿怎么办?还没全部买进去成本就高了10个点。
可以换个做法:在今天收盘之前,要以20元的平均价格,买入总金额10个亿的万科。用算法进行计算,把10亿大订单分拆成一系列的小订单(这个叫拆分大额委托单),算出来要什么时候以什么的价格买多少份额,就能完成预设的目标自动帮你下单完成交易。
就好像有一盆美味,你一顿吃掉会把你吃撑还吃不下去,吃的非常不舒服,但是每隔一个段时间吃一些,或许你就可以吃下去了,而且还很开心。
【算法交易与程序化交易的区别】
从近十多年的市场实践看,自动交易大致分为决策型交易和执行型交易。前者强调基于计算机的帮助,通过寻找市场上的各种交易机会,做出买卖什么的交易决策。后者强调交易订单的执行,即负责快速、低成本地、隐蔽地实现相关订单执行和成交。
因为,在大额订单提交到交易所,冲击成本impact cost会使得你的交易成本迅速提高,这时候利用算法分割订单就是一种简单方便的方法,国内券商也较早实现了这种交易方式。注意,由于金融机构的交易决策(投资组合经理等)和交易执行(交易室)是分开的,显然,这里所说的算法交易,并没有交易决策逻辑在里面。
为什么现在的”算法交易“概念外延更广,且看下面。
再说程序化交易,是由交易决策导致的,也即交易决策的产生是由“程序”产生。那么,意味着从EXCEL & VBA & matlab & R 到文华财经、TB、金字塔、multichart,再到天软、龙软DTS、飞创STP、Progress Apama等等,只要利用这些工具完成了“拿到市场数据market data”----“处理数据”----“自己构建交易模型”-----“交易决策逻辑触发并创建订单到订单池“-----”风险控制”----“提交订单到交易所或者券商”整套逻辑的,便都可以称上程序化交易。
同时,由于交易模型的构建务必会包含算法,而且订单池的提交会设计到减少交易成本问题,这里与算法交易的概念便模糊了。这也回答了上个自然段最后的问题。
实际,程序化交易和算法交易各有侧重点:
算法交易 强调的是交易的执行,如何快速、低成本、隐蔽的执行大量的订单 。
程序化交易 强调的是订单如何生成,通过某种策略生成交易指令,实现某个特定的投资目标。
【算法交易策略分类】
按照算法交易中算法的主动程度不同,可以把算法交易分为被动型算法交易、主动型算法交易、综合型算法交易三大类。
被动型算法交易
按照一个既定的交易方针进行交易,核心目标是减少滑点。被动型算法交易已发展的较为成熟,应用广泛。经典的算法包括成交量加权平均价格(VWAP)和时间加权平均价格(TWAP)等等。
主动型算法交易
会根据市场的状况做出实时的决策,判断是否交易、交易的数量和交易的价格等。除了减少滑点外,主动型算法还会去预测价格走势,如果判断市场价格在向不利于交易方向发生变动时,就会推迟交易,反之则会加快交易。
综合型算法交易是前两者的综合
既要完成既定的交易目标,又要在交易的过程中加入程序化的主动型判断。这类算法常见的做法是先把交易指令拆开并分配到若干个交易时段内,每个时间段内具体如何交易由主动型交易算法自行判断。
【为什么“闪崩”可能会与算法交易故障有关?】
算法交易一般用在优化下单。因为市场冲击成本的存在,对于下单手数庞大的策略,需要分散通过考虑市场流动性等方面,降低下单的总成本。
当所有算法都同向运行之时,而此时市场买卖量又很小,因此很容易在短时间内导致市场快速同向波动。
而在10月7日亚洲早盘中,鉴于外汇交易的交易量比往常高出60%,而算法交易正是用来优化交易时间段,进行交易降低成本,所以其关联性很强。
所以说,“闪崩”可能会与算法交易的故障有关。
发表于:2016-10-17 10:51只看该作者
2楼
我内心毫无波动,甚至有些想笑。
发表于:2016-10-17 13:00只看该作者
3楼
楼主分析的好
韬客社区www.talkfx.co