技术分析理论基于三个重要的假设:
(1) 股票价格包含一切市场信息
(2) 股票价格存在趋势
(3) 历史会重演
第三点描述的是股票价格或者指数在长期的走势中,会反复出现一些特定的“形态”或者模式,研究这些模式对于后市的预判有着重要的参考价值。所谓“形态”,是表征股票价格或者其它指标在某一时间段内的走势,如上升形态、下降形态、震荡形态。
从行为金融学的角度来说,不论是处置效应还是羊群效应等群体行为规律都在市场上客观存在。市场是大量投资者博弈的结果,虽然投资标的千变万化,同一标的也随时处于变化之中,但是人性是不变的,交易心理是不变的,投资者在决策过程中形成的定向思维和投机心理导致历史不断重演。技术分析大多是基于对历史数据的分析和归纳,试图从历史中挖掘出规律进而指导未来的决策。技术分析的有效性和实用性已经被市场所认可和实践,比较有名的如波浪理论、缠论等。
总而言之,股票形态所反映的不仅是股票基本面变化的信息,还有市场投资群体的投资心理,蕴含着交易逻辑。因此,股票价格走势会呈现出相似的形态,并且相似形态的不同股票往往会在未来表现出相似的走势。
基于技术分析理论识别股票价格走势的形态并进行预测,难点在于很多技术分析方法依赖经验判断,难以量化,甚至对于相同的走势形态不同的技术分析者会得出截然相反的结论。我们尝试借助形态识别算法,来解决这一问题。
形态识别,类似于语音识别,本质是波形特征的捕捉与识别。比较常用的识别算法有神经网络算法、隐马尔科夫算法等基于机器学习的算法,也有基于技术指标以及函数极值的统计判断方法。
本篇报告采取的是动态时间规整算法。在自动语音识别领域,由于语音信号是一种具有相当大随机性的信号,即使相同说话者对相同的词,每一次发音的结果都是不同的,也不可能具有完全相同的时间长度。因此在与已存储模型相匹配时,未知单词的时间轴要不均匀地扭曲或弯折,以使其特征与模板特征对正。用时间规整手段对正是一种非常有力的措施,对提高系统的识别精度非常有效。
事实上,实际应用场景中,尤其是金融时间序列的匹配问题,往往要求在时间轴上不完全一致,换言之,如果时间序列在形态上具有相似性,但序列内部有模式的伸缩或者振幅的差异,仍然可以认为该时间序列群是具有相似性的,是需要被匹配出来的。市场上的技术分析派正是通过这种形态上的匹配,在个股或者大盘指数的历史数据中发现与当前走势相似的形态,并观察这些形态在历史上出现后,个股或者大盘的走势,最终对后期个股或者大盘的走势进行预判,指导交易决策。
要理解动态时间规整算法,关键是理解“时间规整”的思想,其示意图如下:
蓝色和绿色线条表示两个时间序列,和传统的距离度量方式相比,时间规整是将时间点进行一对多或者多对一的映射,同时满足最优化条件。经过这样的映射后,时间轴上进行了规整,使得两个时间序列间的距离最小,相似度最大。
动态时间规整算法的核心在于寻找最优的路径,需要满足以下约束:
(1) 边界条件;
(2) 连续性:即要求不能跨过某个点去匹配,只能和自己相邻的点对齐
(3) 单调性:即要求点必须是随着时间单调进行的
通过动态规划的方法可以求得最优路径和最小距离。
采用动态时间规整算法实现形态识别功能,基于人为挑选出的标准形态,每个交易日利用形态识别算法计算全A股股票形态与标准形态的距离,进而挑选出距离小于阈值的股票并以当日开盘价买入,持有五日以收盘价卖出,如果持有过程中某一天收盘价跌幅超过-5%,则以收盘价止损。
该策略基于动态时间规整算法,捕捉与经验形态相似的股票形态,构建股票组合。在回测期间获得了2.59的夏普比率和27.4%的年化收益率,稳定显著的跑赢大盘指数。
转载自 知乎