一种基于预定义模式匹配的股票推荐选股方法与流程

文档序号:12464885阅读:697来源:国知局
一种基于预定义模式匹配的股票推荐选股方法与流程

本发明涉及股票数据挖掘技术领域,尤其是涉及一种基于预定义模式匹配的股票推荐选股方法。



背景技术:

随着数据库技术的成熟与信息技术的普及,相关行业的数据规模急剧膨胀。专家系统、人工智能和机器学习等知识发现技术的发展,使得“从海量数据中提取或识别有效的、新颖的、潜在有用的并最终可理解的模式”成为可能。

近年来,在数据极为丰富的金融领域,一些分析方法随着股市的产生和发展逐步完善起来,如:道氏分析法、K线图分析法、点数图分析法、移动平均法、还有形态分析法、趋势分析法、角度分析法、神秘级数与黄金分割比螺旋历法、四度空间法等。然而,这些方法仅仅是分析手段,还不能直接预测股市的动态。

随着时间的推移及存储技术的发展,越来越多的股票交易数据被存储下来。在海量的股票交易数据中往往隐藏了许多有用的信息,由此促进了数据挖掘技术在股票分析领域中的应用。股票数据挖掘的方法,如神经网络、进化算法、模糊逻辑、粗糙集、支持向量机等,正在得到越来越广泛的研究与应用。



技术实现要素:

本发明公开了一种基于预定义模式匹配的股票推荐选股方法。方法的基本思想是首先预先定义模式,如反L型、大V型的股票走势模式,然后将定义的模式与所有股票的近期走势进行匹配搜索;为了更好的匹配走势而非具体涨跌幅,方法需要对所有股票数据进行基准收盘价的计算预处理,同时匹配时需要将参与匹配的基准收盘价规范到[0,1]区间,之后使用动态时间规整方法进行非对称的动态匹配;将匹配结果值进行从小到大排序后,获取数值最小的前T个股票作为推荐的候选股票。

本发明方法是一种选股方法,可根据用户的偏好模式给予推荐最相似走势的股票,从而为用户选股提供决策支持。

本发明方法的步骤如下:

(1)对每只股票的涨跌幅数据预处理为以某个时间点为基准的基准收盘价;

(2)预定义待匹配的模式;

(3)获取每只股票近期一段时间的基准收盘价数据;

(4)对近期基准收盘价数据进行规范化处理;

(5)将待匹配模式与每只股票的近期走势应用动态时间规整方法进行非对称的动态匹配,得到匹配距离;

(6)在所有的匹配中,获取模式的强匹配股票列表,作为推荐股票列表。

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

其中,步骤(2) 预定义待匹配的模式,如反L型、大V型等模式。反L型模式是指股票先经过一段时间的低位调整,而后在近几天股价开始急速拉升的走势形态。大V型模式是指股票经过一段时间的急速下跌,而后在近几天股价突然急速拉起的走势形态。如反L型和大V型模式可以定义为:

M反L=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1]

M大V=[1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1]。

其中,步骤(3)中,对于每只股票,从其基准收盘价数组中,获取近期与预定义模式等长的L个交易日的数据。

其中,步骤(4)中对每只股票的近期基准收盘价数据进行规范化处理,这里使用[0,1]区间的格式化方式。具体为:假设一个数组A,A=[at],t=1,…,L,L为数组长度,对其[0,1]区间格式化的过程为:对A数组中的每个at进行变换,at = (at-Min(A))/(Max(A)-Min(A)),t=1…L。

其中,步骤(5)中将待匹配模式与每只股票的近期走势进行匹配。匹配使用动态时间规整方法,规整匹配的时间窗口设置为2,也就是说进行允许有2个位置偏差的非对称动态匹配,通过计算最短规整距离后,得到两个模式的匹配距离。

其中,步骤(6)是在待匹配模式与所有股票的近期走势匹配后,对匹配距离进行排序,获取距离最小的T个值对应的股票,构成强匹配股票列表,列表股票即为推荐股票。

附图说明

图1 是本发明基于预定义模式匹配的股票推荐选股方法的流程图。

图2 是预定义模式与股票的近期走势进行非对称动态匹配的示意图。

图3 是基于本发明方法输出的推荐股票列表。

这里预先定义了长度为30的反L型模式M,具体定义为:

M反L=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1],

然后T的取值为12,获取得到前12个最小匹配值对应的股票,构成强匹配股票列表,输出后如图3所示。

图4是某一股票近期的典型反L型走势。图4是在图3获得推荐股票列表的基础上,查看某只推荐股票的近期走势,如国旅联合-600358,所获得的走势图。

具体实施方式

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

本发明方法通过预先定义的模式,在所有股票的近期走势中进行搜索,从而匹配得到相似走势的股票。

