一种金融产品推荐系统、方法、设备及介质与流程

文档序号:17329106发布日期:2019-04-05 21:58阅读:206来源:国知局
一种金融产品推荐系统、方法、设备及介质与流程

本申请涉及信息推荐技术领域,特别涉及一种金融产品推荐系统、方法、设备及介质。



背景技术:

目前,个人投资者或金融机构为了降低投资风险,习惯于将自身所持有的资产投资于多个不同的金融产品,如多只股票、多个基金、多只债券,或同时投资股市、基金和债券等多种金融产品。这些投资组合在一定程度上能够降低投资风险,其主要思想是通过使选择的金融产品尽可能的分散化、多样化以达到分散投资者投资风险,减少不必要投资损失。

然而,现在人们很难做出较优的投资组合。以主流的金融产品股票为例,在实际的股票投资组合选取过程中,由于个股的数量大,种类庞多,且极易受股市的影响,因此往往不容易获取到较为分散的投资组合选股,致使人们需要承受较大的投资风险。如何为用户提供投资风险较低的投资组合是目前有待进一步解决的问题。



技术实现要素:

有鉴于此,本申请的目的在于提供一种金融产品推荐系统、方法、设备及介质,能够为用户提供投资风险较低的投资组合。其具体方案如下:

第一方面,本申请公开了一种金融产品推荐系统,包括:

数量值确定模块,用于确定预设数量值n;

聚类中心确定模块,用于根据所述预设数量值n,从预设金融产品样本池中选取出n个金融产品样本作为n个初始聚类中心;

样本聚类模块,用于基于所述n个初始聚类中心,并利用isodata算法,对所述预设金融产品样本池中的所有金融产品样本进行聚类操作,得到相应的聚类结果;

待推荐样本确定模块,用于根据所述聚类结果中的各个最终聚类中心,确定出待推荐的多个金融产品样本;

通讯模块,用于通过预设的通讯接口将所述待推荐的多个金融产品样本传输至相应的用户终端设备。

可选的,所述金融产品推荐系统,还包括:

样本池构建模块,用于从预设的金融产品数据库中爬取预设天数内的金融产品,得到所述预设金融产品样本池。

可选的,金融产品推荐系统,还包括:

归一化处理模块,用于利用预设公式,对所述金融产品样本的原始日收益率进行归一化处理,得到相应的归一化日收益率;

样本值确定模块,用于将所述归一化日收益率作为所述金融产品样本的样本值;

其中,所述预设公式为:

p_value*=(p_value-min)/max-min;

其中,p_value*表示所述归一化日收益率,p_value表示所述原始日收益率,min表示所述预设天数内的最小原始日收益率,max表示所述预设天数内的最大原始日收益率。

可选的,所述数量值确定模块,具体用于利用手肘法确定预设数量值n。

第二方面,本申请公开了一种金融产品推荐方法,包括:

确定预设数量值n;

根据所述预设数量值n,从预设金融产品样本池中选取出n个金融产品样本作为n个初始聚类中心;

基于所述n个初始聚类中心,并利用isodata算法,对所述预设金融产品样本池中的所有金融产品样本进行聚类操作,得到相应的聚类结果;

根据所述聚类结果中的各个最终聚类中心,确定出待推荐的多个金融产品样本;

通过预设的通讯接口将所述待推荐的多个金融产品样本传输至相应的用户终端设备。

可选的,所述确定预设数量值n之前,还包括:

从预设的金融产品数据库中爬取预设天数内的金融产品,得到所述预设金融产品样本池。

可选的,所述确定预设数量值n之前,还包括:

利用预设公式,对所述金融产品样本的原始日收益率进行归一化处理,得到相应的归一化日收益率;

将所述归一化日收益率作为所述金融产品样本的样本值;

其中,所述预设公式为:

p_value*=(p_value-min)/max-min;

其中,p_value*表示所述归一化日收益率,p_value表示所述原始日收益率,min表示所述预设天数内的最小原始日收益率,max表示所述预设天数内的最大原始日收益率。

可选的,所述确定预设数量值n,包括:

利用手肘法确定预设数量值n。

