APP下载

大宗农产品差价合约的程序化震荡交易系统研究

2017-05-22田成志胡元瑞

商场现代化 2017年8期

田成志+胡元瑞

摘 要:程序化交易是证券市场上的热门话题,但公开文献对此研究较少,国内研究集中于使用传统技术分析指标构建交易系统。本文尝试另辟蹊径利用震荡交易行情在狭窄区间内运动的本质,分仓交易获取整体利润又以技术指标为辅助提高交易成功率,以编写一个程序化震荡交易系统。程序采用MetaQuotes Language 4 (MQL4) 语言编写,交易测试平台为外盘交易常使用的MT4平台,交易品种为玉米(CORNUSD)现货差价合约(CFD)。使用历史数据对交易程序测试,结果显示该交易程序具有稳定的盈利能力。

关键词:农产品差价合约;程序化交易;MQL4

一、研究背景

证券交易交易实质上是人与人的博弈,所谓“国之利器,不可示人”,在充满资金博弈和利益角逐的证券市场就更是如此,少有人愿意将愿意将自己的交易策略公之于众,实践也告诉我们历史上那些曾经能够获取超额利润的交易策略在为公众所知之后都逐渐失效(雷宗光,2007),因而学术界对程序化交易研究的公开资料稀少。

国内关于程序化交易的研究主要有:将国外成熟的交易系统用于中国市场尤其是A股和沪深300指数的测试,如将20世纪90年代在美国市场炙手可热的海龟交易系统用于沪深300指数的测试(龙成,2015);使用经典技术分析指标构建程序化交易系统,如王垚鑫(2013)用威廉指标构建用于沪深300股指期货的交易程序、李成林(2013)将移动平均线(MA)用于上证50ETF的研究。

本文的尝试不使用传统技术指标作为程序化交易系统的根本策略,转而思考震荡行情的本质--在一定区间内的往复运动,利用这种往复运动构建一种简单明了的交易规则在整个震荡区间内获取平均利润,降低对技术指标所提供的精确入场时机的依赖,仅仅使用技术指标作为是否入场的信号过滤器。

二、交易工具

差价合约(Contracts for Difference,CFD),根据路透金融词典的定义是:不涉及实物商品或证券的交换,仅结算价和合约价的差额作现金结算的交易方式(黄健洋,2013)。

差价合约的价格变化与对应标的物同步,持有差价合约的交易者并不拥有真实的商品或证券,买入或者卖出以外汇、股票、大宗商品为标的物的差价合约因此不涉及所有权的转移,交易的盈亏全部以现金结算,不能进行实物交割。也就是说差价合约能让投资者可以在不持有真实资产的情况下,获得对应标的物的投资收益。

外汇差价合约的特点有:

1.高杠杆。外汇差价合约由做市商或经纪商提供,这些交易商允许投资者使用保证金进行交易。在纯经纪商模式下,经纪商为投资者提供融资,比如经纪商允许投资者使用2%保证金进行交易,剩余的98%资金由经纪商提供并收取融资利息;在做市商模式下,做市商并不把全部合约投放到真实市场中,而是通过不同交易者的交易进行内部对冲,不能对冲的部分再投放市场或者由做市商自己作为交易对手方,做市商衡量交易风险后提一个不同于真实市场价格的报价给投资者,差价部分即为做市商的收益。做市商模式中没有实际的融资发生,不收取融资利息。当前差价合约多数采取做市商模式,因而做市商能给投资者提供极高的杠杆,美国全国期货协会(NFA)规定的外汇CFD最高杠杆倍数为50倍,英国金融服务管理局(FSA)允许的最高杠杆为400倍,在新西兰、俄罗斯、塞浦路斯等国家的监管则更为宽松,在当地注册的交易商能提供1000倍甚至2000倍的杠杆(李乐,2009)。

2.无到期日。差价合约不同于期权期货,有固定的交割日,在交割日到来之前价值会不断降低或者价格波动不断趋于现货价格。差价合约没有到期日,能够无限期持有,因而也被成为现货期货。投资者能够按照自己的投资目标自由安排持仓时间,只要保证金充足就能继续持有合约直到自愿离场。没有确定的到期日就给交易者提供长期持仓的自由,对比期权期货等衍生品合约具有显著的优势(姜涛,2009)。

表1信息为某交易商提供的交易条件。

