基于技术指标组合的程序化交易策略
2019-09-10余冬悦
余冬悦
摘要:通过技术指标组合方法,使用布林通道、唐安奇通道和自适应均线构建程序化交易策略模型,并运用大连商品期货交易所的焦炭品种进行实证研究。实证结果显示:与单指标模型相比,技术指标组合模型具有更稳定的投资效果,通过进一步优化模型参数,可得到明显增强的价值回报。
关键词:程序化交易;技术指标组合;焦炭期货
中图分类号:F832.5;F224 文献标志码:A 文章编号:1008-4657(2019)06-0032-07
0 引言
近年来,金融科技成为金融转型与改革的重中之重。2019年9月9~10日证监会提出的深化资本市场改革12条中,就明确表示要推进科技与业务的深度融合。从信息系统到数据建模,计算机为金融领域带来了前、中、后台全方位的革新。在二级市场中,全自动的程序化交易已经逐步替代手动交易,程序化交易以其精准、大批量等特点备受个人和机构投资者青睐。
上世纪开始,程序化就已起步,发展至今有几十年的历史。程序化交易的概念起源于二十世纪七十年代的美国,纽约证券交易所最早将程序化交易应用于股票市场,随后,逐渐普及到期货、期权、外汇、黄金等金融二级市场,在各个金融领域获得认可[1]。进入20世纪,我国先后设立了郑州商品交易所、上海期货交易所、大连商品交易所、中国金融期货交易所。期货的交易品种也逐渐增多,如2019年就批准设立了14个期货品种。截止至2019年底,我国的期货市场基本形成场内场外共同发展的趋势,期货市场的功能逐步完善。
就现有的关于程序化交易的研究来看,主要集中在基础交易模型的构建、交易策略的选择以及交易指令的优化等方面。主流的程序化研究类型包括套利、算法以及高频交易[2]。例如,以海龟交易为基础,使用均线、通道线或者趋势线等进行基本面或技术面的策略构建[3]。在策略构建的基础上,林登鹏[4]、王博[5]通过GARCH-Var模型对市场风险进行提示。柯蒂斯费斯[6]、丁鹏[7]将资金管理的概念引入投资模型,一定程度上推进了程序化交易市场规范发展[8]。现阶段,DTS、TB、文华财经为主要策略平台,基于平台编写程序化交易代码,为目前程序化策略开发主要模式[9]。但这些研究,对于技术指标组合以及焦炭期货的涉及较少,且均采取了单一模型的实证研究,缺少对比论证。本文接下来会对焦炭期货,使用技术指标组合进行模拟回测,从而给出一套完整的交易策略。
1 程序化交易概述
1.1 我国程序化交易发展现状
我国的程序化交易与国外相比,起步较晚。我国使用全自动程序化的交易者占总投资人数不足5%,参考程序化交易信号的人数不足20%。与英仕曼、高瓴资本等全球大型对冲基金公司相比,我国使用程序化下达指令的数量还存在很明显的差距[10]。早在2011年,芝加哥商品期货交易所的标准普尔500指数期货合约,程序化交易成交量占比就达到47%。与国外成熟的市场相比,我国对程序化交易的应用主要集中在期货市场,在其他领域的应用相对局限。
我国程序化交易策略也经历了漫长的摸索。传统的开发策略是通过投资者的金融、计算机能力生成投资策略,此种投资方式需要大量的时间成本并且容易受到投资经验的影响[11]。现如今的投资策略主要以系统生成策略为主,个人投资经验为辅,再生成交易指令。通过机器选择交易品种,在机器内部实现策略优化和实盘回测。我国现如今的研究主要集中在技术层面,突破相对较少。
目前TB、文华财经、金字塔以及Kingtrade等平臺的发展,给予大机构投资者、中小机构以及个人投资者,更多的选择空间。其平台系统的完善也大大促进了程序化的发展进程,交易者可以很容易地在软件中编写程序,进行模拟回测,随时调整模型策略[12]。在交易策略成为研究重点的今天,平台提供了重要的技术支持。
在未来,我国程序化交易一定会在“算法交易”的道路上更加深入,将大数据、人工智能等新兴产业模式吸收合并,提高交易价值,减少相应的系统风险,形成符合新时代大环境的程序化交易体系。
1.2 程序化交易的优缺点
被称为“算法交易”的程序化交易,顾名思义是通过对计算机下达指令,寻找交易时机,完成自主交易。首先,程序化交易可以节约人力资本,计算机盯盘,并不需要过多的人为操作,减少了人为的情绪因素、偏好等对投资效率的影响。程序化交易能根据原先设定的触发条件,客观可靠地排除干扰,谨慎交易。其次,程序化交易可以大批量处理数据。在进行分散组合的投资时,可以在同一时间内针对不同端口远程下单。通过计算机运算,可以迅速找出价差或者套利空间,完成交易跟踪[13]。
程序化交易也有很多缺点,首先,全计算机语言交易,对策略的要求过高。虽然如今金融科技的发展要求操盘交易的人员需要具备计算机编程能力,但不同机构对从业人员要求不同,其编程能力也参差不齐。其次,程序化交易策略往往使用的是历史数据,对市场的反应具有一定的时滞性,行情难以准确把握。在实际交易中,并非所有的情况都可以转化成机器语言,也并非所有标的资产都能够准确量化。因此,程序化交易也容易错失信号时机,对收益率产生负影响[14]。
2 交易模型的建立与实证检验
使用期货的基本数据,经过一系列计算,产生可以衡量期货走势的相关指标,形成图形,对未来期货品种的走势产生预测。常用的技术指标模型主要可以分为趋势类型、摆动类型和量仓类型。主要的趋势类型指标有:移动平均线组合(MA)、布林通道线(BOLL)、日内均价线(SP)、多空指数(BBI);摆动类型的指标主要有:平均线差(DMA)、趋向指标(DMI)、威廉指标(LWR);量仓类型指标主要有:均量线(MV)、多空量比(DUALVOL)、价量趋势指数(PVT)等[15]。本文采用的是技术指标组合的策略模型,选择的指标为:布林通道、唐安奇通道和自适应均线。将此技术指标组合运用于大连期货交易所的焦炭品种,并对模拟出的结果进行分析和参数优化。
2.1 采用的技术指标
2.1.1 布林通道指标(BOLL)
BOLL指标是美国的约翰·布林在对股市的分析中结合统计学中的标准差原理设计出来的一种判断中长期走势的基本技术分析指标。布林通道模型认为,市场价格的波动会围绕某一特定值在一定的范围之内上下波动,因此存在“价格通道”[16]。在模型中存在三条线,上轨线(UP)、中轨线(MID)和下轨线(DOWN)。中轨线MA为N日的均值:
在布林指标模型下,价格主要在通道区间内上下波动,通道中上下轨道之间的距离主要受期货价格的影响,并且与价格波动成正比关系。当价格趋势线突破上轨线,说明产品价格存在被高估的风险,此时建议平仓或者减仓;当价格趋势线突破下轨线,说明产品目前处于低估状态,此时建议建仓或加仓。
2.1.2 唐安奇通道指标
唐安奇通道指标是由Donchian Channel发明的,由两条趋势线构成的通道。与布林通道指标有着相似的作用,主要反映品种的超买和超卖。上下轨线主要由周期内当日的最高价和最低价构成,周期一般取值20,即:
从公式可以看出,由于上下轨道均为最值,通道的宽窄反映产品的波动大小,产品的价格主要在上下轨道内波动。当价格超过上轨线,可采取买入做多交易;反之,当价格跌破下轨线时,主要采取做空交易。此指标在趋势行情中运用广泛,在与其他指标结合交易的过程中,有利于产生稳定的头寸。
2.1.3 自适应均线(AMA)
自适应均线(AMA)指标主要是由佩里·考夫曼提出的,反映产品价格涨跌变化率的一条趋势线。此趋势线可以敏感地根据价格趋势变化的快慢自行移动,当价格变化速度快时,此趋势线上升势头明显,当价格呈现水平缓慢增长时,此趋势线的移动速度也相对放缓。当自适应均线在周期内的增长率从正值变为负值时,即出现向下的拐头,则考虑卖出策略;当增长率由负值变为正值时,即出现向上的拐头,则考虑买入策略。在市场相对动荡的时候,运用自适应均线构建投资策略,可能出现交易频繁的问题,因此该指标更偏向资金量较少的投资。
2.2 建立交易模型
2.2.1 交易模型策略
本文将上述三种技术指标,即布林通道指标、唐奇安通道指标、自适应均线指标结合起来编写程序。程序会涉及5条线,当价格趋势线同时上穿过布林通道上轨和唐安奇通道上轨时,进行买开交易;当价格趋势线同时跌破布林通道下轨和唐安奇通道下轨的时候,进行卖平交易;当价格小于自适应平均线时,进行卖平交易;当价格大于自适应平均线时,进行平空交易[17]。
2.2.2 交易模型代码
结合每条曲线的基本交易规则,对技术指标组合的交易指令进行编写。本文选择使用文华财经平台,交易代码如下:
2.3 实证分析
2.3.1 模型建立与初始回测结果
基于上述代码,本文选择大连商品期货交易所的焦炭指数(8 360)作为回测品种。我国作为焦炭进出口以及生产的第一大国,焦炭所反映的市场供给与需求的信息相对全面。焦炭作为能源类期货品种的代表,上市时间相对较长,且自上市以来有着较好的流动性和历史成交活跃度。初步考察焦炭期货品种,具有很强的套期保值作用,存在很大的技术操作空间,因此本文选择焦炭期货品种作为标的资产[18]。
本文的实证分析将初始信号时间设置为2014年1月2日,结束时间设置为2019年7月30日。在模拟交易模型中,假定初始資金为50万元,交易保证金为8%,不考虑手续费和滑点。程序中初始的参数值如表1所示:
5年间模型整体收益率为33.36%,收益状况较好,夏普比率维持在3的水平,说明此模型的系统风险较小。最大权益回撤为60 050元,与初始资金相比,产品出现的最差情况约占比12%,在相对可接受的范围之内。模型得分为63分,为较满意的数值。
依据软件的模拟回测结果,五年间的信号指令共有55个,选取2018、2019年的为例,交易信号的相关信息如表3所示:
由上表可以清晰地看出2018、2019年的买卖交易信号。通过列举出的交易时间,可以看出,在交易最频繁的月份每月也仅有2笔交易。考察所有交易信号,本模型在一年之内平均只有10个信号,交易相对稳定,没有频繁买卖。初步认为此技术指标组合表现良好,具有一定的可行性。
2.3.2 模型的优化
对于模型的优化,主要从两个方面入手,首先对模型的参数进行优化,其次再对模型时间的选择进行优化。
从2014年1月1日到2019年7月30日的5年间,技术指标组合对大连焦炭期货品种的测试,都取得了显著的收益。但初始参数为随机设置,存在一定的优化空间。将盈利率最大化设为优化目标,使用软件的枚举功能,通过遗传算法,对参数的缺省值进行优化。在所得到的80种参数值的设定中,选择盈利呈现最大的一组参数,得到的优化后的N、N1、N2、N3的参数值分别为:[24,23,27,28]。再将此参数值带入程序,得到优化后的焦炭回测结果如表4所示:
对比优化前后,可以明显看出盈利率有所提高,并且最大权益回撤明显下降,优于初始投资。夏普比率为4.46,反映了风险水平有所下降。胜率为50%,虽然胜负的比率相同,但单次盈利获得的收益远大于亏损,技术组合模型的盈利效率相对较高。优化后的模型,在初始适应阶段收益率相对较低,在2016~2017年收益呈现翻倍增长,模型逐渐趋于稳定,至2019年收益率呈现围绕均值小幅波动的状态。新优化的模型,收益为22 900元。由此可确定将技术指标模型运用于焦炭期货品种,表现相对良好。
2014~2019年焦炭期货权益收益如图1所示,过考察收益曲线,可以得出,在2015~2017年间,权益变化幅度较快,因此我们调整信号的起始时间,以年为单位进行回测,则可以得出收益率表,如表5所示:
如果将交易信号按年划分,则最终权益均不如长期表现,收益率波动幅度相对较大,在-0.7%~23.21%之间。从模型的表现来看,若将模型时间设置为2015~2017,则收益为704 000元。由此看来,此模型,长期的收益表现要优于短期。我们可得出初步结论,对于技术指标组合模型,应当选择较长的交易周期,优化效果会更好。
2.3.3 技术指标对比
为了证明本文构建的指标组合模型具有更好的效果,本文选择了其他单一技术指标作:KD模型、瀑布线模型、BOLL模型作为对比。为了保障结果的相对性,将这些单技术指标同时应用于焦炭期货品种,并且选择相同的初始与结束时间,进行回测,得到的数据如表6所示:
由上表可以清晰看出,技术组合指标模型的收益率为722 900,胜率为50%,模型得分为68分,此三项指标均优于单指标模型。胜率与其他组合相比具有优势,有效盈利次数占比更重。收益率与风险率的比值,比单指标模型高出数倍,间接反映了组合指标的稳定性较好,风险较低,收益率相对较高,是能够长期运用的技术指标组合。
除上表外,作者还查看了技术指标组合与单指标的收益率曲线。在对比BOLL单指标模型和技术指标组合模型时发现,两个组合有着相似的走势,但技术指标组合的交易周期较长。由此说明了技术组合指标对交易信号和点位的把控更为完善,技术指标组合模型更具有稳定性和持久性。
3 结论
本文使用文华财经平台对大连商品期货交易所的焦炭合约进行模拟回测,并且针对参数值进行了优化,得到的结论如下:
选择2014年1月2日~2019年7月30日的交易数据,模拟回测结果有着较好的收益率、最大回撤比率,整体可获得44.58%的收益率。使用程序化交易模拟回测,在风险方面也有较好的控制。由此可得出结论:技术指标组合模型可以长期应用于焦炭期货。
本文将布林轨道、唐安奇轨道、自适应模型相结合构建技术指标组合,并基于文华财经平台给出相应交易程序。此程序应用于焦炭期货,模型整体的风险、收益、胜率得分等数据均优于单技术指标。单指标模型在对数据处理的时候,容易产生偏差,对于交易时机的选择也容易出现遗漏等情况。因此,在后期的程序化交易中,我们可以主要选择技术指标组合的方式进行交易测试。
4 结束语
程序化交易在我国虽然起步较晚,但随着计算机技术的普及以及金融市场的规范,其发展趋势不容小觑。随着私募产品的兴起以及量化市场的发展,程序化交易被更多的机构投资者选择。本文只针对焦炭期货进行了研究,程序化想要获利,需要全社会的努力。只有把握好大趋势,熟悉市场,在实战中改进,不断提高策略水平,才能不被竞争淘汰。在未来,各个金融终端的数据会更加透明,随着国内资本市场的完善,程序化交易所涉及的标的资产规模会逐渐增多,在金融领域的应用也会逐渐增加。
参考文献:
[1] 李爱泉.基于KDJ指标的期货程序化交易策略研究[J].广西质量监督导报,2019(4):79-81.
[2] 温在杭.基于趋势理论的程序化交易在期货市场的应用研究[D].杭州:浙江大学,2018.
[3] 郭超.改進的海龟交易策略及其实证分析[J].时代金融,2017(21):204.
[4] 林登鹏.股指期货程序化交易风险管理及策略研究[D].哈尔滨:哈尔滨工业大学,2014.
[5] 王博.程序化交易风险深度分析及政策建议[J].财经界,2019(7):119-121.
[6] 柯蒂斯·费斯.海龟交易法则[M].中信出版社,2007.
[7] 丁鹏.量化投资:策略与技术[M].电子工业出版社,2011.
[8] 张登明.技术指标投资策略的优化及其在量化交易中的应用[D].武汉:华中科技大学,2010.
[9] 刘艺.基于TB平台的期货程序化交易策略设计[D].沈阳:沈阳工业大学,2018.
[10] 周美行,刘泉,李志文,等.黑色系商品期货跨品种程序化交易套利——以螺纹钢期货和热卷期货为例[J].市场周刊,2019(3):119-120.
[11] 温在杭.基于趋势理论的程序化交易在期货市场的应用研究[D].杭州:浙江大学,2018.
[12] 刘珂,蒋哲远.期货程序化环境下模型描述语言解释器的研究与设计[J].计算机应用与软件,2018,35(8):107-112,147.
[13] 林杰,龚正.期货程序化交易策略模型比较研究——以棕榈油期货交易为例[J].中南财经政法大学学报,2018(4):128-134.
[14] 刘艺.基于TB平台的期货程序化交易策略设计[D].沈阳:沈阳工业大学,2018.
[15] 潘清斌.基于改进BOLL指标和资金管理结合的程序化交易策略研究[D].厦门:华侨大学,2018.
[16] 郭超.基于改进海龟交易策略的股指期货程序化交易研究[D].西安:西安财经学院,2017.
[17] 李元喜,冼振鹏,刘炜杰.螺纹钢期货程序化交易的收益和风险分析[J].韶关学院学报,2016,37(10):16-19.
[18] 叶星.股指期货交易中的量价分析[D].苏州:苏州大学,2013.
[责任编辑:郑笔耕]