本发明专利技术公开了一种基于K线图表示的金融时间序列相似性查询方法,包括特征提取、索引构建和查询处理步骤。首先,基于K线表示对金融时间序列提取基本模式与典型模式特征,将其分别转化为基本字符串与典型字符串;然后,分别对两者构建倒排索引。对于每条查询序列,经相同方式提取基本模式与典型模式特征后,分别查询所构建的两个倒排索引,获取两个候选集,然后求交集运算得到最终候选集;再经后续处理得到最终查询结果。本发明专利技术可有效实现k最近邻查询,具有较高的度量精度及查询效率,并对时间序列长度、k最近邻查询规模及数据集规模具有良好的扩展性。在规模日益扩大的电子化金融交易市场中可发挥重要作用。
【技术实现步骤摘要】
基于K线图表示的金融时间序列相似性查询方法
本专利技术涉及数据库、数据挖掘、信息检索等领域,尤其涉及金融时间序列数据分析和挖掘。
技术介绍
时间序列广泛存在于人们的日常生活及工业生产中,如基金或股票的实时交易数据,零售市场的日销量数据,流程工业的传感器监测数据,天文观测数据,航空航天雷达、卫星监测数据,实时天气温度及空气质量指数等。时间序列相似性查询,又称为时间序列的样例检索,在工业界和金融界有着广泛的应用需求。比如,在股票市场的实时交易中,交易员想要从海量的历史股票数据中,查询出与当前时刻股票走势的形态最相似的k条历史序列作为参考,来获取有价值的知识和启发,完成交易行为。很明显,解决该问题的最简单方法是对数据库的线性扫描,然而这种将查询序列与数据库每条序列一一对比的方法具有很高的时间开销。因此,工业界通常采用空间索引方法,如R树、R*树、网格文件等。但是,大多数空间索引方法的性能,会随着时间序列维度的升高而迅速降级,即出现“维度灾难”。所以,传统的查询方法在对时间序列构建空间索引之前,会首先采用特定的数据表示方法提取时间序列的特征,以实现降维。目前工业界常用的数据表示方法可分为非数据适应性和数据适应性方法。对于前者,变换参数不受单独的时间序列影响,而始终保持不变;该类表示大多基于频谱分解实现,如离散傅里叶变换、离散小波变换、离散余弦变换,其主要通过对原始时间序列做相应的频域变换,提取主要的频谱系数作为特征;该类方法各有缺陷,如离散傅里叶变换只能提取总体形态特征而忽略了局部特征,离散小波变换只能处理长度为2的指数次的时间序列,离散余弦变换的信息丢失较多,对原始数据的重构误差较大。数据适应性表示是指对变换参数的确定需要依赖数据本身;通过增加数据敏感的选择处理过程,可以把大部分非数据适应性方法变为数据适应性方法。该类方法有分段聚集近似、分段线性近似、符号化聚集近似、奇异值分解、主成分分析等,前三种都需要先对原始时间序列进行分段,然后对每一子段单独处理(分段聚集近似是对各段求平均值,分段线性近似是对各段做线段拟合,符号化聚集近似是在分段聚集近似基础上将每段平均值离散化为符号),由于其所提取的特征较为单一,使其对时间序列波动模式的表达能力较弱。奇异值分解和主成分分析通过对所有时间序列做统一的特征矩阵分解实现,这两类方法的典型缺陷是计算复杂度高,而且分解过程只能在内存完成,数据规模的可扩展性很低。工业界迄今采用的索引方法大多是基于树的空间索引,B-树最先用于索引一维数据,是许多分层索引结构的基础;R-树系列,如R*-树、R+-树等,采用最小边界矩形组织数据,但是最小边界矩形会覆盖大量无数据的空间,导致查询结果存在大量的“误命中”,从而降低查询效率;A-树使用了向量近似文件来存储最小边界矩形和虚拟边界矩形的上下边界,从而保证较低的索引开销和较高的查询完备性。由于工业生产中的时间序列具有高维或超高维特性,即使在精度损失可接受的范围内做降维处理,仍然可能具有很高的维度,因此,基于树的索引方法很容易出现“维度灾难”问题。
技术实现思路
本专利技术要解决的问题是对用户任意指定的一条金融时间序列,如何快速地从大规模金融时间序列数据库中找出k条最相似的序列。为了解决该问题,本专利技术提出了基于K线图表示的金融时间序列相似性查询方法。本专利技术的目的是通过以下技术方案实现的:一种基于K线图表示的金融时间序列相似性查询方法,包括以下步骤:(1)特征提取,具体包括以下子步骤:(1.1)依次读取金融时间序列数据库中的每条时间序列;(1.2)对时间序列做z-规范化处理;(1.3)设定K线表示粒度l,采用该粒度的窗口对步骤1.2处理得到的时间序列平均切分为w条子序列;依次提取每条子序列的初始值vfirst,最大值vmax,最小值vmin,最终值vlast,构造K线图,并表示为特征向量K=[vfirst,vmax,vmin,vlast],将金融时间序列转化为K线序列К={K1,K2,...,Ki,…,Kw};(1.4)分别提取K线序列的基本模式Pbasic与典型模式Ptypical,将其转化为基本字符串Strbasic与典型字符串Strtypical,具体为:(1.4.1)将金融时间序列在金融交易市场中单位时间段的最大升降幅度范围平均划分为n个区间,并从0开始依次递增编号;(1.4.2)依次扫描每对相邻的K线组合<Ki,Ki+1>,计算Ki+1的四个特征相对于Ki的最终值Ki(vlast)的升降幅度,并分别映射到步骤1.4.1划分的相应区间,以区间编号表示各特征,得到离散化特征向量Di+1;将<Di,Di+1>的各元素依次分配到连续存储单元,组合为基本模式Pbasic,由此将K线序列转化为基本字符串Strbasic;(1.4.3)采用金融技术分析领域的Ω种多K线组合模式作为典型模式库Ptypical_base,并将每个典型模式Ptypical以离散化特征向量的形式存储;依次扫描K线序列,若以Ki起始的多K线组合<Ki,Ki+1,...,Ki+η>与Ptypical_base中的典型模式相匹配,则进行提取并根据1.4.2的方式编码存储,由此将K线序列转化为典型字符串Strtypical;(2)索引构建,具体包括以下子步骤:(2.1)基于Lucene全文检索开源框架,以Pbasic作为索引项,对所有基本字符串Strbasic构建基本模式倒排索引Pbasic_index;(2.2)基于Lucene全文检索开源框架,以Ptypical作为索引项,对所有典型字符串Strtypical构建典型模式倒排索引Ptypical_index;(3)查询处理,具体包括以下子步骤:(3.1)将查询时间序列Q进行与步骤1相同的特征提取,得到基本字符串Strbasic(Q)与典型字符串Strtypical(Q);(3.2)对Strbasic(Q)查询步骤2.1得到的基本模式倒排索引Pbasic_index,获取包含M个候选对象的候选集C1;(3.3)对Strtypical(Q)查询步骤2.2得到的典型模式倒排索引Ptypical_index,获取包含N个候选对象的候选集C2;(3.4)对C1与C2求交集,得到包含Γ个候选对象的最终候选集C3;(3.5)对C3中的每个候选对象,通过磁盘I/O读取原始序列,并与查询时间序列Q的原始值进行相似性度量,根据相似性度量值,对C3的所有候选对象进行排序,保留k个最相似的候选序列作为最终的查询结果并返回。本专利技术的有益效果是:1、在特征提取阶段,采用了K线表示方法,适用于金融时间序列特有的波动特性和应用需求;对时间序列分别提取基本模式与典型模式特征,可分别捕捉金融时间序列的基本波动特性与具有重要参考价值的指示性信号特征,有利于对金融时间序列做精确地相似性匹配。2、基于倒排索引的查询方式,可实现灵活高效地查询处理,并且可实现对任意长时间序列的索引和查询;基于Lucene全文检索开源框架,保证了索引规模具有较低的空间开销,以及查询过程的高效性。3、本专利技术可有效实现k最近邻查询,具有较高的度量精度及查询效率,并对时间序列长度、k最近邻查询规模及数据集规模具有良好本文档来自技高网...
【技术保护点】
一种基于K线图表示的金融时间序列相似性查询方法,其特征在于,包括以下步骤:(1)特征提取,具体包括以下子步骤:(1.1)依次读取金融时间序列数据库中的每条时间序列;(1.2)对时间序列做z‑规范化处理;(1.3)设定K线表示粒度l,采用该粒度的窗口对步骤1.2处理得到的时间序列平均切分为w条子序列;依次提取每条子序列的初始值vfirst,最大值vmax,最小值vmin,最终值vlast,构造K线图,并表示为特征向量K=[vfirst,vmax,vmin,vlast],将金融时间序列转化为K线序列К={K1,K2,...,Ki,…,Kw};(1.4)分别提取K线序列的基本模式Pbasic与典型模式Ptypical,将其转化为基本字符串Strbasic与典型字符串Strtypical,具体为:(1.4.1)将金融时间序列在金融交易市场中单位时间段的最大升降幅度范围平均划分为n个区间,并从0开始依次递增编号;(1.4.2)依次扫描每对相邻的K线组合<Ki,Ki+1>,计算Ki+1的四个特征相对于Ki的最终值Ki(vlast)的升降幅度,并分别映射到步骤1.4.1划分的相应区间,以区间编号表示各特征,得到离散化特征向量Di+1;将<Di,Di+1>的各元素依次分配到连续存储单元,组合为基本模式Pbasic,由此将K线序列转化为基本字符串Strbasic;(1.4.3)采用金融技术分析领域的Ω种多K线组合模式作为典型模式库Ptypical_base,并将每个典型模式Ptypical以离散化特征向量的形式存储;依次扫描K线序列,若以Ki起始的多K线组合<Ki,Ki+1,...,Ki+η>与Ptypical_base中的典型模式相匹配,则进行提取并根据1.4.2的方式编码存储,由此将K线序列转化为典型字符串Strtypical;(2)索引构建,具体包括以下子步骤:(2.1)基于Lucene全文检索开源框架,以Pbasic作为索引项,对所有基本字符串Strbasic构建基本模式倒排索引Pbasic_index;(2.2)基于Lucene全文检索开源框架,以Ptypical作为索引项,对所有典型字符串Strtypical构建典型模式倒排索引Ptypical_index;(3)查询处理,具体包括以下子步骤:(3.1)将查询时间序列Q进行与步骤1相同的特征提取,得到基本字符串Strbasic(Q)与典型字符串Strtypical(Q);(3.2)对Strbasic(Q)查询步骤2.1得到的基本模式倒排索引Pbasic_index,获取包含M个候选对象的候选集C1;(3.3)对Strtypical(Q)查询步骤2.2得到的典型模式倒排索引Ptypical_index,获取包含N个候选对象的候选集C2;(3.4)对C1与C2求交集,得到包含Γ个候选对象的最终候选集C3;(3.5)对C3中的每个候选对象,通过磁盘I/O读取原始序列,并与查询时间序列Q的原始值进行相似性度量,根据相似性度量值,对C3的所有候选对象进行排序,保留k个最相似的候选序列作为最终的查询结果并返回。...
【技术特征摘要】
1.一种基于K线图表示的金融时间序列相似性查询方法,其特征在于,包括以下步骤:(1)特征提取,具体包括以下子步骤:(1.1)依次读取金融时间序列数据库中的每条时间序列;(1.2)对时间序列做z-规范化处理;(1.3)设定K线表示粒度l,采用该粒度的窗口对步骤(1.2)处理得到的时间序列平均切分为w条子序列;依次提取每条子序列的初始值vfirst,最大值vmax,最小值vmin,最终值vlast,构造K线图,并表示为特征向量K=[vfirst,vmax,vmin,vlast],将金融时间序列转化为K线序列К={K1,K2,...,Ki,…,Kw};(1.4)分别提取K线序列的基本模式Pbasic与典型模式Ptypical,将其转化为基本字符串Strbasic与典型字符串Strtypical,具体为:(1.4.1)将金融时间序列在金融交易市场中单位时间段的最大升降幅度范围平均划分为n个区间,并从0开始依次递增编号;(1.4.2)依次扫描每对相邻的K线组合<Ki,Ki+1>,计算Ki+1的四个特征相对于Ki的最终值Ki(vlast)的升降幅度,并分别映射到步骤(1.4.1)划分的相应区间,以区间编号表示各特征,得到离散化特征向量Di+1;将<Di,Di+1>的各元素依次分配到连续存储单元,组合为基本模式Pbasic,由此将K线序列转化为基本字符串Strbasic;(1.4.3)采用金融技术分析领域的Ω种多K线组合模式作为典型模式库Ptypical_base,并将每个典型模式Pt...
【专利技术属性】
技术研发人员:蔡青林,陈岭,孙建伶,陈蕾英,
申请(专利权)人:浙江大学,
类型:发明
国别省市:浙江;33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。