分享

机器学习在证券演算法交易中的应用 — 技术分析篇

 黑马_御风 2017-08-05

技术分析是基于价格而做出的分析,其内在原理是市场买卖双方力量及历史会重复的基础下做出的概率性分析。


近年来,基于概率论、统计学、逼近论等学科发展起来的机器学习(machine learning)体现了其在资料分析上的便利性与有效性,其研究动机是为了让电脑系统具有人的学习能力以便实现人工智慧,目前广泛应用于各个领域。


本文便是将机器学习应用在证券技术分析领域,通过机器学习演算法让电脑学习到证券历史价格资料里的规律,进而预测出交易讯号,实现自动化的演算法交易。


与计量分析相比,机器学习不需要事先假定具体的分析模型,机器学习模型会根据给出的训练资料自我调整的调整模型参数,使得训练出的参数是对训练资料内含规律的最佳描述。


其优点是摆脱了分析人员对分析模型认识的局限性(如不同的计量回归分析模型的选择);其缺点则是无法解释输入变数对输出变数的影响。


但是在股票分析预测中,特别是股票交易中,我们更关注的是预测的准确性。这也正是本文将机器学习方法应用在演算法交易中的原因。

使用监督式机器学习的架构来分析股票资料,主要考虑的有三个方面问题,一是输入资料选择与处理,二是输出资料(目标值)的选择与处理,第三则是模型的选择。


1

机器学习的输入资料

本文主要考虑了技术分析所涉及到的两个重要分支,一是技术指标,二是股票型态。

技术指标

技术指标是对某一特定期限长度的历史资料(包括开盘价,最高价,最低价,收盘价,成交量)通过某种演算法计算而得到的指标值。演算法的不同,指标值呈现的意义也有所不同。


有人将这些技术指标简单分爲顺势型指标和逆势型指标,也有人进一步细分,将其分爲趋势类、震荡类、成交量类以及人气类。以下通过 EMA, MACD, RSI, OBV 对技术指标进行说明。


EMA (Exponential Moving Average, 指数移动平均)

指数移动平均是以指数式递减加权的移动平均。各数值的加权影响力随时间而指数式递减,越近期的数据加权影响力越重,但较旧的数据也给予一定的加权值。


  • 设时间t的实际数值为Yt,而时间t的EMA则为St;时间t-1的EMA则为St-1


  • 计算时间t≥2是方程式为:    St= α*Yt +(1-α)*St-1


  • 在技术分析中,不同的市场对常用天数(n值)有不同的需求,例如:某些市场普遍的n值为10日、40日、200日;有些则是5日、10日、20日、60日、120日、240日,视乎分析时期长短而定。投资者冀从移动平均线的图表中分辨出支持位或阻力位。


MACD(Moving Average Convergence / Divergence) 指标计算及原理

  • 差离值(DIF值):利用收盘价的指数移动平均值(12日/26日)计算出差离值。公式:DIF= EMA(close,12)–EMA(close,26)

  • 讯号线(DEM值,又称MACD值):计算出DIF后,会再画一条(讯号线),通常是DIF的9日指数移动平均值。公式:DEM= EMA(DIF,9)

  • 直条图或棒形图(histogram/bar graph):接着,将DIF有与DEM的差画成(直条图)(MACD bar/OSC)公式:OSC = DIF- DEM

MACD指标主要是通过EMA、DIF和DEA(或叫MACD、DEM)这三值之间关系的研判。


DIF和DEA连接起来的移动平均线的研判以及DIF减去 DEM值而绘制成的柱状图(BAR)的研判等来分析判断行情,是预测股价中短期趋势的主要的股市技术分析指标。


其中,DIF是核心,DEA是辅助。DIF是快速平滑移动平均线(EMA1)和慢速平滑移动平均线(EMA2)的差。BAR柱状图在股市技术软体上是用红柱和绿柱的收缩来研判行情。


  • 差离值(DIF)形成「快线」,讯号线(DEM)形成「慢线」,当差离值(DIF)从下而上穿过讯号线(DEM),为买进讯号;相反若从上而下穿越,为卖出讯号。


  • 棒形图会根据正负值分布在零轴(X轴)的上下。棒形图在零轴上方时表示走势较强,反之则是走势较弱。


  • 差离值由下而上穿过零轴代表市场气氛利好股价,相反由上而下则代表利淡股价。差离值与讯号线均在零轴上方时,被称为多头市场,反之,则被称为空头市场。


  • 当股价创新低,但MACD并没有相应创新低(牛市背离),视为利好(利多)讯息,股价跌势或将完结。相反,若股价创新高,但MACD并没有相应创新高(熊市背离),视为利淡(利空)讯息。更多MACD在交易中的应用读者可参考 MOVING AVERAGE CONVERGENCE-DIVERGENCE (MACD) 。


