一种数值型金融数据质量监控系统及方法与流程

文档序号:16432647发布日期:2018-12-28 20:15阅读:204来源:国知局
一种数值型金融数据质量监控系统及方法与流程

本发明涉及数据质量监控领域,尤其涉及一种数值型金融数据质量监控系统及方法。

背景技术

数据的完整性与正确性是基于大数据技术及人工智能技术的智能投顾提供服务的重要基础。数据的完整性、正确性如果出现问题,将会导致智能投资策略与客户投资建议等重要模块发生错误,从而可能导致客户的投资发生损失。传统的数据监控模式,需要开发和测试人员对不同的数据制定不同的数据质量监控规则并编码实现,而面对海量的金融行情数据,客户数据,这种监控模型将会消耗大量的人力和开发时间。同时人为制定的监控规则也会产生规则制定不合理,漏报、误报率高的缺点。

鉴于此,本发明针对数值型数据,这种在金融数据中占比极高的数据类型,提出一种质量监控方法及系统实现方案。该方法将人工设定的数值型数据质量监控规则与机器自学习的监控规则相结合,以提高数值型数据质量监控的质量、效率及覆盖面。系统即支持人工设定监控规则,还能利用统计机器学习技术对待监控历史数据进行建模,从而自动生成数据的默认监控规则,数据质量监控人员可以接受自学习的默认规则也可以在自学习规则的基础上修改参数、添加手动规则,人机结合提供规则的可靠性。另外,系统还支持监控模型的动态更新,提高监控模型的动态适应性。



技术实现要素:

本发明针对现有技术中存在的问题,提供一种数值型金融数据质量监控系统及方法,将人工设定的数值型数据质量监控规则与机器自学习的监控规则相结合,以提高数值型数据质量监控的质量、效率及覆盖面。

为实现上述目的,本发明提供的技术方案如下:

一种数值型金融数据质量监控系统,所述系统包括:待监控数据读取配置模块、数据读取与标准化模块、监控模型配置模块、数据监控规则自生成与更新模块、数据监控规则人工配置模块、调度模块、数据监控计算模块、消息推送模块、反馈模块,其中,

所述待监控数据读取配置模块用于对待监控数据进行读取配置,所述待监控数据读取配置模块与所述数据读取与标准化模块相连接;

所述数据读取与标准化模块用于根据所述待监控数据读取配置模块的数据读取配置,从数据库中读取待监控数值型数据,并把数据标准化成后续模块处理约定的格式,所述数据读取与标准化模块分别与所述待监控数据读取配置模块、所述数据监控规则自生成与更新模块、数据监控规则人工配置模块以及所述数据监控计算模块相连接;

所述监控模型配置模块用于对系统中通过自学习生成监控规则的模型超参数进行配置,所述监控模型配置模块与所述数据监控规则自生成与更新模块相连接;

所述数据监控规则自生成与更新模块用于根据机器学习监控模型和所述监控模型配置模块设置的自定义模型,以及所述数据读取与标准化模块标准化后的待监控历史数据对监控规则进行自学习,或者根据待监控数据的更新数据对监控规则进行自动更新来适应数据模型的动态变化,所述数据监控规则自生成与更新模块分别与所述数据读取与标准化模块、监控模型配置模块以及反馈模块相连接;

所述数据监控规则人工配置模块用于支持人工对所述数据监控规则自生成与更新模块自生成的模型参数进行修改和调整,完善监控规则,或者由人工自主定义新的监控规则,所述数据监控规则人工配置模块分别与所述数据读取与标准化模块以及所述数据监控规则自生成与更新模块相连接;

所述调度模块用于完成系统中各个功能模块的统一调度和执行,所述调度模块分别与所述消息推送模块以及数据监控计算模块相连接;

所述数据监控计算模块用于根据所述数据监控规则自生成与更新模块自生成的数据监控规则并综合所述数据监控规则人工配置模块的人工自定义规则对所述数据读取与标准化模块标准化后的新增待监控数据进行计算,并判断该新增数据是否触发数据异常报警;所述数据监控计算模块分别与所述数据读取与标准化模块、消息推送模块以及调度模块相连接;

