程序化运用对价格波动特征的影响

阅读 :
欢迎访问 外 汇 邦 WWW.WaiHuiBang.com

一、背景

 

(一)程序化理念导入金融领域

 

程序化首先是一种思维理念,要求思维具有严整性(严密)、系统性(完整)。其实在军事、企业、学校、政府等各种组织活动中,早已引入程序化的概念。

 

最近30年来,各种金融投资品种爆发性增长,投资业务日益繁复,这种趋势的发展,使得金融投资领域引入程序化理念成为必要。

 

一直以来,专业投资者和专业投资机构是程序化的先锋:比如,基金公司通过团队分工协作,完成从构建股票池——组合选择——决定仓位——择机择时执行——仓位调整——更换组合(换股)的一系列工作。这些都是程序化的过程和成效。

 

(二)程序化渐成投资主流模式

 

电脑技术是金融领域程序化的主推手。随着电脑技术的飞速发展,程序化理念逐渐渗透到投资的各个环节。

 

现在,电脑已经让“投资科学化”变得更加容易。大众化通用软件平台的发展,使得统计学、物理学、数学界的人物纷纷介入,带来了投资者结构的革命性变化。一直有一种说法:“一流人才争诺奖,诺奖无望入金融”。原来对金融领域不屑一顾的科学家,现在已放下身段,纷纷投身程序化交易。

 

国际上,经过30年左右的实践,程序化已逐渐确立其无可比拟的优势,参与的人群迅速扩大,程序化已从小众投资模式,转变为主流投资模式。

 

(三)国内程序化进程急速推进

 

进入2010年,程序化浪潮终于席卷中国,成为“中国对冲元年”。因为:

 

1、出现适合程序化交易的产品

 

股指期货在这一年推出,此前,境内商品期货已经有20年左右的历史,但由于合约设计、交割方式、交易时间不足等一系列问题,不适合大规模程序化交易。股指期货的推出,使局面得到彻底改变,程序化终于迎来了快速发展的机遇。

 

2、程序化软件平台大量涌现

 

目前市面上主要出现了两大主流系列的平台:一是分析家—>飞狐—>金字塔演进系列;一是美国TS—>境内TB的演进系列。至于非主流系列,那更是五花八门,不计其数。另外,上期技术的ctp交易接口也起着重要的推动作用。

 

在当前股指期货里,程序化交易量占比很大。市场各方,从证监会、交易所到经纪商、投资者,都会不约而同提出一个问题:程序化的广泛运用,对市场到底会产生什么影响?

 

二、程序化运用对价格波动特征的影响

 

让我们先从理论上作一个分析:

 

我们知道,对价格行为产生的影响,无非是两个方向:一是增加波动性;二是减缓波动性。

 

后面我会提及,程序化其实还分成两个独立阶段:策略开发阶段和交易执行阶段。程序化在策略开发阶段,还没有投入交易,对市场是不产生任何影响的。要造成实际影响,只能是交易执行这个阶段。而且即使策略投入执行,小额交易的影响一般也可以忽略不计。

 

另外,策略开发后,如果用手工来执行,影响一般也不大。因为执行人会针对当时的市场情况作出微调。比如,1000手的单会逐步进场。

 

我所在的公司,一直以来,都是以手工方式执行策略信号,经过我们2年多来的实证统计,发现我们的交易行为,对市场基本没有产生冲击。

 

所以,可以得出的一个基本结论是:程序化导致价格波动加剧的,主要集中在电脑自动化执行这个环节。策略趋同和承载过量(单策略承载过量)这两种情况下特别容易发生。

 

下面先谈“波动压缩效应”,然后再谈“波动加剧效应”:

 

(一)对价格波动的压缩效应

 

主要通过以下五个方面实现:

 

1、改变交易行为模式

 

引入程序化以后,交易被定义为科学、统计学。这就大大扩展了投资者的范围,带来增量交易人群,导致市场交易者构成发生变化,从而也改变了市场参与者的行为模式。这一点我本人及周围的朋友比较明显。我们进入期市,完全是由于程序化,否则至今也不会介入。

 