玉米差价合约交易单位为手,1手合约的价值为10万美元,报价方式是4位数报价法,如报价3.675的含义是3.675美元每蒲式耳,报价的第四位数为1点(房瑞景,2007)。通常交易商接受最小交易单位为0.01手的交易单。点差是交易商的利润来源,交易商提供的CORNUSD点差为1点,如果投资者需要买入该合约,市场报价为3.675则交易商提供给投资者的买入价格是3.676。

玉米CFD保证金占用率极低带来了很高的资金利用率;合约无到期日,可以在整个震荡期内实施策略,因此本文选用玉米CFD作为交易测试品种。

三、程序化交易模型和交易程序

1.程序化交易平台

Meta Trader 4(MT4)是由MetaQuotes Software公司在2005年推出的行情接收软件,是目前使用最广泛的外盘交易软件(戴夫,2013)。外汇零售市场90%的交易都是通过MT4完成,它流行的原因有界面简洁却功能强大,能方便的查看各个时间周期的行情,绘制各种技术指标、使用各种技术分析工具,同时整合行情分析和交易功能做到所见即所得,投资者观察到行情发动可以立即在行情界面下單,交易数据显示在行情界面;更重要的MT4软件内嵌了MQL4语言,用户可以使用该语言编写自动化交易程序、脚本、指标,在MT4内完成测试、修改、挂机执行(Blackledge J,2011)。MQL4语言是一种面向过程的语言,它的高效执行和编写的自由度都逼近专业的计算机编程语言,可以认为是简化版的C语言(Eka H,2013)。

本文使用MT4作为交易测试平台,MQL4语言作为自动化交易程序编写所用的计算机语言。

2.程序化交易策略

分仓策略是一种忽略摆动指数提供的入场时机和精确入场点位,而利用震荡行情总是在狭小区间内来回波动的特性,通过分仓摊平成本,最求整体判断正确获取平均利润的震荡交易方式(John J.Murphy,1994)。

(1)依据其走势的复杂程度将整个震荡走势划为等分,震荡走势越简单划分的份数就越少,若价格在震荡区间内是最简单的直上直下就不需要划分(肖斌卿,2010)。

(2)综合判断趋势和政治经济环境确定价格走势的趋向性,在震荡区间内仅进行多头交易或空头交易。

(3)在等分的区间上部、中部、下部分别的下半部分开立多头头寸,固定止盈为略小于三分之一震荡区间,若出现亏损则在下一个交易区间执行补仓操作,头寸分布比例为1:2:4或者1:1.5:2.25。最多允许同时持有三个头寸。

(4)当价格突破震荡区间,结束震荡交易策略,了结所有头寸。

3.交易程序属性

4.交易程序思想

该程序的基本交易方法是在整个震荡区间内等距加倍分布头寸,以亏损加仓方式摊平成本来获得整体利润(崔健,2015)。

(1)进场策略

使用亏损加仓的分仓交易策略优点是能够摊平成本使净值表现稳定,但在极端情况下净值曲线会出现巨大回测。因此在分仓交易中第一笔交易的成功率很重要,第一笔交易成功就不需要亏损加仓,也不会出现加仓导致的风险暴露成倍放大。使用摆动指数的震荡交易策略优点是成功率高,所以该交易程序使用了MACD指标作为过滤器,只有在MACD发出买入或卖出信号后程序才会开仓进行第一笔交易以提高止盈成功率(Victor.sperandeo,1999)。

后续加仓只有在达到预设的加仓距离后才能开立头寸,交易方向与第一笔交易相同。

(2)出场策略

该程序出场策略分为两个,被动离场策略和主动离场策略。

被动离场策略,程序提供了应对极端状况的保护性止损,由程序使用者自行设定。一般设置在震荡区间外一定距离,当价格发生不利变化突破震荡区间,程序在止损位平仓所有头寸(科林,2010)。

(3)主动离场策略

①固定点数止盈。固定止盈点数为震荡区间的某个比例,分仓交易中一组交易单的最新一笔达到止盈点数,对该组交易内所有头寸进行平仓锁定利润,降低风险暴露。等待下一次MACD发出入场指令,开始下一次分仓交易(罗威,2016)。

②固定点数追踪止盈。程序提供追踪止盈功能,当利润大于(固定止盈点数+追踪止盈点数)时进行追踪止盈,当利润回测点数>=追踪止盈点数时主动平仓保护利润(李晓枫,2012)。