所述消息推送模块根据数据监控计算模块的计算结果向数据运维人员发出相关报警;所述消息推送模块分别与所述数据监控计算模块、调度模块以及所述反馈模块相连接;

所述反馈模块用于接收数据运维人员对数据监控报警的反馈信息,并将该反馈信息反馈给所述数据监控规则自生成与更新模块根据人工反馈对模型进行调整和优化,所述反馈模块分别与所述数据监控规则自生成与更新模块以及所述消息推送模块相连接。

进一步地,所述数据读取与标准化模块包括待监控数据读取子模块以及数据格式标准化模块子模块,所述待监控数据读取子模块用于根据所述待监控数据读取配置模块所设置好的数据读取方式对待监控数据和待监控数据的历史正常数据进行读取,所述数据格式标准化模块子模块将所述待监控数据读取子模块读取的数据标准化成所述数据监控规则自生成与更新模块、数据监控计算模块可识别的标准数据格式。

进一步地,所述数据监控规则自生成与更新模块的机器学习监控模型包括高斯模型、混合高斯模型、one-classsvm模型、isolationforest模型。

本发明还提供一种基于上述系统的数值型金融数据质量监控方法,包括:

步骤a,对待监控数据进行读取配置;

步骤b,根据读取配置,从数据库中读取待监控数值型数据,并把数据标准化成后续模块处理约定的格式;

步骤c,对系统中通过自学习生成监控规则的模型超参数进行配置;

步骤d,根据机器学习监控模型和步骤c设置的自定义模型,以及步骤b标准化后的待监控历史数据对监控规则进行自学习,或者根据待监控数据的更新数据对监控规则进行自动更新来适应数据模型的动态变化;

步骤e,对步骤d中自生成的模型参数进行修改和调整,完善监控规则,或者由人工自主定义新的监控规则;

步骤f,根据步骤d自生成的数据监控规则并综合步骤e的人工自定义规则对步骤b标准化后的新增待监控数据进行计算,并判断该新增数据是否触发数据异常报警;

步骤g,根据步骤f的计算结果向数据运维人员发出相关报警;

步骤h:接收数据运维人员对数据监控报警的反馈信息,并将该反馈信息反馈到步骤d中,步骤d根据人工反馈对监控模型进行调整和优化。

进一步地,所述步骤b具体包括:

步骤b1,根据读取配置所设置好的数据读取方式对待监控数据和待监控数据的历史正常数据进行读取;

步骤b2,把读取出的数据标准化成约定的格式。

进一步地,所述步骤d具体包括:

步骤d1,判断待监控数据是否为新的待监控数据字段;

步骤d2,如何判断为新的数据字段,则根据步骤c得到的监控模型及参数进行监控模型参数估计;

步骤d3,如果不是新的待监控数据,则判断当前时间是否为待监控数据的更新时间点,如果到达更新时间点,则对监控规则的模型参数进行更新调整。

进一步地,所述步骤d中的机器学习监控模型包括高斯检测模型、混合高斯检测模型、one-classsvm检测模型、isolationforest检测模型。

进一步地,所述高斯检测模型、混合高斯检测模型、one-classsvm检测模型、isolationforest检测模型的检测计算可以通过分布式计算引擎实现。

与现有技术相比,本发明提供的一种数值型金融数据质量监控系统及方法,采用机器学习对监控规则进行自学习,并将人工设定的数据质量监控规则与机器自学习的监控规则相结合,提高了数据质量监控的质量、效率及覆盖面,同时降低了人力成本。

附图说明

图1为本发明的数值型金融数据质量监控系统的结构示意图;

图2为本发明的数值型金融数据质量监控方法的流程图;

图3为本发明的数值型金融数据质量监控方法的步骤b的具体流程图;

图4为本发明的数值型金融数据质量监控方法的步骤d的具体流程图。

具体实施方式

下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。

如图1所示,为本发明一种数值型金融数据质量监控系统的一种实施例,所述系统包括:待监控数据读取配置模块1、数据读取与标准化模块2、监控模型配置模块3、数据监控规则自生成与更新模块4、数据监控规则人工配置模块5、调度模块6、数据监控计算模块7、消息推送模块8、反馈模块9,其中,