2、增强交易活跃度

 

引入程序化以后,因为电脑程序明确了如果要持仓,应该是什么方向、多大头寸,这就去除了买卖的随意性,从根本上缓解了交易者的紧张情绪。另外,自动交易对风控能力、执行能力提供了强有力的保证,增强了交易者入场交易的信心。以至于像我自己,现在胆小到了没有程序,就不敢做单的地步。

 

3、推动活跃套利交易

 

电脑高速计算能力和交易执行能力,把交易者从繁复的重复劳动中解放出来,大大增加了可利用的套利交易机会,从而维持了期现、跨期、甚至跨境价格序列的稳定关系。

 

我们都知道,套利是操纵的克星。操纵是希望制造局部失衡牟利,套利是通过纠正这个局部失衡获利。

 

4、策略间互相对冲

 

不同投资者用各自的思路赚钱。策略在大类上有震荡和趋势之分。两个人的策略仓位方向可以相反,从而形成程序化交易者之间的对冲效果。

 

即使都是趋势型策略,不同人设计策略的思路,差异性很大,往往比经验型交易者之间的差异更大。由于电脑计算效率高,各种奇特思路都可以进入策略,它们之间常常会相互对冲。

 

同一个人,同一种思路,在不同的周期上分别设置参数,买卖点也会在不同的时间和价位产生,即在时点上产生错位,从而产生对冲效果(5分钟的多单和10分钟的空单形成对冲关系)。

 

顺便提一下,金字塔软件在设计中,允许对各交易策略的仓位进行合并执行,同一品种,多空对冲部分,无需交易,以节约交易成本。

 

5、减缓大单对价格的冲击

 

我们知道,一个策略,如果执行不当,策略效果会大打折扣。尤其是大额交易行为,需要额外支付巨额冲击成本。

 

让我们先来看看交易者成本的构成,成本主要有三块:佣金、滑差、冲击。少于挂单的买入,如1手,无需要支付冲击成本。数量明显超过挂单的大单,如需要即时成交,就需要高举高打。这就势必击穿挂单价。这个击穿程度,就是你给市场的冲击,也就是你需要支付的额外冲击成本。

 

所以,策略开发完成以后,需要对执行程序进行优化,尽量做到对市场的冲击,达到小于手工执行的程度。比如大型基金的大额买卖,通过机器程序进行自动交易,就可以减小对市场的压力。如程序可以设定:当天每分钟买10手或1万股,这样,就把压力平均分散到全天的交易中去了。

 

另外,通过策略开发中的信号类型多样化,也会降低大额交易的冲击。一般地,收盘式信号容易执行、冲击也小,也便于手工执行。触发式信号(碰到某个价位就立即启动交易的)需要即时成交,往往会对市场造成冲击。有经验的交易者往往两种信号类型并用。我们公司为便于手工执行,策略开发尽量用收盘式信号,少用触发式信号。

 

(二)对价格波动的加剧效应

 

产生波动加剧效应的,主要是在短时间里,集中大量同方向交易造成冲击所致。造成这种现象的原因,主要是程序化使用不当:

 

1、趋势型策略趋同

 

趋势型交易策略在市场上被广泛应用。众多程序化交易者,即使单个来看交易档量都很小,一旦策略类型一致(比如都是趋势策略),那么,在特定的情况下,可能会倾向于在同一时段,发出大量同一方向的交易指令。这时,价格会产生脉冲式的剧烈波动。脉冲式波动又进一步迫使同类策略加入交易行列,以致引发一系列连锁反应,激发起更大的脉冲式波动。这就相当于众多的交易者,使用统一的交易策略所产生的效应。这时,只有等这类策略全部完成交易,市场才会平静下来。

 

应对这种情况,开发者应从策略多样化方向努力:通过“三多”——多思路、多品种、多周期来回避这个风险。

 

2、策略承载过量

 

