一种指数行情的异常检测方法技术

技术编号:31575421 阅读:10 留言:0更新日期:2021-12-25 11:16
本发明专利技术涉及证券行情系统的异常检测技术领域,具体来说是一种指数行情的异常检测方法,方法步骤包括历史数据训练和实时检测:上述方法提高了指数行情异常检测的准确率、缩短了指数行情异常发现的时间;上述方法可以通过调整训练过程中的参数,不断优化分组结果,达到较为准确的分组。到较为准确的分组。到较为准确的分组。

【技术实现步骤摘要】
一种指数行情的异常检测方法


[0001]本专利技术涉及证券行情系统的异常检测
,具体来说是一种指数行情的异常检测方法。

技术介绍

[0002]Level

1行情是上海证券交易所基本行情,指根据《上海证券交易所交易规则》规定发布的即时行情信息。即时行情信息包含:集合竞价数据、证券行情数据、指数行情数据。
[0003]除了股票行情之外,指数行情也是投资者进行交易的重要参考数据。指数行情从生成开始,需要经过交易所、证券公司、信息商等单位的不同系统、不同网络,层层转发,才能最终展示到投资者的面前。为了保证证券交易的连续和公平,指数行情在生成和传输的每个环节上,既要保证数据的完整性,又要保证数据的正确性。数据的完整性比较好检测,可以根据每次发送的消息数量比较得出,不一致则异常。数据的正确性却是一个技术难题,主要难点在于,指数行情数据中最新价每时每刻都在变化,除了涨跌幅限制之外,没有一个基准值来判断最新价格是否正确。
[0004]因此,在提供指数行情数据完整性和准确性的前提下,为保证快速、及时发现指数行情的异常,需要设计一种指数行情最新价出现异常的异常检测方法。

技术实现思路

[0005]本专利技术的目的在于解决现有技术中指数行情最新价出现异常的问题,提供一种基于统计模型的指数行情的异常检测方法。
[0006]为了实现上述目的,设计一种指数行情的异常检测方法,其特征在于方法步骤包括
[0007]历史数据训练:
[0008]步骤a.获取指数行情的历史数据,并对历史数据进行标准化处理,得到一个按照时间序列排序的记录,每条记录是指历史上某个时间点的所有指数的最新价;
[0009]步骤b.根据所有的历史数据,利用peason算法计算指数之间的相关系数,得到一个n阶的相关性矩阵,n表示指数的数量,相关性系数的值在[

1,1]区间内;
[0010]步骤c.设置相似度阈值,超过阈值的元素置为1,其余的元素置为0,将上一步骤的相关性矩阵,转化为新的相关性矩阵;
[0011]步骤d.利用相关性矩阵,构造一个n顶点的无向图,顶点表示指数,边表示相关性系数;
[0012]步骤e.利用社区检测算法将所有指数进行分组,确保同一分组内的指数具有相同的波动形态;
[0013]步骤f.在每一个分组内,根据一个时间窗口,将历史数据进行分割。一个时间窗口内包含m条记录,指数分别转化为m维向量,如:(X1,X2,

,Xm),(Y1,Y2,

,Ym),再计算指数两两之间的欧式距离;
[0014]步骤g.训练完成后,将分组结果、指数两两距离保存成历史模型;
[0015]实时检测:
[0016]步骤h.实时读取指数行情,根据分组结果,分发到对应的分组队列中进行检测;
[0017]步骤i.比较实时数据中的指数与历史模型中的指数是否一致,不一致则产生一条指数新增或者指数减少的异常信息;
[0018]步骤j.实时数据中的最新价与昨日收盘价进行比较,超过了涨跌幅限制,则产生一条超过涨跌幅的异常信息;
[0019]步骤k.在同一个分组内,获取与上述时间窗口大小一致的实时数据,计算指数两两之间的欧式距离,并与历史模型中的指数距离进行比较,如果超过历史模型中距离的上下限,则记录实时指数相关系数为0,反之记录实时指数相关系数为1;
[0020]步骤l.将所有指数的相关系数,构造成相关性矩阵,进一步的转化为一个无向图;
[0021]步骤m.根据无向图,利用社区检测算法将所有指数进行分组;
[0022]步骤n.如果分组的数量大于1,则表示分组结果与历史数据分组结果不一致;
[0023]步骤o.利用少数服从多数原则,数量少的分组中的指数被判定为异常指数,产生一条分组异常的异常信息。
[0024]优选的,步骤a中存在缺失的数据,使用线性填充方法进行填充。
[0025]优选的,peason算法具体如下:
[0026][0027]其中,X,Y表示两个指数,n表示指数的样本值个数,μ
X
是X的平均值。ρ在

