一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种金融大数据优化存储方法与流程

2023-01-16 22:53:21 来源:中国专利 TAG:


1.本发明涉及数据处理技术领域,具体涉及一种金融大数据优化存储方法。


背景技术:

2.随着社会的不断发展,人们投资意识的不断提高,越来越多的人加入了股票投资市场的行列,使得股票市场不断的壮大起来。而股票市场的快速发展,不仅可以为就业问题做出良好的改善,还可以为经济的增长做出突出贡献,因此,提高股票的收益率,不断壮大股票市场,就变得尤为重要。
3.目前最能有效预测股价的方法为大数据分析,通过股票价格的浮动去预测未来的走势,但是这需要海量的股票价格数据做支撑,而股票市场从成立到现在,已经储蓄了大量的数据,在进行大数据分析时,预处理数据的难度极大,且储存所占空间较大,增添了不必要的成本与精力,因此如何将该数据在不丢失原始信息的同时降低储存空间是急需要解决的问题。
4.目前的压缩算法有lz77编码算法,lz77编码算法可以对数据进行压缩,然后对压缩后的数据进行储存,但是在压缩过程中,由于股票价格的波动数据变化较小且具有一定的规律,传统的lz77编码算法对该数据进行压缩时,字典滑窗长度始终唯一,对于整体数据来说,长度唯一的字典滑窗在某一段数据内适应度较高,压缩速率相对应较高,但长度唯一的字典滑窗对于不适应的数据段来说,压缩效率便较低,故使得整体数据的压缩效率低,进而导致存储占用空间大。


技术实现要素:

