基于K线形态聚类的相似K线序列搜索系统及方法与流程
未命名
08-05
阅读:126
评论:0

基于k线形态聚类的相似k线序列搜索系统及方法
技术领域
1.本发明涉及数据评估技术领域,尤其涉及一种基于k线形态聚类的相似k线序列搜索系统及方法。
背景技术:
2.当前社会已经步入高速发展时代,在金融股票投资方面,随着上市公司数量的增加,所产生的可用于分析的金融数据以及相关信息的总量在持续增加。一些研究显示,股票的k线序列具有较为明显的相似性,即在不同股票中会不断地重复出现相似的k线序列,而多项研究工作均发现,k线数据的波动在历史上能找到相似情况用于预测。因此若能查询到相似的股票k线序列,将对投资行为具有一定的指导作用。在这个大前提下,应用计算机科学技术,对股票市场中所有的股票k线数据进行深入研究,实现快速搜索相似k线序列,成为了当下一种迫切而具有经济潜力的需求。
3.k线数据的定性分析是解读k线图图案的重要技术手段。大多数对于k线图图案的研究都集中在单个k线图或日间价格变动上,与此同时,大多数研究中使用的k线图模式都是经验丰富的投资者的总结,这种人为衍生的“模式趋势”相关性在复杂的金融市场中通常无效。人工总结出的图案类型可以被认为是现成的专家知识,研究人员通过各种机器学习方法来验证这一专家知识的准确性。事实上,现有的“k线图模式”通常由自然语言或模糊规则描述,不适合使用计算机技术进行直接分析。因此许多研究人员在k线图数据的基础上加入了其他技术指标以提高模型准确性。
4.而k线数据的定量分析研究,主要聚焦于衡量数据相似性的方法。时间序列数据相似性的度量方法经常用于分析k线图这类数据的相似情况。相似性度量可分为四类:基于形状的距离比较序列的整体形状、基于编辑的距离根据将一个序列转换为另一个序列所需的最小操作数比较两个时间序列的差异、基于特征的距离提取描述序列的特征然后将其与任何类型的距离函数进行比较、基于结构的相似性旨在找到系列中更高层次的结构以便在更全面的范围内进行比较,以上四种方法分别关注数据的数值性质或关注形态性质。
5.现有技术使用的相似性度量方法往往没有结合定性分析与定量分析,导致只考虑数值性质或只考虑形态性质。只使用定性分析的方案,往往使用简单的数学方法,未能指示时间序列数据表现出的形态性质;只使用定量分析的方案,多使用基于距离的算法,并且为了方便计算,k线的四个维度往往只有一个被使用,对数值性质参考性较差。
技术实现要素:
6.针对现有技术的不足,本发明提供一种基于k线形态聚类的相似k线序列搜索系统及方法。
7.一方面,一种基于k线形态聚类的相似k线序列搜索系统,包括离线定性聚类模块和在线定量搜索模块;
8.所述离线定性聚类模块包括数据获取模块、数据表示模块和聚类存储模块:所述
数据获取模块用于从互联网上获取所需k线数据并进行整理与清洗;所述数据表示模块用于对数据进行定性分析完成重新表示的过程,将数据表示为同时具备形态特征和数据特征的形式;所述聚类存储模块用于将数据表示模块表示完成的k线数据,按k-中心点聚类法得出相应的聚类结果,将处理完毕的k线数据划分为多个聚类簇;
9.所述在线定量搜索模块包括k线分簇模块、相似计算模块和结果输出模块:所述k线分簇模块用于在用户输入待计算相似的k线数据后,对其进行聚类计算,以此得到输入k线数据的归属类簇;所述相似计算模块用于在得出的归属类簇中进行相应的相似度计算,并按设计好的优化搜索策略得出结果;所述结果输出模块用于输出最相似的k线片段或k线片段列表。
10.另一方面,一种基于k线形态聚类的相似k线序列搜索方法,基于前述的基于k线形态聚类的相似k线序列搜索系统及方法实现,包括以下步骤:
11.步骤1:从互联网获取所需要的k线数据,并将其进行清洗,剔除空白数据和残损数据后,存入数据库或者内存中;
12.步骤2:当完成k线数据的获取后,要对步骤1中获取的数据进行定性分析,从而完成重新表示的过程,以此将数据表示为同时具备形态特征和数据特征的形式;
13.步骤2.1:加载步骤1中清洗处理完毕的k线数据;
14.步骤2.2:根据步骤2.1中所获得的k线数据四个维度之间的大小关系,用不同的字符代表不同的大小关系,以字符串形式代表其具体的走势表示;
15.步骤2.3:当数据的重新表示处理完毕时,跳转至步骤3;
16.步骤3:基于步骤2得到的重新表示后的k线数据,按k-medoids聚类方法得出相应的聚类结果,将处理完毕的k线数据按照k-中心点聚类法进行聚类,得出多个聚类簇,并在此过程中,对生成的聚簇的不断进行检验,如果发现聚类不平衡或者聚簇中点的间距过大,则重新开始进行聚类,直到所有点都处于间距合理的平衡聚簇中;
17.所述聚类方法为k-medoids,即k-中心点聚类法,选取中心点medoids作为质心,选取簇中心点的准则是:当前簇中所有其他点到该中心点的距离之和最小,按照该准则进行迭代,直至全部点均被遍历完成;
18.步骤4:接收用户端输入的待搜索相似的k线数据,基于步骤3得到的聚簇进行k-memodids聚类计算,获取用户输入数据的所属类簇;
19.步骤5:根据步骤4得到的所属类簇,获取该类簇中的全部数据,一一与用户输出数据进行dtw相似度计算,按给定的优化搜索策略得出最相似的k线片段或k线片段列表,并将结果进行输出;
20.步骤5.1:加载步骤4中得到的用户输入数据所属类簇的全部数据;
21.步骤5.2:对用户输入数据,运用相似度计算算法dtw一一计算它与所属类簇其他数据的相似度,其中距离计算度量为欧式距离;
22.所述相似度计算算法dtw,即dynamic time warping,动态时间归整算法,是一种动态规划算法;假设有两个时间序列c和q,长度分别为m和n,其中,ci和qj分别是时间序列c和q的元素,也是后续所构造矩阵的数据点,i=1,2,3
…
m,j=1,2,3
…
n:
23.c=c1,c2,
…
,cm24.q=q1,q2,
…
,qn25.为了对齐两个序列,相似度计算算法dtw中构造了一个m
×
n的矩阵,矩阵的位置(i,j)用于存储点ci与点qj的欧式距离,公式为
26.所述优化策略选用下界函数方法lb,即lower bounding,建立边界来剪枝;对于时间序列c和q,基于其中的一个建立一个上界upper bound,即u,和下界lower bound,即l来封装查询序列,计算过程中,对于对比序列q和c,基于其中的一个建立一个上界u和下界l来封装查询序列,如下式所示;
[0027][0028]
其中qi是当前计算序列的第i个点,ui和li分别是上下界的第i个点。计算lb_keoogh,当lb_keoogh大于当前记录的最小距离平方,则不进行dtw计算;否则开始计算dtw的值;
[0029]
步骤5.3:按照用户给定的要求,得出最相似的k线片段或k线片段列表,并将结果进行输出。
[0030]
采用上述技术方案所产生的有益效果在于:
[0031]
本发明提供一种基于k线形态聚类的相似k线序列搜索系统及方法。本发明可以基于k线数据的形态性质和数值性质,计算得出有实际意义的k线数据相似度;对k线数据进行重新表示、对聚簇进行动态更新以及对相似度计算策略的优化,可以保证搜索的高效性。
附图说明
[0032]
图1为本发明实施例中系统模块图;
[0033]
图2为本发明实施例中lb_keogh函数示意图;
[0034]
图3为本发明实施例中方法流程图。
具体实施方式
[0035]
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
[0036]
一方面,一种基于k线形态聚类的相似k线序列搜索系统,如图1所示,包括离线定性聚类模块和在线定量搜索模块;
[0037]
所述离线定性聚类模块包括数据获取模块、数据表示模块和聚类存储模块:所述数据获取模块用于从互联网上获取所需k线数据并进行整理与清洗;所述数据表示模块用于对数据进行定性分析完成重新表示的过程,将数据表示为同时具备形态特征和数据特征的形式;所述聚类存储模块用于将数据表示模块表示完成的k线数据,按k-中心点聚类法得出相应的聚类结果,将处理完毕的k线数据划分为多个聚类簇;
[0038]
所述在线定量搜索模块包括k线分簇模块、相似计算模块和结果输出模块:所述k线分簇模块用于在用户输入待计算相似的k线数据后,对其进行聚类计算,以此得到输入k线数据的归属类簇;所述相似计算模块用于在得出的归属类簇中进行相应的相似度计算,
bound,即l来封装查询序列,计算过程中,对于对比序列q和c,基于其中的一个(此处为q)建立一个上界u和下界l来封装查询序列,如图2所示;通过如下公式来计算图中阴影部分面积:
[0056][0057]
其中qi是当前计算序列的第i个点,ui和li分别是上下界的第i个点。计算lb_keoogh,当lb_keoogh大于当前记录的最小距离平方,则不进行dtw计算;否则开始计算dtw的值;
[0058]
步骤5.3:按照用户给定的要求,得出最相似的k线片段或k线片段列表,并将结果进行输出。
[0059]
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开的实施例中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开的实施例中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
技术特征:
1.一种基于k线形态聚类的相似k线序列搜索系统,其特征在于,包括离线定性聚类模块和在线定量搜索模块;所述离线定性聚类模块包括数据获取模块、数据表示模块和聚类存储模块:所述数据获取模块用于从互联网上获取所需k线数据并进行整理与清洗;所述数据表示模块用于对数据进行定性分析完成重新表示的过程,将数据表示为同时具备形态特征和数据特征的形式;所述聚类存储模块用于将数据表示模块表示完成的k线数据,按k-中心点聚类法得出相应的聚类结果,将处理完毕的k线数据划分为多个聚类簇;所述在线定量搜索模块包括k线分簇模块、相似计算模块和结果输出模块:所述k线分簇模块用于在用户输入待计算相似的k线数据后,对其进行聚类计算,以此得到输入k线数据的归属类簇;所述相似计算模块用于在得出的归属类簇中进行相应的相似度计算,并按设计好的优化搜索策略得出结果;所述结果输出模块用于输出最相似的k线片段或k线片段列表。2.一种基于k线形态聚类的相似k线序列搜索方法,基于权利要求1所述的一种基于k线形态聚类的相似k线序列搜索系统实现,其特征在于,包括以下步骤:步骤1:从互联网获取所需要的k线数据,并将其进行清洗,剔除空白数据和残损数据后,存入数据库或者内存中;步骤2:当完成k线数据的获取后,要对步骤1中获取的数据进行定性分析,从而完成重新表示的过程,以此将数据表示为同时具备形态特征和数据特征的形式;步骤3:基于步骤2得到的重新表示后的k线数据,按k-medoids聚类方法得出相应的聚类结果,将处理完毕的k线数据按照k-中心点聚类法进行聚类,得出多个聚类簇,并在此过程中,对生成的聚簇的不断进行检验,如果发现聚类不平衡或者聚簇中点的间距过大,则重新开始进行聚类,直到所有点都处于间距合理的平衡聚簇中;步骤4:接收用户端输入的待搜索相似的k线数据,基于步骤3得到的聚簇进行k-memodids聚类计算,获取用户输入数据的所属类簇;步骤5:根据步骤4得到的所属类簇,获取该类簇中的全部数据,一一与用户输出数据进行dtw相似度计算,按给定的优化搜索策略得出最相似的k线片段或k线片段列表,并将结果进行输出。3.根据权利要求2所述的一种基于k线形态聚类的相似k线序列搜索方法,其特征在于,所述步骤2具体包括以下步骤:步骤2.1:加载步骤1中清洗处理完毕的k线数据;步骤2.2:根据步骤2.1中所获得的k线数据四个维度之间的大小关系,用不同的字符代表不同的大小关系,以字符串形式代表其具体的走势表示;步骤2.3:当数据的重新表示处理完毕时,跳转至步骤3。4.根据权利要求2所述的一种基于k线形态聚类的相似k线序列搜索方法,其特征在于,步骤3中所述聚类方法为k-medoids,即k-中心点聚类法,选取中心点medoids作为质心,选取簇中心点的准则是:当前簇中所有其他点到该中心点的距离之和最小,按照该准则进行迭代,直至全部点均被遍历完成。5.根据权利要求2所述的一种基于k线形态聚类的相似k线序列搜索方法,其特征在于,所述步骤5具体包括以下步骤:
步骤5.1:加载步骤4中得到的用户输入数据所属类簇的全部数据;步骤5.2:对用户输入数据,运用相似度计算算法dtw一一计算它与所属类簇其他数据的相似度,其中距离计算度量为欧式距离;所述相似度计算算法dtw,即dynamic time warping,动态时间归整算法,是一种动态规划算法;假设有两个时间序列c和q,长度分别为m和n,其中,c
i
和q
j
分别是时间序列c和q的元素,也是后续所构造矩阵的数据点,i=1,2,3
…
m,j=1,2,3
…
n:c=c1,c2,
…
,c
m
q=q1,q2,
…
,q
n
为了对齐两个序列,相似度计算算法dtw中构造了一个m
×
n的矩阵,矩阵的位置(i,j)用于存储点c
i
与点q
j
的欧式距离,公式为所述优化策略选用下界函数方法lb,即lower bounding,建立边界来剪枝;对于时间序列c和q,基于其中的一个建立一个上界upper bound,即u,和下界lower bound,即l来封装查询序列,计算过程中,对于对比序列q和c,基于其中的一个建立一个上界u和下界l来封装查询序列,如下式所示;其中q
i
是当前计算序列的第i个点,u
i
和l
i
分别是上下界的第i个点;计算lb_keoogh,当lb_keoogh大于当前记录的最小距离平方,则不进行dtw计算;否则开始计算dtw的值;步骤5.3:按照用户给定的要求,得出最相似的k线片段或k线片段列表,并将结果进行输出。
技术总结
本发明提供一种基于K线形态聚类的相似K线序列搜索系统及方法,涉及数据评估技术领域。本发明通过对K线序列四个维度的完整数据进行定性和定量两个角度的研究,使得K线的形态特征与走势情况能被完整体现出来,用于后续步骤的相似度分析;提出相应的相似性度量与计算方法,提高搜索结果的正确性;通过聚类技术和优化搜索策略,提高搜索效率。提高搜索效率。提高搜索效率。
技术研发人员:张斌 王建翔 那俊 王广普 安萌 袁昊
受保护的技术使用者:沈阳麟龙科技股份有限公司
技术研发日:2023.05.08
技术公布日:2023/8/4
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/