所述待监控数据读取配置模块1用于对待监控数据进行读取配置,所述待监控数据读取配置模块1与所述数据读取与标准化模块2相连接;待监控数据读取配置模块1主要进行待监控数据的读取配置。例如:待监控数据库的数据库地址、用户、密码,待监控数据所在的数据库表名、字段名。同时也可支持用户直接输入数据读取源代码。待监控数据读取配置模块允许用户通过用户界面(基于web或移动app的用户界面),对待监控数据的数据源(包括:数据库类型、ip地址、用户、密码、待监控数据所在的数据表、待监控数据在表中的字段名等)、或者待监控数据的前端读取接口进行配置;同时也可以支持用户输入符合系统设计标准的数据读取源代码模块(例如:用python语言编写的数据读取函数)。当用户在用户界面设置完成并确认后,设置的内容将通过应用服务器(可采用微服务的方式实现)将设置内容写入应用数据库(可采用mysql,postgresql,mongo等数据库)。

所述数据读取与标准化模块2用于根据所述待监控数据读取配置模块的数据读取配置,从数据库中读取待监控数值型数据,并把数据标准化成后续模块处理约定的格式,所述数据读取与标准化模块2分别与所述待监控数据读取配置模块1、所述数据监控规则自生成与更新模块4、数据监控规则人工配置模块5以及所述数据监控计算模块7相连接。

数据读取与标准化模块2,一般包含以下子模块:

1、待监控数据读取模块21。该模块根据模块1所设置好的数据读取方式对待监控数据和待监控数据的历史正常数据进行读取。该模块一般通过计算服务单元来完成。面对海量的待监控数据,通常该计算服务单元可采用apachespark等分布式计算引擎来实现。数据读取模块根据用户输入的数据库类型、ip地址、用户、密码、待监控数据所在的数据表、表中字段名等参数调用对应的数据库读取代码库对数据进行读取。如果用户配置了待监控数据的前端读取接口,则该模块根据配置的数据读取地址和参数进行数据获取。为了支持更丰富的数据读取方式,该模块也支持用户输入符合规范的数据读取代码模块供计算服务单元调用获取数据。

2、数据格式标准化模块22。该模块将模块21读取的数据标准化成模块4、模块7可识别的标准数据格式,例如(key,value)、或者n维数据帧(dataframe)的格式。

所述监控模型配置模块3用于对系统中通过自学习生成监控规则的模型超参数进行配置,所述监控模型配置模块3与所述数据监控规则自生成与更新模块4相连接;监控模型配置模块3,主要对系统中默认支持,或自定义的数据监控模型的超参数进行配置。例如:用户可以将金融产品行情的日收益率设置成符合正态分布,同时可以将报警参数配置为:当行情的日收益率超过历史日收益率波动率方差的2倍以上时发出二级报警;当行情的日收益率超过历史日收益率方差的4倍以上时发出一级报警。

所述数据监控规则自生成与更新模块4用于根据机器学习监控模型和所述监控模型配置模块3设置的自定义模型,以及所述数据读取与标准化模块2标准化后的待监控历史数据对监控规则进行自学习,或者根据待监控数据的更新数据对监控规则进行自动更新来适应数据模型的动态变化,最后将学习到或更新后的监控规则存入规则数据库,所述数据监控规则自生成与更新模块4分别与所述数据读取与标准化模块2、监控模型配置模块3以及反馈模块9相连接。

数据监控规则自生成与更新模块4,根据系统默认的监控模型和模块3设置的自定义模型,以及模块2标准化后的待监控历史数据对监控规则进行自学习。根据金融数据的特性,我们可以设置如下常用模型:

1、高斯模型

金融产品行情的收益率通常采用高斯模型来建模。因此,该类数据的检测规则可以通过对不同金融产品的历史收益率数据采用高斯模型来建模。具体来说,通过计算不同金融产品历史收益率的均值和标准差来建立规则模型。

2、混合高斯模型

