一种基于自相关排序的股票趋势分析与选股方法与流程

文档序号:12748797阅读:350来源:国知局
一种基于自相关排序的股票趋势分析与选股方法与流程

本发明涉及股票数据挖掘技术领域,尤其是涉及一种基于自相关排序的股票趋势分析与选股方法。



背景技术:

股票价格的预测一直备受关注,股票市场的高额回报也促使了股票市场预测的发展,投资者们时刻在关心股市、分析股市、试图预测股市的发展趋势。

股票市场是一个复杂的非线性系统,市场受到来自政治、社会、经济、心理等各方面的影响,因而对其运动行为很难建模。但是,正如技术分析所假设的“市场是有趋势可循的;市场价格反映了一切;历史往往会重演”,这也就说明尽管复杂,但市场还是隐含着某些规律性。

股价的历史轨迹形态对未来价格趋势特别是短期趋势有着重要的预测价值。传统形态分析理论往往比较机械,所有股票套用一些相同的形态模式,或者在识别股价序列形态往往有一定困难,常常出现因人而异的现象,种种问题都影响了投资的效果。

常用的技术分析方法除了传统的K线理论、波浪理论、移动平均线理论和技术指标分析等,还有数据挖掘和人工智能的方法,如时间序列分析、多元回归模型、人工神经网络、遗传算法等。



技术实现要素:

本发明公开了一种基于自相关排序的股票趋势分析与选股方法。方法的主要思想是每只股票以近期一段时间的走势在自身的历史趋势线中寻找最相似的走势,以获得最佳匹配点和匹配值;在对所有股票进行类似的操作后,对所有的匹配值进行排序比较,得到强自相关股票列表;之后基于此列表,结合股票对应的匹配点之后走势,形成股票的候选趋势池;最后基于强自相关股票进行趋势分析与选股。方法是一种准确率优先的选股方法,选股时需要在准确性与涨幅之间进行一个折中。

每只股票有其自身的股性,在自身的历史数据中进行匹配寻找相似的走势段,所获得趋势的股性也是和该股票一致的,股票自相关日期之后的走势可以很好的作为考察该股票后期走势的一种参考。

本发明方法是一种准确性优先的股票选股及趋势分析方法,可为用户短线操作的选股提供决策支持。

假设股票列表为S,S=[S1, S2,…,Si,…,Sn],n为股票池中股票的数量,如中国上市股票的数量或美国上市股票的数量。本发明方法的步骤如下:

(1)加载股票数据并进行预处理;

(2)对待预测股票进行数据分段;

(3)对匹配段区间格式化并进行动态时间规整匹配;

(4)对股票池中的所有股票进行相似处理,获取每只股票的最佳匹配点和匹配值;

(5)获取强自相关股票列表,并预先加载构建候选趋势池;

(6)对股票进行综合分析并选股。

其中,步骤(1)的加载股票数据并进行预处理,具体为:对于每只股票Sm,m=1,…,n ,以某个时间点作为起点,如2005-01-01,截取自该时间点以来到现今的数据。令起始时间点的收盘价以1为基准,其后续时间点的收盘价根据涨跌幅进行变换得到,如第二天的涨跌幅为Change2,则第二天的基准收盘价为:1*(1+Change2/100); 第三天的涨跌幅为Change3,则第三天的基准收盘价为:1*(1+Change2/100) (1+Change3/100);以此类推。最后形成一个基准收盘价数组MyClose。

其中,步骤(2)的对待预测股票进行数据分段,具体为:将基准收盘价数组MyClose分成两段,一段为待预测现状数据,另一段为待匹配历史数据。待预测现状数据为数组MyClose中近L个交易日的基准收盘价数据,形成一个数组,记为A,A=[a1,a2,…,ai,…aL];待匹配历史数据为除去近L个交易日的数据后的部分,形成另一个数组,记为B, B=[b1,b2,…,bj,…bk]。同时记录bj的交易日期,记为另一数组C, C=[c1,c2,…,cj,…ck]。

其中,步骤(3)的对匹配段区间格式化并进行动态时间规整匹配,具体为:对数组A和B进行匹配,A的长度为L, B的长度为K, K>=L。匹配过程先对A进行[0-1]区间的格式化,即ai= (ai-Min(A))/(Max(A)-Min(A)),i=1…L,变换后结果记为A’;而后以步长为1,循环从B中获取长度L的数据,并也进行[0-1]区间的格式化,每段结果记为B’;然后A’与B’以动态时间规整(DTW)的方法进行匹配,匹配的窗口大小设置为2,得到一个匹配值;最后对每个步长获得的匹配值进行比较,获取最小匹配值对应的匹配日期,即B’最后一个元素所对应的交易日期,作为自身历史最相关时间点。