RSI (Relative Strength Index) 指标计算及原理

  • 设每天向上的变动为U,向下变动为D。

  • 在价格上升的日子:U = 当日收市价 – 昨日收市价;D = 0

  • 在价格下跌的日子:U = 0;D = 昨日收市价 – 当日收市价

  • 所谓相对强度,即U平均值及D平均值的比例:RS= EMA(U,n)/EMA(D,n)

  • 相对强弱指标计算公式为:RSI= EMA(U,n)/[EMA(D,n) +EMA(U,n)]*100%

  • 某证券的RSI升至70时,代表该证券已被超买(Overbought),投资者应考虑出售该证券。相反,当证券RSI跌至30时,代表证券被超卖(Oversold),投资者应购入该证券。


  • 当RSI指标与盘势发生背离时,则代表盘势即将反转,若股价在创新高时,RSI没有跟着创新高,则为转弱讯号,下跌即将开始;若股价在创新低时,RSI没有跟着创新低,则为转强讯号,上涨即将开始。


  • 结合不同天期指标判断:短天期指标向上穿越长天期指标为黄金交叉,买进;短天期指标向下穿越长天期指标时为死亡交叉,卖出。


OBV(On Balance Volume) 指标计算及原理

  • 以日为计算周期为例,其计算公式为: 当日OBV=本日值+前一日的OBV值。

  • 如果本日收盘价或指数高于前一日收盘价或指数,本日值则为正;如果本日的收盘价或指数低于前一日的收盘价,本日值则为负值;如果本日值与前一日的收盘价或指数持平,本日值则不于计算,然后计算累积成交量。这里的成交量是指成交股票的手数。


能量潮理论成立的依据重要是:

1.投资者对股价的评论越不一致,成交量越大;反之,成交量就小。因此,可用交量来判断市场的人气和多空双方的力量。


2. 重力原理(the Law of Gravity)。上升的物体迟早会下跌,而物体上升所需的能量比下跌时多。


涉及到股市则可解释为:一方面股价迟早会下跌;另一方面,股价上升时所需的能量大,因此股价的上升特别是上升初期必须有较大的成交量相配合;股价下跌时则不必耗费很大的能量,因此成交量不一定放大,甚至有萎缩趋势。


3. 惯性原则(Principle of inertia)。动则恒动、静则恒静。只有那些被投资者或主力相中的热门股会在很大一段时间内成交量和股价的波动都比较大,而无人问津的冷门股,则会在一段时间内,成交量和股价波幅都比较小。

股票型态

我们参照了 历史不断重演-型态学 一文中提及的型态,通过图像辨识的方法对股票时间序列资料进行处理,进而作为机器学习的输入。


2

机器学习的输出资料


在机器学习输出资料的选择上,由于本文策略逻辑是基于股票的趋势交易,因此所考虑到是先将股票时间序列进行趋势分析,进而将趋势资讯转化成为以风险为基准的交易讯号。


通过计量模型,我们可以把股票价格序列进行趋势分析。趋势分析范例如下:

接着我们计算每一段趋势的夏普值(Sharpe ratio)作为对应的风险交易讯号。


3

机器学习模型的选择



大量文献研究表明支援向量回归(support vector regression),类神经网路(artificial neural network)相较于其他机器学习方法在处理股票资料上有较强泛化能力及较高的预测准确性。


支援向量回归是支援向量机(support vector machine)的一种变形,它属于非线性回归(nonlinear regression)的一种方法,藉由增列资料的特征(feature),建构一个或多个高维度的超平面来分类资料点。


类神经网路属于一种平行计算系统,它由许多神经元(artificial neurons)或节点(nodes)组成。概念上,类神经网路是模仿人脑的神经元网路,建立以下模型:


每个神经元代表一种特定的输入/输出函数,以其它神经元或外部环境取得输入资料,通过运算程式处理后,输出其结果到其它神经元或外界。


本文选择机器学习模型为支援向量回归及类神经网路。通过这两种机器学习演算法对目标历史资料进行学习,分别构建技术指标与交易讯号、股票型态与交易讯号之间的量化联系,这种量化联系可用来预测交易讯号。


根据上述的演算法,我们分别构建了中低频交易策略与中高频交易策略。在中低频资料上,对大陆、台湾、韩国、及美国四个不同市场的日资料进行了测试。


发现以技术指标作为训练模型的输入资料时,在大陆和台湾市场上有可观的收益;以型态评分资料作为训练模型输入资料时,在大陆和韩国市场上有可观收益。


至于在日内5分钟的中高频资料上,对大陆股指期货,及主要商品期货产品进行了测试,发现在波动较高的期货产品中有较好的回测绩效。


以下列举对三个大陆市场的实证分析,并考虑交易成本,各图中黑色曲线表示对标的资产以 buy and hold 策略交易的回测绩效,红色曲线表示机器学习产生交易策略的回测绩效。至于相对应的表内则显示机器学习所产生交易策略的统计量。

作者:睿富者  

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多