混合高斯模型也是常用的数值型数据建模工具之一。当待监控数据模型无法用高斯模型准确建模时,可以采用混合高斯模型对数据进行建模。混合高斯模型把数据取值的概率表示为多个高斯模型的线性加和。该模型的超参数(多个高斯模型的均值、标准差、线性加和的权重)可以采用em(expectationmaximization)算法在历史正常数据的基础上进行估计。

3、one-classsvm模型

当待监控数据无法用上述模型简单表示。我们可以采用one-classsvm(单类支持向量机)对待监控数据进行建模。one-classsvm模型在异常事件检测中被广泛使用。该方法通过构造正常历史数据的支撑超平面,来检测待监控数据是否为正常数据。

4、isolationforest模型

isolationforest模型也是一种无需事先已知数据分布模型的方法。它利用当使用随机树模型对异常数据与正常数据进行分割时经过的路径(树的节点)较短的特点,对异常数据进行检测。

由于不断会有新的数据更新到数据库中,该模块同时还需要根据新的数据对监控规则进行更新,更新方法可以采用全量历史数据对监控规则(模型参数)进行重新计算,也可以根据最近一段时间的正常历史数据对监控规则(模型参数)进行重新计算。

数据监控规则自生成与更新模块4可以设计成包含以下步骤:

步骤1:判断待监控数据是否为新的待监控数据字段;

步骤2:如果步骤1判断为新的数据字段,则根据监控模型配置模块3得到的监控模型及参数进行监控模型参数估计41(计算方法如前所述);

步骤3:如果不是新的待监控数据,则判断当前时间是否为待监控数据的更新时间点。如果到达更新时间点,则对监控规则的模型参数进行更新调整42(计算方法如前所述,可以根据全量历史数据进行更新、也可以根据最近一段时间内历史数据进行更新)。否则结束当前模块;

数据监控规则自生成与更新模块的所有计算均可以采用apachespark,apacheflink等分布式计算引擎实现。

所述数据监控规则人工配置模块5用于支持人工对所述数据监控规则自生成与更新模块4自生成的模型参数进行修改和调整,完善监控规则,或者由人工自主定义新的监控规则,并将人工完善或自定义的规则存入规则数据库,所述数据监控规则人工配置模块5分别与所述数据读取与标准化模块2以及所述数据监控规则自生成与更新模块4相连接。

数据监控规则人工配置模块5采用机器学习产生的数据监控规则,在历史正常数据较少的情况,容易出现监控规则不够完善的情况,模块5支持人工对自动生成的监控规则进行修改和添加新的规则。让自动生成规则与人工规则相配合,提高系统的灵活性及适应性。

所述调度模块6用于完成系统中各个功能模块的统一调度和执行,所述调度模块6分别与所述消息推送模块8以及数据监控计算模块7相连接;

所述数据监控计算模块7用于根据所述数据监控规则自生成与更新模块4自生成的数据监控规则并综合所述数据监控规则人工配置模块5的人工自定义规则对所述数据读取与标准化模块标准化后的新增待监控数据进行计算,并判断该新增数据是否触发数据异常报警;所述数据监控计算模块7分别与所述数据读取与标准化模块2、消息推送模块8以及调度模块6相连接;

所述消息推送模块8根据数据监控计算模块7的计算结果向数据运维人员发出相关报警;所述消息推送模块8分别与所述数据监控计算模块7、调度模块6以及所述反馈模块9相连接。该模块将数据监控计算模块输出的数据质量监控报警信息,包括触发报警的数据基本信息及报警级别等,利用消息推送系统,通过微信、短信、应用app等渠道推送给客户。例如:app推送可通过mqtt、xmpp等协议实现,也可以调用阿里云移动推送、腾讯信鸽推送等第三方平台实现。

所述反馈模块9用于接收数据运维人员对数据监控报警的反馈信息,并将该反馈信息反馈给所述数据监控规则自生成与更新模块4根据人工反馈对模型进行调整和优化,如果人工反馈发出报警的信号为假信号,则需要反馈给数据监控规则自生成与更新模块根据当前输入数值及时进行监控规则调整。所述反馈模块9分别与所述数据监控规则自生成与更新模块4以及所述消息推送模块8相连接。