第三方面,本申请公开了一种金融产品推荐设备,包括:

存储器,用于保存计算机程序;

处理器,用于执行所述计算机程序,以实现前述公开的金融产品推荐方法。

第四方面,本申请公开了一种计算机可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述公开的金融产品推荐方法。

可见,本申请在确定出预设数量值之后,从预设金融产品样本池中选取出相应数量的金融产品样本作为初始聚类中心,然后利用isodata算法对所有金融产品样本进行聚类操作,接着根据聚类结果中的各个最终的聚类中心,确定出待推荐的金融产品样本,并通过预设通讯接口推荐到相应的用户终端设备。由此可见,本申请是基于isodata算法对预设金融产品样本池中的所有金融产品样本进行聚类操作,这样可以得到多个最终的聚类中心,并且这些聚类中心之间的相似性非常低,以这些相似性较低的多个聚类中心为依据所确定出的多个待推荐的金融产品样本具有更大的分散性,这样有利于降低用户的投资风险。综上,本申请能够为用户提供投资风险较低的投资组合。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本申请公开的一种金融产品推荐系统结构示意图;

图2为手肘法应用示意图;

图3为本申请公开的一种金融产品推荐方法流程图;

图4为本申请公开的一种具体的金融产品推荐方法流程图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

本申请实施例公开了一种金融产品推荐系统,参见图1所示,该系统包括:

数量值确定模块11,用于确定预设数量值n;

聚类中心确定模块12,用于根据所述预设数量值n,从预设金融产品样本池中选取出n个金融产品样本作为n个初始聚类中心;

样本聚类模块13,用于基于所述n个初始聚类中心,并利用isodata算法(即iterativeselforganizingdataanalysistechniquesalgorithm,迭代自组织数据分析算法),对所述预设金融产品样本池中的所有金融产品样本进行聚类操作,得到相应的聚类结果;

待推荐样本确定模块14,用于根据所述聚类结果中的各个最终聚类中心,确定出待推荐的多个金融产品样本;

通讯模块15,用于通过预设的通讯接口将所述待推荐的多个金融产品样本传输至相应的用户终端设备。

可以理解的是,在利用isodata算法进行上述聚类操作的过程中,具体可以通过欧式距离来计算各个金融产品与各聚类中心之间的相似度,另外,在上述聚类操作过程中,还会修正聚类中心并计算各类中的各金融产品样本的距离指标函数,并按照给定的要求,将前一次获得的聚类集进行合并和分裂处理,从而获得新的聚类中心,特别地,若聚类中心的数目小于或等于预期值的一半,或者说迭代运算的次数是奇数次迭代且聚类中心的数目小于预期值的两倍,则对已有的聚类进行分裂处理;相反,若迭代运算的次数是偶数次或者聚类中心的数目大于预期值的两倍,则进行相应的合并处理。另外,还需在每次迭代过程中计算各项参数指标,并根据得到的参数指标来判断聚类结果是否符合要求。经过多次迭代后,若结果收敛,则聚类运算结束,从而得到相应的聚类结果。

进一步的,所述待推荐样本确定模块14在确定待推荐的金融产品样本时,若聚类结果中聚类簇的聚类中心是某个金融产品样本,则直接选取该聚类中心作为投资组合的待推荐的金融产品样本;若聚类簇的聚类中心不是金融产品样本数据,则用欧氏距离方法计算该簇中所有金融产品样本数据到聚类中心的距离,并选取距离最小的金融产品样本作为待推荐的金融产品样本。

可以理解的是,本实施例中的金融产品包括但不限于股票、基金、债券、期货、保单等。

可见,本申请实施例在确定出预设数量值之后,从预设金融产品样本池中选取出相应数量的金融产品样本作为初始聚类中心,然后利用isodata算法对所有金融产品样本进行聚类操作,接着根据聚类结果中的各个最终的聚类中心,确定出待推荐的金融产品样本,并通过预设通讯接口推荐到相应的用户终端设备。由此可见,本申请实施例是基于isodata算法对预设金融产品样本池中的所有金融产品样本进行聚类操作,这样可以得到多个最终的聚类中心,并且这些聚类中心之间的相似性非常低,以这些相似性较低的多个聚类中心为依据所确定出的多个待推荐的金融产品样本具有更大的分散性,这样有利于降低用户的投资风险。综上,本申请实施例能够为用户提供投资风险较低的投资组合。