1到+1之间,数值越接近1,表示两个指数的正相关越强;数值越接近0,表示两个指数的相关性越弱;数值越接近

1,表示两个指数的负相关性越强。
[0028]优选的,计算指数两两之间的欧式距离的方法具体如下:
[0029][0030]其中,x和y代表两个指数,n是时间窗口中的样本数量。
[0031]本专利技术同现有技术相比,其优点在于:
[0032]1.上述方法提高了指数行情异常检测的准确率、缩短了指数行情异常发现的时间;
[0033]2.上述方法可以通过调整训练过程中的参数,不断优化分组结果,达到较为准确的分组;
[0034]3.历史训练和实时检测分为两个系统模块,独立运行,降低了模块之间的耦合度,保证系统的高可用和扩展性;
[0035]4.以多线程的方式处理实时行情检测,提高异常检测的并行处理能力。
附图说明
[0036]图1是根据实施例1中所述的历史数据训练的流程示意图;
[0037]图2是根据实施例1中所述的实时数据检测的流程示意图。
具体实施方式
[0038]下面结合附图对本专利技术作进一步说明,本专利技术的结构和原理对本专业的人来说是非常清楚的。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。
[0039]根据本实施例,提供了一种基于统计模型的指数行情异常检测方法的实施例,本方法用于解决证券行情系统中的指数异常检测的问题,确保及时发现指数行情的异常数据。
[0040]在以下实施方式中,在行情发布系统生产环境中进行,在统一监控中部署。图1和图2示出了该系统的流程示意图,该系统包括:
[0041]S101:每天下午16点00分启动指数行情历史训练系统,读取历史数据,历史数据是一个时间序列的数据。
[0042]S102:将历史数据进行标准化,采用的计算公式为:(当日最新价

前日收盘价)/当日最新价。如果存在缺失的数据,使用线性填充方法进行填充。
[0043]S103:计算指数两两之间的相关性,具体步骤如下:
[0044]S103

1:对所有指数两两进行相关性计算,采用peason相关性算法,具体计算方法为:
[0045][0046]其中,X,Y表示两个指数,n表示指数的样本值个数,μ
X
是X的平均值。ρ在

1到+1之间,数值越接近1,表示两个指数的正相关越强;数值越接近0,表示两个指数的相关性越弱;数值越接近

1,表示两个指数的负相关性越强。
[0047]S103

2:根据上一步骤的相关系数,构造一个相关性矩阵,举例本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种指数行情的异常检测方法,其特征在于方法步骤包括历史数据训练:步骤a.获取指数行情的历史数据,并对历史数据进行标准化处理,得到一个按照时间序列排序的记录,每条记录是指历史上某个时间点的所有指数的最新价;步骤b.根据所有的历史数据,利用peason算法计算指数之间的相关系数,得到一个n阶的相关性矩阵,n表示指数的数量,相关性系数的值在[

1,1]区间内;步骤c.设置相似度阈值,超过阈值的元素置为1,其余的元素置为0,将上一步骤的相关性矩阵,转化为新的相关性矩阵;步骤d.利用相关性矩阵,构造一个n顶点的无向图,顶点表示指数,边表示相关性系数;步骤e.利用社区检测算法将所有指数进行分组,确保同一分组内的指数具有相同的波动形态;步骤f.在每一个分组内,根据一个时间窗口,将历史数据进行分割。一个时间窗口内包含m条记录,指数分别转化为m维向量,如:(X1,X2,

,Xm),(Y1,Y2,

,Ym),再计算指数两两之间的欧式距离;步骤g.训练完成后,将分组结果、指数两两距离保存成历史模型;实时检测:步骤h.实时读取指数行情,根据分组结果,分发到对应的分组队列中进行检测;步骤i.比较实时数据中的指数与历史模型中的指数是否一致,不一致则产生一条指数新增或者指数减少的异常信息;步骤j.实时数据中的最新价与昨日收盘价进行比较,超过了涨跌幅限制...

【专利技术属性】
技术研发人员:王波张晓军裘岱
申请(专利权)人:上证所信息网络有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1