如果单一策略承载档量过大,自动交易程序又设计不当,在信号出现的一刹那,大单可能一下击穿很多价位,形成集中冲击,致使价格剧烈波动,也会造成前面讲的情景再现。

 

所以,执行环节必须考虑当前市场的容量问题。以股指为例,目前主力合约每秒的成交量在40手左右,那么,执行触发式信号最好就不超过20手/笔;至于收盘式策略信号呢,当然可以略微多一些。

 

3、执行策略的思路存在缺陷

 

①在策略编写中,经常会引用一些非价格数据。比如持仓、当前时间、可用资金等。一旦这些数据由于网络中断、软件失灵等原因扫描不到,可能会导致不断连续下单等现象的发生。

 

②如果策略思路过于精巧、编程人员又经验不足,策略代码就容易留下重大缺陷,而不易被事先发觉。这时,电脑自动执行交易过程中,也可能瞬间产生意外的大额交易报单。

 

4、策略编写平台存在缺陷

 

除了电脑同时运行其他程序,导致交易平台不工作、网络取不到策略运行的基础数据等故障外,程序化软件平台的设计缺陷,也会导致错误的巨量报单。比如,策略里写的是开1手,结果它给你开100手或连开100次等。没有经过大众长期检验的软件、刚刚升级的版本,出现这类情况的几率可能会大一点。

 

经过如上分析,我们可以确立这样的观念:

 

程序化是否会影响价格的波动特征,取决于交易者是否正确地使用了程序化。程序化本质上是帮助交易者降低冲击的工具,但这个工具不容易正确使用。使用不当,会加大对冲击成本的支出,伤害到交易者自身。

 

冲击就意味着你通过支付额外成本——冲击成本,制造了一个局部的市场失衡,提供了套利者和短线投机客一个纠偏获利的机会。也就是说,有人随时恭候你去冲击,他靠冲击生存于市场。

 

三、程序化的交易实践

 

下面简要分享一下我公司的程序化交易经验:

 

程序化比较彻底的,一般都是基于价格开发策略。基于价格特征的策略是如何开发的?社会上多数人都是沿着这样的路线进行开发的:

 

①观察价格行为——②概括走势模式特征——③数学化——④用策略平台编写——⑤回溯测试。我们把这种路线叫做“经验提炼模式”。

 

我们的开发路线有所不同,可以说是走学术路线的。属于“逻辑推断模式”:

 

①逻辑构想各种入场规则——②逻辑构想各种出场规则——③排列组合出入场规则——④回溯测试决定留存。

 

在这样一种开发路线的指引下,策略开发得以从狭窄的经验束缚中解放出来,变成了一种纯学术的排列组合游戏。一个没有交易经验的人也可以开发出很好的交易策略。

 

区别于程序化自动交易(用电脑自动执行程序化信号的交易行为)。我们是“电脑给信号、手工去执行”。即我们的投资模式是——程序化手工交易。

 

我们发行了4个股票信托基金。第一年全国700个左右,我们最差的排70名左右。今年参加580家的2年排名,最差的排名在30名左右。我们私下的结论是:程序化在股市跌势市场里,能体现很强的抗风险能力。

 

因为我们认为:谁冲击市场,谁就要支付冲击成本。所以,我们从以下四个方面来尽量消除冲击。

 

(一)执行多套策略

 

1、不同品种制定不同策略。

 

2、不同时间周期制定不同策略。如:日线、5分钟、15分钟、30分钟等周期。

 

3、同一策略思路添加不同过滤条件,使它产生差异。

 

这样一来,1个亿资金若分配给10个策略,单一策略只执行1千万资金。

 

(二)信号类型多样化

 

在策略开发时,我么们考虑了执行问题。针对执行的难点,我们重点研究与此密切相关的信号类型问题。决定尽量采用收盘式信号。盘中触发式信号则尽量少用——尽量限制在止损的范围里使用。

 

(三)分散交易品种

 

我们不会有所谓的重仓股,设定单一品种的持仓不得超过资产的1%。因为一旦重仓介入某个个股,意味着风险迅速积聚。冲击成本大幅上升不说,无法及时止损,造成意外风险更是可怕。

 