这里就数据监控规则自生成与更新模块4中阐述的几种常用自动监控规则模型,获得新的待监控数据后的检测计算方法进行介绍:

(1)高斯模型检测

当待检测数据输入时,采用建立好的高斯模型估计出现该数值的概率p,其中μ,δ分别为模块4计算出来的均值和标准差。如果模块5中参数有人工修正,则计算以人工修正的参数为准。当计算的概率p低于设定的数值时(由模块4和模块5进行配置),则发出不同级别的报警信号;

(2)混合高斯模型检测

采用模块4建立好的高斯模型估计出现该数值x的概率,其中k为高斯模型的数目,ωi为第i个高斯模型的权重,μi,σi为第i个高斯模型的均值和标准差。当输入数值的概率低于设定的数值时(由模块4进行配置),则发出不同级别的报警信号;

(3)one-classsvm模型检测

当输入待检测数据x,利用模块4建立的one-classsvm模型,计算模型的输出值,其中αi,ρ为模块4根据历史正常数据训练得到的模型参数。

(4)isolationforest模型检测

利用isolationforest,随机选择特征和分割值对待检测数据与历史正常数据进行分割,如果经过的分割路径小于一定的阈值则判断为异常数据。

上述的数据检测计算可以通过apachespark计算引擎实现。对实时性要求较高的可通过sparkstreaming,apacheflink等实时分布式计算引擎来完成计算。

如图2所示,为本发明一种数值型金融数据质量监控方法的一种实施例,该方法包括:

步骤a,对待监控数据进行读取配置;

步骤b,根据读取配置,从数据库中读取待监控数值型数据,并把数据标准化成后续模块处理约定的格式;

步骤c,对系统中通过自学习生成监控规则的模型超参数进行配置;

步骤d,根据机器学习监控模型和步骤c设置的自定义模型,以及步骤b标准化后的待监控历史数据对监控规则进行自学习,或者根据待监控数据的更新数据对监控规则进行自动更新来适应数据模型的动态变化;

步骤e,对步骤d中自生成的模型参数进行修改和调整,完善监控规则,或者由人工自主定义新的监控规则;

步骤f,根据步骤d自生成的数据监控规则并综合步骤e的人工自定义规则对步骤b标准化后的新增待监控数据进行计算,并判断该新增数据是否触发数据异常报警;

步骤g,根据步骤f的计算结果向数据运维人员发出相关报警;

步骤h:接收数据运维人员对数据监控报警的反馈信息,并将该反馈信息反馈到步骤d中,步骤d根据人工反馈对监控模型进行调整和优化。

具体地,参考图3,所述步骤b包括:

步骤b1,根据读取配置所设置好的数据读取方式对待监控数据和待监控数据的历史正常数据进行读取;

步骤b2,把读取出的数据标准化成约定的格式。

具体地,参考图4,所述步骤d包括:

步骤d1,判断待监控数据是否为新的待监控数据字段;

步骤d2,如何判断为新的数据字段,则根据步骤c得到的监控模型及参数进行监控模型参数估计;

步骤d3,如果不是新的待监控数据,则判断当前时间是否为待监控数据的更新时间点,如果到达更新时间点,则对监控规则的模型参数进行更新调整。

所述步骤d中的机器学习监控模型包括高斯检测模型、混合高斯检测模型、one-classsvm检测模型、isolationforest检测模型。

所述高斯检测模型、混合高斯检测模型、one-classsvm检测模型、isolationforest检测模型的检测计算可以通过apachespark计算引擎实现。

本发明提供一种数值型金融数据质量监控系统及方法,针对金融数值型数据,数据多样体量庞大、涉及金融产品标的繁多,而且通过人工编码方式设定监控规则任务繁重,容易疏漏的问题,提出采用机器学习对监控规则进行自学习,并将人工设定的数据质量监控规则与机器自学习的监控规则相结合,有效地提高了数据质量监控的质量、效率及覆盖面。

以上所述仅为本发明的较佳实施例,并不用于限制本发明,凡在本发明的精神和原则内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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