时间:2024-05-18
潘磊 王琦 王丹华 范大娟
摘 要:近年来中国的金融市场发展迅速,借助国外市场的量化投资发展经验,我国的量化投资基金也大量涌现,与其他一致但其中大部分主要投资于期货市场,主要由于传统的量化交易策略大多不适应国内股票市场的特点。本文基于量化交易中的Dual-Thrust策略,实现了一个做多版本的改进策略,并基于中国股票市场历史数据进行了回测验证,实验结果表明该择时策略在中国A股交易中具有一定的盈利能力,对后续其他量化交易策略的开发具有一定的指导作用。
关键词:量化交易 量化投资 趋势跟踪 股票策略 择时交易
中图分类号:F832.51 文献标识码:A 文章编号:1672-3791(2018)09(c)-0017-06
Abstract:In recent years, China's financial market has developed rapidly. With the experience of quantitative investment development in foreign markets, China's quantitative investment funds have also emerged in large numbers, but most of them mainly invest in the futures market, mainly because traditional quantitative trading strategies are mostly unsuitable for the domestic stock market. Based on the Dual-Thrust strategy in quantitative trading, this paper implements an improved strategy and performs back-testing based on historical data of China's stock market. Experiment results show that this strategy has certain profit in China A-share trading, and there are also guidance for the development of other quantitative trading research.
Key Words:Quantitative trading; Quantitative investment; Trend tracking; Stock strategy; Market-timing
随着中国金融市场的快速发展,量化交易与量化投资,逐渐发展起来,出现了许多以量化投资为主的投资基金,甚至是全自动无人值守的机器交易型量化基金。由于主观交易通常是交易者通过自己的经验来进行交易决策,决定何时买卖以及购买什么品种的投资标的。而量化交易则是通过对交易的理解,制定机械化的买卖规则,在条件触发后无条件的执行交易信号。因此量化交易可以解决主观交易者由于自身心理、情绪因素等缺陷造成的错误交易。
但中国量化交易起步较晚,且中国股票市场与外国市场相比较,具有自身的特点,一些国外成熟的量化交易模型和量化投资理念并不能直接适用于中国股票市场。
齐岳等研究者[1]采用深度强化学习中的深度确定性策略梯度,将深度强化学习技术应用于投资组合管理。孙瑞奇采用神经网络、RNN和LSTM预测标普500指数的收盘价[2]。蒋慧敏提出了一种基于Zigzag的K线趋势中的高点、低点和拐点的识别算法,来构造期货程序化交易系统中K线特征趋势算法[3]。王淑燕等研究者使用基于八因子选股模型,利用随机森林算法实现了对股票涨跌的预测[4]。王宣承利用LASSO方法选出有效的技术指标作为输入变量,然后通过神经网络方法来搜索最优的交易规则[5]。另外,也有学者利用遗传算法等来优化SVM并应用于提高交易信号的准确性上[6]。
Dual-Thrust(以下简称DT)是由Michael Chalek在20世纪80年代开发,曾被FutureTrust杂志评为最赚钱的策略之一。DT系统策略思路简明,适用于股票、期货、外汇等多类型市场,如果配合上良好的资金管理和策略择时,可以为投资者带来长期稳定的收益。DT是典型的区间突破型策略,以当日开盘价加减一定比例的N周期内的价格振幅(Range),确定上下轨。DT对于多头和空头的触发条件,考虑了非对称的幅度,做多和做空参考的Range可以选择不同的周期数,也可以通过参数来确定。
DT原主要应用在可以双向多空交易的市场中,但笔者认为在股票交易中亦有一定的参考作用。本文实现了原版DT策略并在中国A股市场中进行了实证,实践证明了该交易系统在A股的有效性,同时也证明了中国股票市场当前还不是有效市场,而是存在一种局部无效性的一个弱有效市场。
1 策略原理
1.1 开盘区间突破策略
DT系统是根据开盘区间突破策略改进而来的,而后者的主要实现原理如下。
(1)在前一天的收盘时,计算两个值,分别是:最高价-收盘价和收盘价-最低价。然后取这两个值较大的那个,乘以参数k。把结果称为触发值。
(2)在当天开盘时,记录当时的开盘价,然后在当日实时价格超过设定的阈值(开盘+触发值)时马上买入,或者当实时价格低于阈值(開盘-触发值)时马上卖空。
(3)不设定止损,因此这个系统是反转系统,即如果在价格超过阈值时有一手空头仓位,则买入两手。同理,如果在价格低于阈值时手上有一手多单,则卖出两手。
1.2 DT策略
DT策略在开盘区间突破策略上进行了相关改进,如图1所示。
(1)在区间阈值(Range)的设置上,引入前N日的4个价位,分别为N日最高价中的最高价、N日收盘价中的最高价、N日收盘价中的最低价、N日最低价中的最低价,使得一定时期内的范围相对稳定,可以适用于日间的趋势跟踪。
(2)DT策略对于多头和空头的触发条件,考虑了非对称的幅度,做多和做空参考的Range可以选择不同的周期数,同时可以通过参数Ks和Kx来确定。当Ks
因此,通常在使用该策略时,一方面可以参考历史数据进行参数调优,另一方面,则可以根据投资者主观对后势的判断,或从结合其他的技术分析指标或数据模型,阶段性地动态调整参数的值。
由于DT策略原是用于多空交易,适合既可以做多又可以做空的市场,如期货、外汇等,但在中国A股目前做空手段有限的情况下,不太适用,因此我们将其中的做空信号改为空仓信号,当策略满足卖出条件后就一直空仓,直到下次再满足开仓条件,修改后的策略伪代码描述如表1所示。
其中high[1]、low[1]分別表示当前周期的前一根K线的最高价和最低价,HighD(1)表示前一天的最高价,CloseD(1)表示前一天的收盘价,LowD(1)表示前一天的最低价,OpenD(0)表示当天的开盘价。Highest(x,N)和Lowest(x,N)分别是求N天最大值和最小值的函数,Buy和Sell分别是买入和卖出函数,MarketPosition表示当前股票仓位,0表示空仓,1表示持仓。
2 实验
2.1 DT策略在通达信中的实现
笔者将原版的Dual Thrust策略在通达信(一款股票行情与分析软件)中进行的实现,实现的代码如图2所示
如图3所示,DT策略在通达信中的实现是以技术指标+交易系统形式完成,在技术指标中通过设置买卖点信号以及买卖点之间的连线,我们可以很清楚地看到,实线线段表示买入持股过程,而虚线线段则是卖出空仓的过程。
2.2 不同周期的应用
DT策略可以应用在1min、5min、15min、60min等多个K线周期上,并且根据不同的交易周期可以结合不同的交易策略行程稳定的交易系统。图4到图7为DT策略在通达信中不同K线周期的买卖信号情况,对于同一只股票,在不同周期加载改策略,实际的交易信号的时间点是不同的,因此交易效果也不尽相同。
2.3 回测分析
通过程序化交易回测,可以将DT策略的历史交易情况进行回测分析,以验证策略在实际股票交易中的表现情况。下面以5minK线周期中的DT策略为例,选取了2006年8月至2015年7月间的股票数据作为样本,数据包含5min周期的开盘价、收盘价、最高价、最低价和成交量的历史数据,分别对几只股票进行了历史回测,评估回测性能的指标的含义如表2所示,DT策略参数使用默认值(K1=0.5,K2=0.5,M=1,N=1),交易手续费设置为5%,回测结果如表3所示。
由实验结果可知,一个可以稳定盈利的趋势型股票交易策略,月胜率不一定要很高,甚至可以不超过50%,但是盈亏比一定要尽量高。即盈利的时候尽量盈利的多,而亏损的时候尽量亏损的少,当符合这样统计规律的情况下,趋势策略是可以长期稳定从股市中盈利的,当然也要有足够的交易次数作为保证,并且回测中所用的股票数据的跨度都在3年以上,最长的达到10年,进而证明DT策略在A股的股票交易中具有一定的稳定盈利性能,但同时也值得注意的是,该策略的最大回撤也比较大,因而风险较大,在实际使用当中可以结合其他信息进行过滤,以减小交易时的风险。
3 结语
本文将Dual-Thrust策略进行修改,实现了一个只做多版本的Dual-Thrust策略,并在中国A股10年的历史数据中进行了回测验证,实验结果证明了该策略在A股量化交易中的有效性,有一定的盈利能力,但回撤稍大,未来可结合其他的改进和过滤策略进一步改进。
参考文献
[1] 齐岳,黄硕华.基于深度强化学习DDPG算法的投资组合管理[J].计算机与现代化,2018(5):93-99.
[2] 孙瑞奇.基于LSTM神经网络的美股股指价格趋势预测模型的研究[D].首都经济贸易大学,2016.
[3] 蒋慧敏.基于Zigzag的K线趋势拐点识别算法设计与实现[J].计算技术与自动化,2017,36(4):68-71.
[4] 王淑燕,曹正凤,陈铭芷.随机森林在量化选股中的应用研究[J].运筹与管理,2016,25(3):163-168,177.
[5] 王宣承.基于LASSO和神经网络的量化交易智能系统构建——以沪深300股指期货为例[J].投资研究,2014,33(9):23-39.
[6] 黄宏运,吴礼斌,李诗争.GA优化的SVM在量化择时中的应用[J].南京师范大学学报:工程技术版,2017,17(1):72-79.
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!