5.本发明提供一种金融大数据优化存储方法,以解决现有的压缩效率低,导致存储占用空间大的问题。
6.本发明的一种金融大数据优化存储方法采用如下技术方案:获取每天的股价数据;对每天的股价数据进行二进制编码得到二进制编码数据;获取每相邻两天的股价数据对应的波动图,根据波动图中的股价数据获取相邻两天的股价数据的平稳程度;获取相邻两天的股价数据的差异性值,根据差异性值和平稳程度获取相邻两天的股价数据的关联程度,根据相邻两天的股价数据的关联程度判断是否对连续相邻天的股价数据所对应的二进制编码数据进行合并,并得到多段目标二进制数据;获取每段目标二进制数据中每类相同的数据串出现的频率及对应类的数据串长度,根据每类相同的数据串出现的频率及数据串长度获取每类相同的数据串对应的匹配率,根据匹配率、最高频率数据串的长度和各数据串的长度大小确定目标二进制数据的最优字典滑窗长度;利用最优字典滑窗长度将对应的目标二进制数据进行压缩并存储。
7.优选的,得到多段目标二进制数据包括:其中,每段目标二进制数据包括第一目标二进制数据或者第二目标二进制数据;第一目标二进制数据由连续相邻天的股价数据对应的二进制编码数据构成,且连续相邻天的股价数据中的每相邻两天的股价数据的关联程度均大于关联程度阈值;第二目标二进制数据由单天的股价数据对应的二进制编码数据构成,该单天对应的所有相邻两天的股价数据的关联程度均小于或者等于关联程度阈值。
8.优选的,获取每类相同的数据串对应的匹配率包括:获取每类相同的数据串出现的频率与对应类的数据串长度的目标比值;以自然常数为底,以目标比值的负值为幂得到指数函数值;将1减去指数函数值得到每类相同的数据串对应的匹配率。
9.优选的,获取相邻两天的股价数据的平稳程度包括:设定第一权重系数和第二权重系数,且第一权重系数小于第二权重系数;获取波动图的股价数据峰值的方差及股价数据的最大差值;以最大差值与第一权重系数的乘积为底数,以第二权重系数与波动图中股价数据峰值的方差的乘积倒数为幂,得到指数函数值,并将指数函数值作为相邻两天的股价数据的平稳程度。
10.优选的,获取相邻两天的股价数据的差异性值包括:获取每天的股价数据对应的二进制编码数据中出现频率最高的重复数据串,并作为目标数据串;获取每天的股价数据对应的二进制编码数据中的目标数据串的总长度占二进制编码数据的总长度的长度比值;获取相邻两天的股价数据对应的二进制编码数据中目标数据串对应的长度比值差值;获取相邻两天的股价数据对应的二进制编码数据中目标数据串的长度;根据目标数据串的长度、目标数据串对应的长度比值差值获取相邻两天的股价数据的差异性值。
11.优选的,相邻两天的股价数据的差异性值的计算公式为:式中,表示相邻两天的股价数据中的第天的股价数据与第天的股价数据之间的差异性值;表示第天的股价数据对应的二进制编码数据中所有目标数据串的总长度;表示第天的股价数据对应的二进制编码数据中所有目标数据串的总长度;表示第天的股价数据对应的二进制编码数据的总长度;表示第天的股价数据对应的二进制编码数据的总长度;
表示第天的股价数据对应的二进制编码数据中单个目标数据串的长度;表示第天的股价数据对应的二进制编码数据中单个目标数据串的长度。
12.优选的,将相邻两天的股价数据对应的平稳程度与对应的差异性值的比值作为相邻两天的股价数据的关联程度。
13.优选的,获取相邻两天的股价数据对应的波动图包括:去除每天的股价数据中的最大股价数据和最小股价数据,得到去除后的目标股价数据;根据相邻两天的目标股价数据获取目标股价数据对应的波动图。
14.优选的,得到二进制编码数据包括:将每天的股价数据转化为流式数据;对流式数据进行霍夫曼编码得到二进制编码数据。
15.优选的,将每天的股价数据转化为流式数据包括:将每天的股价数据中的每一次股价波动的股价数据中小数点前预设位数的数据和小数点后预设位数的数据得到一个多位数的数据;将每天的股价数据中的每一次股价波动的股价数据与前一次股价波动的股价数据对应的多位数的数据拼接得到流式数据,其中,将多位数的数据中空缺的位置补0。
16.本发明的一种金融大数据优化存储方法的有益效果是:通过对股价数据进行二进制编码得到二进制编码数据,然后利用相邻两天的股价数据的波动性来反映相邻两天的股价数据的平稳程度,并获取相邻两天的股价数据的差异性值,利用相邻两天的股价数据的差异性值、平稳程度来反映相邻两天的股价数据的关联程度,得到关联程度的目的是为了:将相关联的二进制编码数据进行合并得到目标二进制数据,使得尽可能多的将相似度高数据合并在一起,即使得合并后得到的目标二进制数据中的出现重复数据的频率更高,从而便于寻找数据中存在的规律性,然后,基于得到的目标二进制数据进行最优字典滑窗长度的自适应选取,使得每段目标二进制数据都对应一个最优字典滑窗长度,从而在利用lz77编码算法编码时能根据自适应获取的最优字典滑窗长度实现对高规律性的目标二进制数据的进行高效压缩,进而减少压缩后的数据占用的存储空间。
附图说明
17.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
18.图1为本发明的一种金融大数据优化存储方法的实施例的流程图;图2为本发明的一种金融大数据优化存储方法的实施例中霍夫曼树的结构示意图。
具体实施方式
19.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
20.本发明的一种金融大数据优化存储方法的实施例,本实施例的场景为:由于股票价格的波动数据变化较小且具有一定的规律,传统的lz77编码算法对该数据进行压缩时,字典滑窗长度始终唯一,对于整体数据来说,长度唯一的字典滑窗在某一段数据内适应度较高,压缩速率相对应较高,但长度唯一的字典滑窗对于不适应的数据段来说,压缩效率便较低,进而影响整体数据的压缩效率,因此,本实施例需要根据不同特征的数据段自适应得到不同的字典滑窗长度,从而提高利用lz77算法压缩股价数据时的压缩速率。
21.具体的,如图1所示,本实施例包括:s1、获取股价数据;由于,不同股票的价格在不同时间下会发生不同程度的波动,因此便于后期对该数据进行压缩处理,先获取历史数据中每天的股价数据。
22.s2、对股价数据进行二进制编码得到二进制编码数据;具体的,将每天的股价数据转化为流式数据;对流式数据进行霍夫曼编码得到二进制编码数据。
23.其中,将每天的股价数据转化为流式数据包括:将每天的股价数据中的每一次股价波动的股价数据中小数点前预设位数的数据和小数点后预设位数的数据得到一个多位数的数据;将每天的股价数据中的每一次股价波动的股价数据与前一次股价波动的股价数据对应的多位数的数据拼接得到流式数据,其中,将多位数的数据中空缺的位置补0,因为,历史中股票最高价格在千位,并且股票价格精确至小数点后两位,因此将小数点前四位加小数点后两位作为每天的股价数据中的每一次股价波动的数据,因为绝大多数股票每3秒进行一次调整,因此每三秒记录一次股价数据,将对应的股价数据按照时间顺序进行拼接,便实现了将股价历史数据转化为流式数据,对应位数不够的数据,用0将该位数补齐即可。
24.具体的,本实施例中,将股票价格的小数点前预设位数为4位,小数点后的预设位数为2位,即将每天的股价数据中的每一次股价波动的股价数据中小数点前四位和小数点后两位得到一个6位数的数据;将每一次股价波动的股价数据与前一次股价波动的股价数据对应的6位数的数据拼接得到流式数据,其中,将6位数的数据中空缺的位置补0,故得到每天的股价数据对应的流式数据。
25.需要说明的是,通过将每天的股价数据作为一段数据,并转化流式数据,目的是由于股价数据波动的特殊性,相邻天数之间的价格波动并不会发生较大的差距,两者之间的数据相似度较高,对应的流式数据中数字重复出现的位置与频率的相似度就较高,因此,转化为流式数据后的中数字重复出现的位置与频率的相似度就较高,便于寻找数据中存在的规律性。
26.由于,股票的波动价格转化为流式数据之后,就会转变为范围在0至9的一连串数据,对于这一连串数据来说,里面出现重复数字的频率会因每天的股价数据不同对应的流式数据就不同,故不同流式数据中出现重复数字的频率也是不同的,因而可以对流式数据
进行霍夫曼编码,用短编码来表示出现频率较高的数字,长编码来表示出现频率较低的数字,进而将原始数据转化为规律性较强的二进制编码数据,这样即达到了对数据的初步压缩,并且使得数据的规律性变得较强,故,对流式数据进行霍夫曼编码得到二进制编码数据包括:获取流式数据中每个阿拉伯数字在流式数据中出现的频率;根据每个阿拉伯数字在流式数据中出现的频率对流式数据进行霍夫曼编码得到二进制编码数据,具体的,按照频率从小到大排序,选取最小频率的两种字符组合作为起始点,按照频率从小到大的顺序,从下往上构建霍夫曼树,完成对流式数据的霍夫曼编码,得到流式数据编码后的二进制编码数据,例如,以第一天的股价数据对应的流式数据002452002463002478002563002452为例,对流式数据中的每个阿拉伯数字进行出现次数的统计(频率统计),具体的,流式数据002452002463002478002563002452的频率统计如下表1,其中,表1为流式数据的频率统计表:表1从表1中能得到除未统计到的阿拉伯数字1和9,其中,阿拉伯数字7和8出现的次数最少,0出现的次数最多,即频率最大,故,进行霍夫曼编码得到的霍夫曼树如图2所示,从图2中即可得到每个阿拉伯数字对应的二进制编码,具体的,流式数据002452002463002478002563002452对应的霍夫曼编码后的二进制编码数据为:0010110111101000101101111101110001011011111101111111001011110111110111000101101111010,至此,每天的股价数据对应的流式数据进行霍夫曼编码完成,获得的二进制数据相对于其他编码方式来说,编码更短,降低了储存空间,实现了对数据初步压缩。
27.s3、得到多段目标二进制数据;具体的,获取每相邻两天的股价数据对应的波动图,根据波动图中的股价数据获取相邻两天的股价数据的平稳程度,获取相邻两天的股价数据的差异性值,根据差异性值和平稳程度获取相邻两天的股价数据的关联程度,根据相邻两天的股价数据的关联程度判断是否对连续相邻天的股价数据所对应的二进制编码数据进行合并,并得到多段目标二进制数据。
28.由于,对每天的股价数据对应的流式数据进行霍夫曼编码之后,由于股价数据波动的特殊性,相邻天数之间的价格波动并不会发生较大的差距,两者之间的数据相似度较高,因此,对应的流式数据中数字重复出现的位置与频率的相似度就较高,因此,通过分析相邻两天的股价数据对应的流式数据之间的关联程度,将关联程度大的两天的股价数据对应的流式数据的二进制编码数据进行合并,进而实现对二进制编码数据的重新分段,使得尽可能多的将相似度高数据分割在一起,便于最大程度的寻找数据中存在规律性。
29.故,先获取每相邻两天的股价数据对应的波动图,根据波动图中股价数据获取相邻两天的股价数据的平稳程度,具体的,获取相邻两天的股价数据的平稳程度时,先设定第一权重系数和第二权重系数,且第一权重系数小于第二权重系数;以最大差值与第一权重系数的乘积为底数,以第二权重系数与波动图中股价数据峰值的方差的乘积的倒数为幂,得到指数函数值,并将指数函数值作为相邻两天的股价数据的平稳程度,具体的,相邻两天
的股价数据的平稳程度的计算公式为:式中,表示相邻两天的股价数据的平稳程度;表示第一权重系数;表示第二权重系数;表示相邻两天的股价数据对应的波动图中股价数据峰值的方差;表示相邻两天的股价数据对应波动图中最大股价数据;表示相邻两天的股价数据对应波动图中最小股价数据;为了避免特殊数据造成的误差,在获取波动图之前,去除每天的股价数据中的最大股价数据和最小股价数据,得到去除后的目标股价数据;然后根据相邻两天的目标股价数据获取目标股价数据对应的波动图,将相邻两天的目标股价数据获取目标股价数据对应的波动图作为计算平稳程度时的波动图。
30.需要说明的是,第一权重系数、第二权重系数由经验确定,本发明的第一权重系数、第二权重系数,其次,波动图中最大股价数据与最小股价数据之间的差距越小,即的值越小,说明对应的相邻两天的股价数据变化不大,由于方差反映的是数据的波动性,当波动图中对应的峰值的方差越小,即越小,即对应的相邻两天的股价数据的波动性较小,数据较为稳定,即平稳程度越大。
31.其中,获取相邻两天的股价数据的差异性值,根据差异性值和平稳程度获取相邻两天的股价数据的关联程度,根据相邻两天的股价数据的关联程度判断是否对连续相邻天的股价数据所对应的二进制编码数据进行合并,并得到多段目标二进制数据,具体的,获取相邻两天的股价数据的差异性值包括:获取每天的股价数据对应的二进制编码数据中出现频率最高的重复数据串,并作为目标数据串;获取每天的股价数据对应的二进制编码数据中的目标数据串的总长度占二进制编码数据的总长度的长度比值;获取相邻两天的股价数据对应的二进制编码数据中目标数据串对应的长度比值差值;获取相邻两天的股价数据对应的二进制编码数据中目标数据串的长度;根据目标数据串的长度、目标数据串对应的长度比值差值获取相邻两天的股价数据的差异性值,其中,计算相邻两天的股价数据的差异性值的公式为:式中,表示相邻两天的股价数据中的第天的股价数据与第天的股价数据之间的差异性值;表示第天的股价数据对应的二进制编码数据中所有目标数据串的总长度;
表示第天的股价数据对应的二进制编码数据中所有目标数据串的总长度;表示第天的股价数据对应的二进制编码数据的总长度;表示第天的股价数据对应的二进制编码数据的总长度;表示第天的股价数据对应的二进制编码数据中单个目标数据串的长度;表示第天的股价数据对应的二进制编码数据中单个目标数据串的长度;需要说明的是,相邻两天的股价数据对应的二进制编码数据中频率最高的重复数据串(目标数据串)的总长度与对应的二进制编码数据的长度比值差别越小,即越小,两个目标数据串的长度差值越小,即越小,说明相邻两天的股价数据之间的相似性越高,即差异性值小,其中,式中的 1为了保证差异性值不为0;对于相邻两天的股价数据的平稳程度,本实施例中认为相邻两天的股价数据的平稳程度越大,说明相邻两天的股价数据的变化越小,即股价数据越平稳,相邻两天的股价数据的关联程度越大。
32.故,将相邻两天的股价数据对应的平稳程度与对应的差异性值的比值作为相邻两天的股价数据的关联程度,当差异性值越小,即分母越小,平稳程度越大,即分子越大,对应的得到的相邻两天的股价数据的关联程度就越大,相邻两天的股价数据就越关联,基于此得到所有相邻两天的股价数据的关联程度。
33.其中,在获取多段目标二进制数据时包括:基于得到相邻两天的股价数据的关联程度,首先设定关联程度阈值,本实施例中设定参考关联程度阈值为10;其中,每段目标二进制数据为第一目标二进制数据或者第二目标二进制数据;第一目标二进制数据由连续相邻天的股价数据对应的二进制编码数据构成,且连续相邻天的股价数据中的每相邻两天的股价数据的关联程度均大于关联程度阈值;第二目标二进制数据由单天的股价数据对应的二进制编码数据构成,该单天对应的所有相邻两天的股价数据的关联程度均小于或者等于关联程度阈值,具体的,以第1、2、3天的股价数据为例,即第1、2、3天为连续相邻的3天,在第1、2天的股价数据的关联程度大于10,且第2、3天的股价数据的关联程度大于10时,则说明第1、2天的股价数据相关联,第2、3天的股价数据相关联,即将第1、2、3天的股价数据对应的二进制数据进行合并即得到了一段目标二进制数据,即第一目标二进制数据,当在第1、2天的股价数据的关联程度小于或者等于10,且第2、3天的股价数据的关联程度小于或者等于10时,则说明连续相邻的3天的第1、2、3天的股价数据不关联,即将第1、2天的股价数据对应的每个二进制数据作为一段目标二进制数据,即第二目标二进制数据,在第1、2天的股价数据的关联程度大于10,而第2、3天的股价数据的关联程度小于或者等于10时,则第1、2天的股价数据对应的二进制数据进行合并为第一目标二进制数据,并且,再根据第3、4天的股价数据的关联程度,确定第3天的股价数据对应的二进制数据是第一目标二进制数据还是第二目标二进制数据,至此,即可得到每段目标二进制数据。
34.s4、获取每段目标二进制数据的最优字典滑窗长度;具体的,获取每段目标二进制数据中每类相同的数据串出现的频率及对应类的数据串长度,根据每类相同的数据串出现的频率及数据串长度获取每类相同的数据串对应的匹配率,根据匹配率、最高频率数据串的长度和各数据串的长度大小确定目标二进制数据的最优字典滑窗长度。
35.由于,在不同天对应的股价数据经过霍夫曼编码之后的数据分布会存在不同,而在使用lz77编码算法对霍夫曼编码后的数据进行压缩时,字典滑窗的长度设置不同,对于压缩速率的影响较大,选取的字典滑窗长度过大或过小,都会降低压缩速率,而将字典滑窗的长度设置为在数据中出现频率较高的数据串对应的长度,这样会最大程度的适应整个一段数据,使得在对数据进行压缩时会提高压缩率,同时会降低储存时的占用空间。
36.具体的,对于s3步骤得到了多段目标二进制数据,每段目标二进制数据中的数据分布会存在差异,故每段目标二进制数据中相同的数据串出现的频率和长度不同,因此,需要通过分析霍夫曼编码的结果,通过相同的数据串出现数量和长度来确定最优字典滑窗长度,这样便可以在利用lz77编码算法压缩时最大程度的使得重复率高的数据串与字典长度相适应,进而提高lz77编码算法的压缩速率。
37.其中,获取每段目标二进制数据中每类相同的数据串出现的频率及对应类的数据串长度,根据每类相同的数据串出现的频率及数据串长度获取每类相同的数据串对应的匹配率,其中,获取每类相同的数据串对应的匹配率的步骤包括:获取每类相同的数据串出现的频率及对应类的数据串长度的目标比值;以自然常数为底,以目标比值的负值为幂得到指数函数值;将1减去指数函数值得到每类相同的数据串对应的匹配率,具体的,每类相同的数据串对应的匹配率的计算公式为:式中,表示第段目标二进制数据中每类相同的数据串对应的匹配率;表示第段目标二进制数据中每类相同的数据串出现的频率;表示第段目标二进制数据中每类相同的数据串中的数据串长度;表示第段目标二进制数据中的频率最高的数据串的长度;表示以自然常数e为底的指数函数;需要说明的是,若将字典滑窗长度设置为在二进制编码数据中出现频率最高的数据串对应的长度,在进行压缩时,只是对于频率最高的重复数据串压缩效果较好,而相对频率较低且数据串长度大于的数据串适应能力并不足,因此该长度并不是最优的字典滑窗长度,若字典滑窗长度选择频率相对最高值偏小的且长度相对大于时,对于出现频率最高的数据串的压缩效率并没有降低,同时,对于相对频率较低且数据串长度大于长度的数据串适应能力增强,压缩效率较高,因此对于整体的压缩效率便会得到显著的提升,故,本实施例中,限定大于,在此条件下,当重复数据串的长度越短,出现的频率越高,
即越大,说明数据串长度与字典滑窗长度的匹配率越高,故,本实施例中,将在大于的条件下得到的匹配率中的最大匹配率对应的数据串长度作为对应段的目标二进制数据的最优字典滑窗长度。
38.s5、对目标二进制数据进行压缩并存储;利用最优字典滑窗长度将对应的目标二进制数据进行lz77编码得到压缩数据并存储,其中,lz77编码算法为现有技术算法,其解压过程本实施例也不再赘述。
39.本发明的一种金融大数据优化存储方法,通过对股价数据进行二进制编码得到二进制编码数据,然后利用相邻两天的股价数据的波动性来反映相邻两天的股价数据的平稳程度,并获取相邻两天的股价数据的差异性值,利用相邻两天的股价数据的差异性值、平稳程度来反映相邻两天的股价数据的关联程度,得到关联程度的目的是为了:将相关联的二进制编码数据进行合并得到目标二进制数据,使得尽可能多的将相似度高数据合并在一起,即使得合并后得到的目标二进制数据中的出现重复数据的频率更高,从而便于寻找数据中存在的规律性,然后,基于得到的目标二进制数据进行最优字典滑窗长度的自适应选取,使得每段目标二进制数据都对应一个最优字典滑窗长度,从而在利用lz77编码算法编码时能根据自适应获取的最优字典滑窗长度实现对高规律性的目标二进制数据的进行高效压缩,进而减少压缩后的数据占用的存储空间。
40.以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献