在前述实施例的基础上,本申请实施例对技术方案作了进一步的优化和说明。具体的:

本实施例中,所述金融产品推荐系统,还可以进一步包括:

样本池构建模块,用于从预设的金融产品数据库中爬取预设天数内的金融产品,得到所述预设金融产品样本池。

例如,可以从沪深300成份股、上证指数、深圳指数等常用的股票池中爬取预设天数内的股票交易数据,然后将爬取到的数据加入到预设金融产品样本池中。本实施例中,上述爬取过程的时间以天数为单位,其中,天数的选取对聚类的效果有着极大的影响,天数过长会增加聚类过程的计算复杂度,天数太短会降低聚类的准确度和可信度,经过反复的论证,本实施例可以将上述预设天数所处的范围可以是30至60天。

进一步的,由于考虑到不同股票等金融产品具有不同的量纲,这会对数据相似度的结果产生影响,为了消除日收益率之间的量纲影响,在计算各金融产品之间的相似度之前,需要先对股票、基金等金融产品进行标准化处理,以解决各金融产品日收益率之间的可比性问题。具体的,所述金融产品推荐系统,还可以包括:

归一化处理模块,用于利用预设公式,对所述金融产品样本的原始日收益率进行归一化处理,得到相应的归一化日收益率;

样本值确定模块,用于将所述归一化日收益率作为所述金融产品样本的样本值;

其中,所述预设公式为:

p_value*=(p_value-min)/max-min;

其中,p_value*表示所述归一化日收益率,p_value表示所述原始日收益率,min表示所述预设天数内的最小原始日收益率,max表示所述预设天数内的最大原始日收益率。

其中,原始日收益率p_value的计算公式具体为:

p_value=(incomei-incomei-1)/incomei-1;

其中,incomei是指金融产品第i天的收益。则原始日收益率p_value表示当天收益相比于昨天收益的增长率。因此各金融产品可以看作是在固定时间内以收益率为基准的金融时间序列。这里选取收益率作为度量进行分析是源于收益率更能够反映股票等金融产品的变化趋势,可信度高,而且计算简单,易于获取。

可以理解的是,原始金融产品数据经过上述归一化处理之后,各金融产品的日收益率处于同一数量级,这样方便于进行不同金融产品之间的日收益率之差的计算。本实施例中,特定时间内两个金融产品的日收益率偏差是判断这两个金融产品的相关性的重要指标。

另外,本实施例中,所述数量值确定模块,具体可以用于利用手肘法确定预设数量值n。

其中,手肘法用于确定初始聚类中心的数目的的核心思想是:随着聚类数k的增大,金融产品样本会被划分的更为精细,每个簇的聚类程度会逐渐提高,这样误差平方和sse自然就会逐渐变小。并且,当聚类数k小于真实聚类数时,由于k的增大会大幅增加每个簇的聚合程度,故sse的下降幅度会很大,而当k到达真实聚类数时,再增加k所得到的聚合程度回报会迅速变小,所以的下降幅度会骤减,然后随着k值的继续增大而趋于平缓,也就是说sse和k的关系图是一个手肘的形状,参见图2所示,而这个肘部对应的k值就是数据的真实聚类数。以图2中示出的例子为例,肘部对于的k值为4,故对于图2所对应的数据集聚类而言,最佳的初始聚类数应该是4。

需要指出的是,为了计算上述误差平方和sse,可以从预设金融产品样本池中随机选取出k个聚类中心,通过枚举令k从2到一个固定值如10,然后在每个k值上重复运行数次k-means算法,并计算当前k对应的sse,具体的计算公式如下:

其中,ci表示第i个簇,p是簇ci的样本点,mi是簇ci中所有样本的均值,sse是所有样本的聚类误差,也是手肘法的核心指标,代表了聚类效果的好坏。