假设股票列表为S,S=[S1, S2,…,Si,…,Sn],n为股票池中股票的数量,如中国上市股票的数量或美国上市股票的数量。

本发明方法的模式定义、模式匹配及股票推荐过程的具体步骤如下。

一、股票数据预处理。

对于每只股票,假设当前股票为Si,i=1,…,n 具体预处理步骤如下。

1.1 对于股票时间序列Si,以某个时间点作为起点,如2005-01-01,截取自该时间点以来到现今的数据。

1.2 对Si进行如下的处理:令起始时间点的收盘价以1为基准,其后续时间点的收盘价根据涨跌幅进行变换得到,如第二天的涨跌幅为Change2,则第二天的基准收盘价为:1*(1+Change2/100); 第三天的的涨跌幅为Change3,则第三天的基准收盘价为:1*(1+Change2/100) (1+Change3/100);以此类推,形成Si对应的基准收盘价数组MyClosei

对所有股票进行预处理后,最后形成基准收盘价二维数组MyClose,

MyClose=[MyClosei], i=1,…,n。

二、股票模式定义。

该步骤预先定义模式,如反L型、大V型等模式。

反L型模式是指股票先经过一段时间的低位调整,而后在近几天股价开始急速拉升的走势形态。

大V型模式是指股票经过一段时间的急速下跌,而后在近几天股价突然急速拉起的走势形态。

对于一个长度为k的模式M,M定义为:M=[m0,…mj…mk],其中j=[0,k]。

为简化人工设置模式的过程,模式里面元素mj的取值一般仅取0, 1二种情况,代表低位和高位。

如K=30,反L型和大V型模式可以定义为:

M反L=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1]

M大V=[1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1]

当然也可以设置更为精细和复杂的模式,如模式元素mj取值为[0,1]区间的任意小数值。

三、待匹配近期股票数据的获取。

根据预先定义的模式的长度,从股票基准收盘价二维数组MyClose中获取待匹配股票数据。假设定义了一个长度为k的模式M,则从股票列表从获取近期k个交易日的数据,具体为对于每个数组MyClosei,截取近期k个交易日的基准收盘价数据。为描述方便,最后形成的二维数组仍记为MyClose=[MyClosei], i=1,…,n,不同的是MyClosei的长度仅为k,具体为:MyClosei= [C0,…Cj…Ck],其中j=[0,k]。

四、股票数据格式化。

本步骤进一步对上一步骤中获得的近期基准收盘价数组MyClosei进行格式化处理。这里使用[0,1]区间的格式化。

假设一个数组A,A=[at],t=1,…,L,L为数组长度,对其[0,1]区间格式化的过程为:对A数组中的每个at进行变换,at = (at-Min(A))/(Max(A)-Min(A)),t=1…L

对MyClosei进行格式化处理后,仍记为MyClosei

五、股票模式匹配。

本步骤用预先定义的模式M与格式化后的股票二维数组MyClose进行匹配,对于MyClose中的每一行元组MyClosei,与其长度同为k的模式M的匹配过程如下。

5.1将M记为X,MyClosei记为Y,其中X,Y长度相等,都为k。

5.2使用动态时间规整方法(Dynamic Time Warping,DTW)进行X,Y距离计算。

由于k的取值一般不会太大,这里规整匹配的时间窗口设置为2,然后以动态规划的方法求两个时间序列X和Y的最短距离Dist(X,Y)。假设i是X的坐标,j是Y的坐标,这里需要寻找一个规整路径W,W必须从W1=(1,1)开始,到WL=(k,k)结尾,并保证X和Y中的每个坐标都在W中出现,同时i和j必须是单调增加的。

规整路径是距离最短的一个规整路径:

D(i,j) = Distance(i,j)+min[D(i-1,j), D(i,j-1), D(i-1,j-1)]

Distance(i,j)为欧几里得距离。

最后X和Y的最短规整距离为:Dist(X,Y) = D(L1,L2)

对股票二维数组MyClose中的所有元组都与M进行匹配,得到与M的匹配距离一维数组DistM。数组中每个元素代表M与MyClosei的距离。

六、获取模式的强匹配股票列表。

对数组DistM进行从小到大排序,获取数值最小的前T个对应的股票,这些股票就构成了预定义模式M的强匹配股票列表。所获得的T只股票即为推荐的股票。

这里L值的取得有以下几种方法,

a.人为设定T值大小,如T=10;

b. 根据数组DistM的长度设置一个百分比值,从而得到T值大小

c. 根据数组DistM中距离值的分布,设置一个分布的概率,从而得到T值。

综上所述,本发明提出了一种基于预定义模式匹配的股票推荐选股方法。方法通过预先定义的模式,在所有股票的历史数据中,以非对称匹配的动态时间规整方法搜索最相似的匹配模式,最后将获得的强匹配列表作为推荐的股票列表。方法可以为用户的选股提供决策支持。

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

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