其中,步骤(4)的对股票池中的所有股票进行相似处理,获取每只股票的最佳匹配点和匹配值,具体为:对股票池中的所有其它股票进行步骤(1)~(3)的类似处理,最终形成最佳匹配二维数组G,G=[Gi],i=1…n;其中, Gi= [Si股票代码,自相关日期,匹配值],代表每只股票在自身历史数据环境下的最佳匹配点,即自相关时间点。

其中,步骤(5)的获取强自相关股票列表,并预先加载构建候选趋势池,具体为:对二维数组G中的匹配值MatchValue从小到大排序,排完序后获取最小的前N只股票,这些股票即构成强自相关列表H。基于强自相关股票列表H,对于H中的每一条记录Hj,

Hj=[ Sj股票代码,自相关日期,匹配值],j=[1…N]

获取股票代码和自相关日期,而后查询数据库,直接获取自相关日期之后30天的走势数据,包括每日的涨跌幅、开盘价,收盘价、最高价、最低价和成交量,并将这些数据输出为k线图图表。所有的这些走势图表形成候选趋势池。

其中,步骤(6)的对股票进行综合分析并选股,具体为:按匹配值从小到大顺序考察强自相关股票列表,即时展示或提供相应的自相关日期之后的后期走势,同时提供换手率,成交量,流通值等基本行情信息供用户参考,用户根据查看的股票后期走势的可能涨跌情况及在强自相关股票列表中的位置综合考虑选股。

附图说明

图1 是本发明基于自相关排序的股票趋势分析与选股方法的流程图。

图2 是基于本发明方法输出的强自相关股票列表结果。具体为2016年11月1日基于本发明方法输出的强自相关股票列表。基于本列表,以第一条记录为例,股票盛洋科技(603703)的自相关日期为2015年6月5日,也就是说,将当前交易日2016年11月1日与自相关日期2015年6月5日进行配准,两个时间之前20~30交易日的走势比较相近,而2015年6月5日之后的走势可以作为2016年11月1日接下来未来交易日的预测。

具体实施方式

下面结合附图和实例,对本发明进行详细的描述。

每只股票有其自身的股性,在自身的历史数据中进行匹配寻找相似的走势段,所获得趋势的股性也是和该股票一致的,股票自相关日期之后的走势可以很好的作为考察该股票后期走势的一种参考。

本发明方法是一种准确性优先的股票选股及趋势分析方法,可为用户短线操作的选股提供决策支持。

假设股票列表为S,S=[S1, S2,…,Si,…,Sn],n为股票池中股票的数量,如中国上市股票的数量或美国上市股票的数量。本发明方法的具体步骤如下。

一、加载股票数据并进行预处理。

对于每只股票Sm,m=1,…,n ,以某个时间点作为起点,如2005-01-01,截取自该时间点以来到现今的数据。令起始时间点的收盘价以1为基准,其后续时间点的收盘价根据涨跌幅进行变换得到,如第二天的涨跌幅为Change2,则第二天的基准收盘价为:1*(1+Change2/100); 第三天的涨跌幅为Change3,则第三天的基准收盘价为:1*(1+Change2/100) (1+Change3/100);以此类推。最后形成一个基准收盘价数组MyClose。

二、对待预测股票进行数据分段。

将上述步骤得到的新基准数据分成两段,一段为待预测现状数据,另一段为待匹配历史数据。

2.1待预测现状数据的获取过程为:获取数组MyClose中近L个交易日的基准收盘价数据,形成一个数组,记为A,A=[a1,a2,…,ai,…aL],其中,ai代表近L-i的交易日的基准收盘价。a0代表当前交易日的基准收盘价。L的取值不宜太小,一般为20或30。

2.2 待匹配历史数据的获取过程为:对MyClose中的剩余数据部分,即除去近L个交易日的数据后的部分作为待匹配历史数据,形成另一个数组,记为B, B=[b1,b2,…,bj,…bk],其中,bj代表j位置对应交易日的基准收盘价。同时记录bj的交易日期,记为另一数组C, C=[c1,c2,…,cj,…ck],其中,cj代表股票的j位置对应的交易日期。