③主观监控的结束策略使用。震荡走势不可能永远持续,为了避免震荡走势结束时的资金净值曲线剧烈波动,交易程序使用者应该根据预估的震荡持续时间、综合判断国际经济形势、该国经济的繁荣与萧条、货币当局可以采取的措施,价格图形发出的信号以主动结束震荡策略的使用,转而积极准备趋势交易。一个值得关注的技术指标是波动率,震荡走势实际是波动率的下降,统计数据证明,趋势行情开始前的价格波动率往往是最低点,所以当价格波动率降到极低就应该高度警惕(郑振龙,2010)。

四、交易程序测试

选取CORNUSD,2015年9月14日-2016年4月20日的走势作交易测试。作斐波那契数列,在回调50%的价位开始震荡交易。震荡区间为3.431-3.897,振幅大概为460点。该轮上涨后期涨势比较纠结,由此判断震荡走势趋于复杂,将震荡区间5等分,固定止盈点数和开仓间隔略小于1/5区间为80点。仅交易多头。

1.整体表现

从表3的各项指标可以看出,分仓策略震荡机交易系统的各项数据都达到了优秀水平。

模型最大的优点是盈亏比,通常程序化震荡交易系统的盈亏比能达到2就很不错了,盈亏比为3就是很优秀的水平,分仓震荡交易系统的盈亏比达到了5.59,甚至超越了表现优秀的趋势交易系统所能实现的盈亏比,而且这些趋势交易系统的高盈亏比往往是建立在低胜率基础上的(杨宝明,1992)。

其次使用摆动指数MACD作为信号过滤器,交易程序胜率为53.43%,达到了程序化震荡交易系统的一般水平。

2.图表分析

资金净值曲线

分仓策略震荡交易程序的资金净值曲线表现稳健,几乎以线性增长,这符合策略设计的原理和构想。模型设计是以小止盈逐笔兑现利润,所以出现资金曲线的稳定增长、净值和余额回撤都极小是在意料之中。该类资金曲线符合投资者要求看到净值时刻上升并且长期稳定上升没有重大回撤的心理,易于使用者对策略的坚持。

该段震荡走势最终是以向上突破结束的,这符合我们对震荡走势趋向性的判断,因此净值曲线表现良好。但如果出现判断错误,震荡走势最终以反向突破的情况,在结束策略执行的阶段会出现明显的净值回撤。

3.交易盈亏分布图

盈亏分布图中,由于采用固定点数止盈,盈利主要分布在62、125、252三个区域。在62附近止盈代表着入场即成功实现盈利目标,在125附近止盈的交易是在亏损状态下加仓一次的交易,而盈利在252附近的交易是在亏损状态下两次加仓的交易。总体来看盈利交易共31笔,加仓2次的交易8笔,占25.8%,多数交易可以直接止盈或者仅加仓一次,这说明策略整体风险暴露处于较低水平,能够有效降低极端情况下出现巨额亏损的概率。

五、总结

经历史行情数据回测,使用分仓策略的交易程序能够在震荡行情下获得稳定的盈利表现,但是获得这种稳定盈利的概率与对震荡行情的正确判断高度相关。这种对震荡行情、趋势行情的准确判断和预测通过计算机程序是难以完成的,因为持续时间在数月的震荡行情都有其经济根源,这种震荡行情的打破也往往与重大的经济事件相关,所以本文在策略的设计中将这项任务交给人来完成。交易的核心是人,使用该交易程序的投资者需要时刻关注市场环境的发展变化,交易的成功源自于个体对市场的正确判断,该交易程序不能在判断错误后帮助投资者一次又一次侥幸的逃过亏损。

参考文献:

[1]雷宗光.证券交易策略博弈研究[D].武汉理工大学,2007.

[2]龙成.基于海龟法则的量化模型研究[D].广西大学,2015.

[3]王垚鑫.沪深300股指期货程序化交易模型设计[D].西南财经大学,2013.

[4]李成林.移动平均线交易策略有效性比较研究[D].上海交通大學,2013.

[5]黄健洋.我国引入差价合约的可行性研究[D].河北大学,2013.

[6]李乐.介绍一种新型的金融衍生工具--差价合约[J].经济研究参考,2009(28):37-39.

[7]姜涛,任荣明.差价合约交易研究[J].价格理论与实践,2009(6):57-58.

[8]房瑞景,崔振东,周腰华,等.中美玉米期货市场价格发现功能的实证研究[J].价格月刊,2007(12):16-20.

[9]戴夫,C.MT4自动交易[M].中国经济出版社,2013.

[10]Blackledge J, Murphy K. Forex Trading using MetaTrader 4 with the Fractal Market Hypothesis[J]. Dublin Institute of Technology, 2011:1-9.