所以,我们其实是采取指数化交易。一旦信号出现,交易员就根据资金的大小,选择大小不同的篮子进行交易。比如:1千万/500个股=2万/个。基本上就不需要支付额外的冲击成本。

 

(四)交易时间错位

 

由于有4个基金,即使每个1千万,同时执行也会有冲击。所以,我们专门制定一系列执行程序(非电脑程序),允许在规定的时间、价格范围内,各基金自主择机执行,以免在时点上过于集中。

 

在我们的理解中,手工执行优于电脑自动执行。因为有些经验编入程序很困难,但很管用。比如股市里选择在跌势买进,就可以基本避免冲击成本。

 

近3年的实践证明,手工能战胜电脑自动交易。当然这是股票领域,而且我们的策略信号以收盘式为主。

 

通过上述四个方面的努力,加上我们独特的投资管理流程和投资组织流程,我们公司开展的程序化交易,对价格的影响,比起经验型交易者对价格的影响,要小很多。结论是:程序化正确应用可以减缓对价格的冲击。当然,正如前面所说的,有人欢迎你去冲击。毕竟你去冲击,就是你去给他们送钱。

 

四、程序化的层次和两个独立阶段

 

(一)程序化的标准

 

我个人认为程序化交易应有两个特征:策略具备系统性、客观性;交易者严格执行策略信号。

 

策略思路的系统化:规则之间的逻辑关系清晰完整,进出场信号和仓位精确对应。信号体系构成完整的攻防体系:即交易回路闭合。否则就不能体现策略的严整性。

 

当然,仅仅做到这一点还不够:测量交易者血压也可以构造出系统化的交易信号。再比如5人表决机制,每天通过表决形成决策。这程序可能是严密的,但都没有客观性:同样的价格情形,不同时间,结论不同。所以,还需进一步的条件:

 

策略信号的客观化:规则判定的对象是与交易者无关的客观指标;规则的数量、参数事先确定(指标量化为基础)。客观化可以排除人为判断的模糊性,不再允许交易者临场决断。所以:

 

并不是使用策略的人都可称程序化的:如,策略给出信号,交易者依据个人感觉选择性执行。就算是程序化交易,但至少程序化程度不高。

 

电脑化也不一定就是完全程序化。如果只是用它来完成机械下单,基本上与通常意义的程序化就没有关系。电脑每分钟自动买入1万股,只能叫经验型自动交易。

 

如果规则完全明确无歧义,即使不用电脑,也可以实现程序化交易——也就是说电脑并非程序化必备。

 

电脑只是帮助实现交易程序化的最佳工具:帮助整理投资思路、回溯历史经验规则的有效性、把有效规则纳入交易策略、进行交易自动化提升交易能力等。

 

(二)程序化的三个层次

 

1、每次交易都通过严格的流程

 

这是基础级的程序化,前面举例的基金公司,在投资过程中,基本上是有一整套流程体系的:研究员产生股票池——基金经理选股定仓位——投决委表决——交易室按要求执行(甚至动用程序自动执行)。

 

我们不要小看了这个基础级的程序化,它是基金业绩不致太差的基本保证。很多人在公募基金时,往往以为是这套程序的约束,影响了他的成绩。基于这样的思路出来做私募,结果一塌糊涂。这个现象不是少数,世界各国都是如此。主要原因就是:没有意识到程序化是金融投资领域长期稳定制胜的法宝。

 

2、每个交易信号都通过预设的条件自动判定

 

这个阶段电脑发挥基础性辅助作用。策略人员可以把价格以外的基本面、政策面进行量化引入选股、择时。但我们知道,基本面信息有个质量问题。巴菲特对公司的评估指标和你的评估指标是不一致的。不同的会计对同一公司的账目处理本身就天差地别。与通过交易产生的价格信息相比,客观性不可同日而语。

 

3、每个交易信号都只对价量行为进行判定

 

