首先说说交易成本:
交易成本分成两类,一类是显性成本,包括佣金(包括券商佣金,交易经手费和监管费),过户费(上交所收取),印花税(国家收取)。这部分费用具有相对刚性,类似于固定成本,难以通过主动管理改变,因为这些费用都是一定要收的。一类叫做隐含成本,包含买卖的价差、冲击成本、择时成本、机会成本,这些成本类似于可变的成本,我们可以通过人为的干预,或者交易的方法去进行管理或者是控制。
冲击成本:我们发出的委托或者是指令导致股票价格变动,向我们不利的方向变动,直观来说就是我们例如去购买某一只股票,比如我们买100万股,如果我们直接下一笔100万股的委托,那我们将对市场造成很大的冲击,像这样的我们交易导致成交价格变化所引起的成本,我们叫做冲击成本。
择时成本,我有可能进行拆单,我拆单的过程中,原来的1分钟变成一个小时,一方面有可能导致我的股票的价格可能会自行的有些变动,这些价格变动的过程中,股票价格有可能往我们不利的方向变动,那我的建仓成本就上升了,这就是择时成本。
机会成本,比如我买100万股,我只买了10万股,还有90万股么有成交,那么价格上涨的话,那么没有成交的90万股,那么就损失了上涨的机会,那么这就是机会成本。
算法的目标主要有:(1)交易成本最小化,如降低市场冲击成本;(2)成本均价贴近目标价格,如市场成交均价;(3)隐藏下单意图;(4)其他非技术原因,如节约人力成本、提高下单效率、保障指令准确实现等。
投资者之所以选择算法交易这一方式,也是基于其希望交易不会对市场产生太大冲击的目的,另一方面也希望交易不会因为时间的问题导致了价格变化成本增加。因此来说,算法交易研究的核心,是在平衡交易成本问题与交易风险问题的前提下,找出最为合适的方式来解决投资问题。
再谈谈算法,目前在市场上占据主要地位的是被动型算法交易,先介绍比较典型的TWAP和VWAP算法。
算法交易分为几类,一类是被动型的算法交易,比如说TWAP和VWAP。
1、TWAP算法:
TWAP通过算法的拆分,使我的建仓成本和某段区间内的时间加权平均价格相吻合。理解还是比较简单的。指定时间段,100万股,比如接下去3个小时购买,每间隔10分钟买一次,3个小时可以建仓18次,总体的数量,除以18次,可以得出每一次交易的数量1000000/18 = 55555。通过拆分,每间隔10分钟发一笔委托,不同分割节点均匀分拆,和市场实际的成交情况没关系的。建仓速率是匀速的。有些大的机构会加一些随机的因素在里面,均匀的拆分,很容易发现,这样很可能暴露意图,每次数量加一个随机数,这样能隐藏我们建仓的目的,多了一些不确定性,比如恒生PTrade每笔委托时间在某个范围内随机,以及每笔委托数量在某个范围内随机。两个局限性:市场成交量是波动变化的,均匀分配固定的数量是不够合理的,盘中冲击比较大。如果订单比较大,每次的数量数量还是比较大的。优点就是比较简单,操作上也比较简单,这种算法就适用于流动性比较好的或者说规模比较小的交易。为了改进局限性,市场是也退出了VWAP算法。
2,VWAP算法:
计算历史每一段时间平均历史成交量,比如说过去20天,每一分钟的分布会计算出来,这样我们可以得到过去20天,每分钟的成交量是多少。分布可以画出来。每一个时间段的成交量比例在这段时间内总成交量的占比,这个占比作为我这时点的成交量拆分的比例。每时刻发出的委托数量是基于历史的平均成交量,与当前市场价格、成交量无关。也有一些改进的方式,有一个改进的算法,根据市场最新价格和实时VWAp之间关系可以调整下单的数量,AIM算法,当市场最新价小于实时的VWAP的时候,他就放大交易量,最新价>实时VWAP,缩小。带反馈机制的VWAP,就是根据成交情况,比如市价单,就成交了,比如限价单,那就是对于一些没有成交的股票,那他可以将没有成交的股票分摊到后面的时间段。
VWAP算法的核心即时最小化与市场实时VWAP之间的差异。使得真实交易的执行价格尽可能的接近VWAP基准价格,从而较少市场冲击成本。因此VWAP策略一般不直接对交易的冲击成本建模,而是注重日内交易量分布的预测。
一般在机构版的软件上,都可以自动设置参数,由平台系统自动完成:输入目标代码,买卖方向,买卖数量,时间段和时间片,以及一些过程上对每笔数量上或者价格上的限制(防止极端情况):
目前大部分机构都会用到这些策略,也就是说如果机构主力不想让你看到他买卖股票的痕迹你是看不到的,会隐藏在散户的小单子中,能让你看到的,也就是有目的的,供各位投资者学习参考。
(声明: 本文一些内容介绍引用了 __LeeKuanYew 的博文内容。)
交易成本分成两类,一类是显性成本,包括佣金(包括券商佣金,交易经手费和监管费),过户费(上交所收取),印花税(国家收取)。这部分费用具有相对刚性,类似于固定成本,难以通过主动管理改变,因为这些费用都是一定要收的。一类叫做隐含成本,包含买卖的价差、冲击成本、择时成本、机会成本,这些成本类似于可变的成本,我们可以通过人为的干预,或者交易的方法去进行管理或者是控制。
冲击成本:我们发出的委托或者是指令导致股票价格变动,向我们不利的方向变动,直观来说就是我们例如去购买某一只股票,比如我们买100万股,如果我们直接下一笔100万股的委托,那我们将对市场造成很大的冲击,像这样的我们交易导致成交价格变化所引起的成本,我们叫做冲击成本。
择时成本,我有可能进行拆单,我拆单的过程中,原来的1分钟变成一个小时,一方面有可能导致我的股票的价格可能会自行的有些变动,这些价格变动的过程中,股票价格有可能往我们不利的方向变动,那我的建仓成本就上升了,这就是择时成本。
机会成本,比如我买100万股,我只买了10万股,还有90万股么有成交,那么价格上涨的话,那么没有成交的90万股,那么就损失了上涨的机会,那么这就是机会成本。
算法的目标主要有:(1)交易成本最小化,如降低市场冲击成本;(2)成本均价贴近目标价格,如市场成交均价;(3)隐藏下单意图;(4)其他非技术原因,如节约人力成本、提高下单效率、保障指令准确实现等。
投资者之所以选择算法交易这一方式,也是基于其希望交易不会对市场产生太大冲击的目的,另一方面也希望交易不会因为时间的问题导致了价格变化成本增加。因此来说,算法交易研究的核心,是在平衡交易成本问题与交易风险问题的前提下,找出最为合适的方式来解决投资问题。
再谈谈算法,目前在市场上占据主要地位的是被动型算法交易,先介绍比较典型的TWAP和VWAP算法。
算法交易分为几类,一类是被动型的算法交易,比如说TWAP和VWAP。
1、TWAP算法:
TWAP通过算法的拆分,使我的建仓成本和某段区间内的时间加权平均价格相吻合。理解还是比较简单的。指定时间段,100万股,比如接下去3个小时购买,每间隔10分钟买一次,3个小时可以建仓18次,总体的数量,除以18次,可以得出每一次交易的数量1000000/18 = 55555。通过拆分,每间隔10分钟发一笔委托,不同分割节点均匀分拆,和市场实际的成交情况没关系的。建仓速率是匀速的。有些大的机构会加一些随机的因素在里面,均匀的拆分,很容易发现,这样很可能暴露意图,每次数量加一个随机数,这样能隐藏我们建仓的目的,多了一些不确定性,比如恒生PTrade每笔委托时间在某个范围内随机,以及每笔委托数量在某个范围内随机。两个局限性:市场成交量是波动变化的,均匀分配固定的数量是不够合理的,盘中冲击比较大。如果订单比较大,每次的数量数量还是比较大的。优点就是比较简单,操作上也比较简单,这种算法就适用于流动性比较好的或者说规模比较小的交易。为了改进局限性,市场是也退出了VWAP算法。
2,VWAP算法:
计算历史每一段时间平均历史成交量,比如说过去20天,每一分钟的分布会计算出来,这样我们可以得到过去20天,每分钟的成交量是多少。分布可以画出来。每一个时间段的成交量比例在这段时间内总成交量的占比,这个占比作为我这时点的成交量拆分的比例。每时刻发出的委托数量是基于历史的平均成交量,与当前市场价格、成交量无关。也有一些改进的方式,有一个改进的算法,根据市场最新价格和实时VWAp之间关系可以调整下单的数量,AIM算法,当市场最新价小于实时的VWAP的时候,他就放大交易量,最新价>实时VWAP,缩小。带反馈机制的VWAP,就是根据成交情况,比如市价单,就成交了,比如限价单,那就是对于一些没有成交的股票,那他可以将没有成交的股票分摊到后面的时间段。
VWAP算法的核心即时最小化与市场实时VWAP之间的差异。使得真实交易的执行价格尽可能的接近VWAP基准价格,从而较少市场冲击成本。因此VWAP策略一般不直接对交易的冲击成本建模,而是注重日内交易量分布的预测。
一般在机构版的软件上,都可以自动设置参数,由平台系统自动完成:输入目标代码,买卖方向,买卖数量,时间段和时间片,以及一些过程上对每笔数量上或者价格上的限制(防止极端情况):
目前大部分机构都会用到这些策略,也就是说如果机构主力不想让你看到他买卖股票的痕迹你是看不到的,会隐藏在散户的小单子中,能让你看到的,也就是有目的的,供各位投资者学习参考。
(声明: 本文一些内容介绍引用了 __LeeKuanYew 的博文内容。)
量化交易学徒