可见,本实施例中isodata聚类过程中的初始聚类中心的数量是通过多次k-means并结合手肘法来确定的,这样有利于减少聚类算法的迭代次数,降低计算过程所需时间。另外,本实施例通过数据的归一化处理有效的避免了因资本不同而导致数据量纲有差异进而影响聚类结果的情况出现。

参见图3所示,本申请实施例进一步公开了一种金融产品推荐方法,包括:

步骤s11:确定预设数量值n;

步骤s12:根据所述预设数量值n,从预设金融产品样本池中选取出n个金融产品样本作为n个初始聚类中心;

步骤s13:基于所述n个初始聚类中心,并利用isodata算法,对所述预设金融产品样本池中的所有金融产品样本进行聚类操作,得到相应的聚类结果;

步骤s14:根据所述聚类结果中的各个最终聚类中心,确定出待推荐的多个金融产品样本;

步骤s15:通过预设的通讯接口将所述待推荐的多个金融产品样本传输至相应的用户终端设备。

可以理解的是,在利用isodata算法进行上述聚类操作的过程中,具体可以通过欧式距离来计算各个金融产品与各聚类中心之间的相似度,另外,在上述聚类操作过程中,还会修正聚类中心并计算各类中的各金融产品样本的距离指标函数,并按照给定的要求,将前一次获得的聚类集进行合并和分裂处理,从而获得新的聚类中心,特别地,若聚类中心的数目小于或等于预期值的一半,或者说迭代运算的次数是偶数次迭代且聚类中心的数目小于预期值的两倍,则对已有的聚类进行分裂处理;相反,若迭代运算的次数是奇数次或者聚类中心的数目大于预期值的两倍,则进行相应的合并处理。另外,还需在每次迭代过程中计算各项参数指标,并根据得到的参数指标来判断聚类结果是否符合要求。经过多次迭代后,若结果收敛,则聚类运算结束,从而得到相应的聚类结果。

进一步的,在确定待推荐的金融产品样本时,若聚类结果中聚类簇的聚类中心是某个金融产品样本,则直接选取该聚类中心作为投资组合的待推荐的金融产品样本;若聚类簇的聚类中心不是金融产品样本数据,则用欧氏距离方法计算该簇中所有金融产品样本数据到聚类中心的距离,并选取距离最小的金融产品样本作为待推荐的金融产品样本。

可以理解的是,本实施例中的金融产品包括但不限于股票、基金、债券、期货、保单等。

可见,本申请实施例在确定出预设数量值之后,从预设金融产品样本池中选取出相应数量的金融产品样本作为初始聚类中心,然后利用isodata算法对所有金融产品样本进行聚类操作,接着根据聚类结果中的各个最终的聚类中心,确定出待推荐的金融产品样本,并通过预设通讯接口推荐到相应的用户终端设备。由此可见,本申请实施例是基于isodata算法对预设金融产品样本池中的所有金融产品样本进行聚类操作,这样可以得到多个最终的聚类中心,并且这些聚类中心之间的相似性非常低,以这些相似性较低的多个聚类中心为依据所确定出的多个待推荐的金融产品样本具有更大的分散性,这样有利于降低用户的投资风险。综上,本申请实施例能够为用户提供投资风险较低的投资组合。

进一步的,所述确定预设数量值n之前,还可以包括:

从预设的金融产品数据库中爬取预设天数内的金融产品,得到所述预设金融产品样本池。

例如,可以从沪深300成份股、上证指数、深圳指数等常用的股票池中爬取预设天数内的股票交易数据,然后将爬取到的数据加入到预设金融产品样本池中。本实施例中,上述爬取过程的时间以天数为单位,其中,天数的选取对聚类的效果有着极大的影响,天数过长会增加聚类过程的计算复杂度,天数太短会降低聚类的准确度和可信度,经过反复的论证,本实施例可以将上述预设天数所处的范围可以是30至60天。

进一步的,由于考虑到不同股票等金融产品具有不同的量纲,这会对数据相似度的结果产生影响,为了消除日收益率之间的量纲影响,在计算各金融产品之间的相似度之前,需要先对股票、基金等金融产品进行标准化处理,以解决各金融产品日收益率之间的可比性问题。具体的,所述确定预设数量值n之前,还可以包括:

利用预设公式,对所述金融产品样本的原始日收益率进行归一化处理,得到相应的归一化日收益率;

将所述归一化日收益率作为所述金融产品样本的样本值;

其中,所述预设公式为:

p_value*=(p_value-min)/max-min;

其中,p_value*表示所述归一化日收益率,p_value表示所述原始日收益率,min表示所述预设天数内的最小原始日收益率,max表示所述预设天数内的最大原始日收益率。

其中,原始日收益率p_value的计算公式具体为:

p_value=(incomei-incomei-1)/incomei-1;

其中,incomei是指金融产品第i天的收益。则原始日收益率p_value表示当天收益相比于昨天收益的增长率。因此各金融产品可以看作是在固定时间内以收益率为基准的金融时间序列。这里选取收益率作为度量进行分析是源于收益率更能够反映股票等金融产品的变化趋势,可信度高,而且计算简单,易于获取。

可以理解的是,原始金融产品数据经过上述归一化处理之后,各金融产品的日收益率处于同一数量级,这样方便于进行不同金融产品之间的日收益率之差的计算。本实施例中,特定时间内两个金融产品的日收益率偏差是判断这两个金融产品的相关性的重要指标。

进一步的,所述确定预设数量值n,具体可以包括:利用手肘法确定预设数量值n。

其中,手肘法用于确定初始聚类中心的数目的的核心思想是:随着聚类数k的增大,金融产品样本会被划分的更为精细,每个簇的聚类程度会逐渐提高,这样误差平方和sse自然就会逐渐变小。并且,当聚类数k小于真实聚类数时,由于k的增大会大幅增加每个簇的聚合程度,故sse的下降幅度会很大,而当k到达真实聚类数时,再增加k所得到的聚合程度回报会迅速变小,所以的下降幅度会骤减,然后随着k值的继续增大而趋于平缓,也就是说sse和k的关系图是一个手肘的形状,而这个肘部对应的k值就是数据的真实聚类数。

需要指出的是,为了计算上述误差平方和sse,可以从预设金融产品样本池中随机选取出k个聚类中心,通过枚举令k从2到一个固定值如10,然后在每个k值上重复运行数次k-means算法,并计算当前k对应的sse,具体的计算公式如下:

其中,ci表示第i个簇,p是簇ci的样本点,mi是簇ci中所有样本的均值,sse是所有样本的聚类误差,也是手肘法的核心指标,代表了聚类效果的好坏。

可见,本实施例中isodata聚类过程中的初始聚类中心的数量是通过多次k-means并结合手肘法来确定的,这样有利于减少聚类算法的迭代次数,降低计算过程所需时间。另外,本实施例通过数据的归一化处理有效的避免了因资本不同而导致数据量纲有差异进而影响聚类结果的情况出现。

参见图4所示,本申请实施例公开了一种具体的股票推荐方法,包括:

步骤s21:从预设的股票数据库中爬取预设天数内的股票样本,得到预设股票样本池。

步骤s22:计算所述预设股票样本池中每个股票的归一化日收益率,并将其作为股票样本的样本值。

步骤s23:利用手肘法确定预设数量值n。

步骤s24:根据所述预设数量值n,从预设股票样本池中随机选取出n个股票样本作为n个初始聚类中心。

步骤s25:基于所述n个初始聚类中心,并利用isodata算法,对所述预设股票样本池中的所有股票样本进行聚类操作,得到相应的聚类结果。

步骤s26:根据所述聚类结果中的各个最终聚类中心,确定出待推荐的多个股票样本。

步骤s27:通过预设的通讯接口将所述待推荐的多个股票样本传输至相应的用户终端设备。

进一步的,本申请实施例还公开了一种金融产品推荐设备,包括:

存储器,用于保存计算机程序;

处理器,用于执行所述计算机程序,以实现前述实施例公开的金融产品推荐方法。

进一步的,本申请实施例还公开了一种计算机可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时前述实施例公开金融产品推荐方法。

其中,关于上述方法的具体步骤可以参考前述实施例中公开的相应内容,在此不再进行赘述。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

以上对本申请所提供的一种金融产品推荐系统、方法、设备及介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

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