三、对匹配段区间格式化并进行动态时间规整匹配。

该步骤主要完成待预测现状数据与待匹配历史数据之间的匹配过程,并获取自身历史的最相关时间点。匹配过程在A和B展开,A的长度为L, B的长度为K, K>=L,具体匹配过程如下。

3.1设置匹配值MatchValue=正无穷,匹配时间点MatchDate=起点时间点;

3.2 对A进行[0-1]区间的格式化,ai= (ai-Min(A))/(Max(A)-Min(A)),i=1…L,变换后结果记为A’;

3.3 以步长为1,循环从B中获取长度L的数据,记为Btemp

3.4 对Btemp进行[0,1]区间的格式化,结果记为B’;

3.5 A’与B’采用动态时间归整(DTW)方法进行匹配,窗口大小设置为2。得到的匹配值记为TempValue;

3.6 将TempValue与MatchValue进行比较,如果TempValue<MatchValue, 则MatchValue = TempValue;同时将MatchDate置为Btemp最后一个元素所对应的匹配日期;

3.7 反复执行3.3~3.6步骤,最后得到的匹配日期MatchDate即为历史最相关时间点;

3.8记录股票Sm的自相关结果Gm, Gm=[ Sm股票代码, 自相关日期,匹配值],其中,Gm为一维数组,自相关日期即上步骤中的MatchDate, 匹配值为MatchValue,自相关日期即为最小匹配值所对应的匹配日期。

四、对股票池中的所有股票进行相似处理,获取每只股票的最佳匹配点和匹配值。

对股票池中的所有其它股票进行步骤(1)~(3)的类似处理,最终形成最佳匹配二维数组G,G=[Gi],i=1…n;其中, Gi= [Si股票代码,自相关日期,匹配值],代表每只股票在自身历史数据环境下的最佳匹配点,即自相关时间点。

五、获取强自相关股票列表并预先加载构建候选趋势池。

5.1 自相关是指股票当前近期的走势与自身的历史时间序列片段具有较好的匹配度,也就是走势形态比较相似。对二维数组G中的匹配值MatchValue从小到大排序,排完序后获取最小的前N只股票,这些股票即构成强自相关列表H。

5.2获取强匹配股票列表中每只股票的自相关日期之后的后期走势,并截图输出。具体为:基于强自相关股票列表H,对于H中的每一条记录Hj,

Hj=[ Sj股票代码,自相关日期,匹配值],j=[1…N],

获取股票代码和自相关日期,而后查询数据库,直接获取自相关日期之后30天的走势数据,包括每日的涨跌幅、开盘价,收盘价、最高价、最低价和成交量,并将这些数据输出为k线图图表。所有的这些走势图表形成候选趋势池。

六、对股票进行综合分析并选股。

该步骤的综合分析和选股过程由人工参与完成。由于强自相关股票列表中的股票匹配度很好,也就是说,自相关日期之后的走势都具有较高的准确性,具体进行综合分析并选股的过程为:按匹配值从小到大顺序考察强自相关股票列表,即时展示或提供相应的自相关日期之后的后期走势,同时提供换手率,成交量,流通值等基本行情信息供用户参考,用户根据查看的股票后期走势的可能涨跌情况及在强自相关股票列表中的位置综合考虑选股。在强自相关股票列表中的位置实际上是一种准确性的体现,因此需要在后期涨幅与准确性之间进行一个折中,挑选优质的股票。

综上所述,本发明公开了一种基于自相关排序的股票趋势分析与选股方法。方法在自身股票的历史趋势中进行匹配,获取最小匹配值和自身历史最相关的时间点;之后在所有股票中对匹配值进行排序比较,获取自相关度最高,即准确性好的相似段的后期走势,基于强自相关列表及其后期走势进行综合分析选股。方法是一种准确率优先的选股方法,选股时需要在准确性与涨幅之间进行一个折中。

本发明方法同样可应用于证券类具有时间序列特征的数据,如基金、期货等。因此,尽管为说明目的公开了本发明的具体实施例和附图,其目的在于帮助理解本发明的内容并据以实施,但是本领域的技术人员可以理解:在不脱离本发明及所附的权利要求的精神和范围内,各种替换、变化和修改都是不可能的。因此,本发明不应局限于最佳实施例和附图所公开的内容。当前公开的实施例在所有方面应被理解为说明性的而非对其请求保护的范围的限制。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1