这个阶段,价量之外的有歧义的信息不再引入策略,只分析具有客观性的通过交易产生的数据。这就是通常人所谓的“程序化”概念。我认为把它叫做“机械化”似乎更准确。

 

境外有人甚至提出极端的进一步标准:非机械化执行(电脑自动执行)就不算程序化交易。我个人的标准低一点,严格执行策略信号的手工交易也算。当然这属于见仁见智的范畴。

 

(三)程序化的两个独立阶段

 

1、策略程序化

 

指的是策略开发阶段。主要解决策略信号的产生问题。

 

2、执行程序化

 

指的是策略应用阶段。主要解决策略信号的执行问题。信号发出以后,用何种方式执行:市价还是限价、多长时间内、每次档量大小等。这也可以用程序化策略来解决,以使冲击成本最小化。

 

人物介绍

 

李琴忠 /上海升阳资产管理有限公司副总裁

 

1993年开始涉足股市。1997参与创办早期的私募公司。

 

2000年进入海通证券,从事证券自营、策略分析等工作。期间开始专注股市预测科学化问题(2005年6月3号发表《世纪牛市已经来临》,引起强烈震撼)。

 

因为程序化研究的需要,直接推动了飞狐、金字塔等分析软件的发展。2006年解决了股市程序化投资的一系列相关难题——策略标的和投资标的等。

 

2009年任上海升阳资产管理有限公司副总裁,主管公司投资工作。开始将多年来形成的程序化投资思路付诸实践,主导设计了公司的投资流程和组织流程。

 

2010年下半年,公司发行了3期阳光信托,开始了阳光信托程序化交易的探索之旅。一个完整年度以后,其中最好的信托进入前20名,3期信托全部获得 2011年度五星评级(国金证券、好买基金、融智评级、上证财富、展恒理财等多家专业机构)。

欢迎访问 外 汇 邦 WWW.WaiHuiBang.com
本文标题:程序化运用对价格波动特征的影响 - MT4平台MQL4编程学习
本文地址:http://www.ea666.cn/fxschool/autotrading/mql4/40734.html

相关文章

  • MT4编程初级手册(5):自定义数组

    一、数组是一组同类型变量的集合,可以以一个名称同时存储多个数值,由索引来调用,在实现我们EA的算法时是一个非常重要的工具。 例:int arrai[5]={5,4,3,2,1}; 这是一个数组名为arrai、包含了5个元素的整数型数组(即数...

    MQL4编程学习
  • 替代MetaEditor的第三方编辑器解决方案
    替代MetaEditor的第三方编辑器解决方案

    mt4升级后,采用了mt5的编辑器,当你的中文注释越来越多的时候,输入会越来越慢,老半天还不显示字符。鉴于此,我们很有必要选用第三方编辑器来解决问题了。用第三方编辑器我们必须解决三个问题,一是编译,二是关键字输入提示,...

    MQL4编程学习
  • 外汇EA(自动交易系统)是什么?

    随着国内金融市场的进一步开放和扩大,人们花在投资上的时间和精力,会越来越多,而投资就必然有风险。单纯的人工看盘分析行情进行交易,显然愈来愈力不从心,因为投资者所面对的是每时每刻都在变化增长的海量数据。不可想...

    MQL4编程学习
  • 外汇EA智能交易系统的分类

    由于这几年EA技术有了极大发展,各种新型EA不断涌现,我仅对其进行大概的分类,不够完善和严谨,敬请原谅。1.趋势类 最常见也是最成熟的类型,趋势类。最为主流的EA类型,一般根据各种指标和策略来进行出入场操作。2.网格类...

    MQL4编程学习
  • MT4 EA程序真的能稳定盈利吗

    作为资深的外汇EA工程师,我常常会遇到以下的问题: 1、你有稳定的EA吗?2、你的EA平均每月盈利多少?3、你的EA最大资金回撤率是多少?4、原来你的策略就是翻倍加仓,赌性太强。…… 说句毫不客气的话,提这些问...

    MQL4编程学习
你可能感兴趣