一种投资推荐方法和投资推荐系统

专利查询6月前  53



1.本发明涉及投资技术领域,具体涉及一种投资推荐方法和投资推荐系统。


背景技术:

2.随着证券市场指数的发展,指数衍生产品日益创新,指数化投资组合日益受到投资者的追捧,因为它具有风险小、费用低廉、高流动性等特点。指数化投资起源、发展于国外,是量化投资的技术和方法的深入应用的一种被动化管理方式,以复制和跟踪某一市场指数为目标,通过充分分散风险,获得市场平均的收益率。指数追踪研究是资本市场的重要研究领域,而深度学习框架非常适合解决金融领域的许多问题。
3.深度学习是机器学习领域中一个分支,是一类算法模型结构的总称,常用的深度学习模型有深度神经网络、栈式自动编码器、深度信念网络、深度卷积神经网络、循环神经网络等。对具体算法模型而言有:深度神经网络(dnn)、长短期记忆人工神经网络(lstm)、多层感知器(mlp)、神经网络(nn)、自编码器(auto-encoder)等。
4.目前已有学者将以上机器学习、深度学习模型引入到投资组合构建中,其主要应用方向可以大致分为三方面:深度学习结合传统经济学模型构建投资组合、通过预测股票价格构建投资组合、通过追踪目标指数构建投资组合。
5.然而,并未有提出将深度学习和指数追踪两者结合以降低成分股权重分配的跟踪误差的问题。


技术实现要素:

6.本发明的目的在于提供一种投资推荐方法和投资推荐系统,以解决现有的投资推荐方法未能够降低成分股权重分配的跟踪误差的问题。
7.本发明解决上述技术问题的技术方案如下:
8.本发明提供一种投资推荐方法,所述投资推荐方法包括:
9.s1:对成分股的相关信息进行预处理,得到成分股的金融数据,其中,所述金融数据为序列形式的金融数据;
10.s2:获取多个目标指数成分股的成分股子集,其中,各所述目标指数成分股至少包括一个成分股子集;
11.s3:利用深度自编码器对所有所述目标指数成分股的成分股子集进行筛选操作,得到多个有效的成分股子集;
12.s4:对各所述有效的成分股子集进行回测操作,得到各目标指数成分股的隶属数据;
13.s5:利用深度学习算法对各所述目标指数成分股的历史数据进行优化,得到各所述有效的成分股子集中的若干优质成分股子集;
14.s6:根据若干所述优质成分股子集,对投资目标进行权重分配推荐。
15.可选择地,所述步骤s3中,所述深度自编码器包括依次连接的输入层、编码层、特
征提取层、解码层和输出层,所述编码层用于将高维输入转换为低维编码数据,所述解码层用于将所述低维编码数据转换为高维数据。
16.一种基于上述投资推荐方法的投资推荐系统,所述投资推荐系统包括依次连接的数据层、业务逻辑层、接口层和显示层,所述数据层用于存放关系型数据、缓存常用数据以及建立金融数据库;所述业务逻辑层用于响应前端逻辑处理和数据请求;所述接口层用于前端访问后台数据库和请求后台算法逻辑;所述显示层用于实现页面展示和交互。
17.可选择地,所述数据层包括关系型数据库管理模块、数据存储模块和分布式文件存储数据库模块;所述业务逻辑层包括业务处理模块和算法模块。
18.本发明具有以下有益效果:
19.通过上述技术方案,即通过本发明所提供的投资推荐方法,深度自编码器和深度算法的有效结合,能够解决现有的投资推荐方法未能够降低成分股权重分配的跟踪误差的问题。
附图说明
20.图1为本发明实施例所提供的投资推荐方法的流程图;
21.图2为深度自编码器的结构示意图1;
22.图3为深度自编码器的结构示意图2;
23.图4为本发明所提供的投资推荐系统的结构示意图;
24.图5为本发明所提供的投资推荐系统的工作流程图;
25.图6为本发明所提供的投资推荐系统的接口交互过程示意图;
26.图7为本发明所提供的投资推荐系统的服务器与数据库之间的接口交互示意图;
27.图8为沪深300指数成分股市场相关性示意图;
28.图9为沪深300指数与按权重指数追踪组合日涨跌幅示意图;
29.图10沪深300指数与等权重指数追踪组合日涨跌幅示意图。
具体实施方式
30.以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
31.实施例1
32.本发明提供一种投资推荐方法,参考图1所示,所述投资推荐方法包括:
33.s1:对成分股的相关信息进行预处理,得到成分股的金融数据,其中,所述金融数据为序列形式的金融数据;
34.s2:获取多个目标指数成分股的成分股子集,其中,各所述目标指数成分股至少包括一个成分股子集;
35.s3:利用深度自编码器对所有所述目标指数成分股的成分股子集进行筛选操作,得到多个有效的成分股子集;
36.s4:对各所述有效的成分股子集进行回测操作,得到各目标指数成分股的隶属数据;
37.s5:利用深度学习算法对各所述目标指数成分股的历史数据进行优化,得到各所
述有效的成分股子集中的若干优质成分股子集;
38.s6:根据若干所述优质成分股子集,对投资目标进行权重分配推荐。
39.可选择地,参考图2所示,所述步骤s3中,所述深度自编码器包括依次连接的输入层、编码层、特征提取层、解码层和输出层,所述编码层用于将高维输入转换为低维编码数据,所述解码层用于将所述低维编码数据转换为高维数据。
40.本发明具有以下有益效果:
41.通过上述技术方案,即通过本发明所提供的投资推荐方法,深度自编码器和深度算法的有效结合,能够解决现有的投资推荐方法未能够降低成分股权重分配的跟踪误差的问题。
42.实施例2
43.从tushare平台获取沪深300指数日线数据以及其成分股日线数据,本文所获取的数据时间范围是2017年01月03日至2020年12月31日4年整数据,共974个交易日,获取数据包括沪深300指数成分股基本信息,沪深300指数2017年至2020年日频数据,并且利用获取的沪深300指数成分股基本信息得到其所有成分股股票代码,这里包括300只成分股,分别获取这300只成分股2017年至2020年日频数据,在实验前需对300股票数据进行处理,去除停牌过的股票,即交易日小于974天的股票,剩余156只股票,样本数据划分说明如表4所示,其中训练集的时间范围是2017年01月03日至2019年12月31日,共731天交易,测试集的时间范围是2020年01月02日至2020年12月31日,共243天交易日,以下为实验所需数据表。
44.表1指数成分股和权重数据
[0045][0046]
表2指数日行情数据
[0047][0048]
表3成分股日行情数据
[0049][0050]
表4样本数据划分说明
[0051][0052][0053]
模型结构
[0054]
基于深度自编码器从目标指数的成分股中选择数量相对较少但包含指数市场信息相对较多的股票,然后使用深度神经网络将所选股票与指数拟合。该路线包括两个步骤:

从目标指数的成分股中选出成分股子集构成投资组合。

为投资组合中的成分股分配权重。
[0055]
选股构造股池
[0056]
用深度自编码器找到市场相关性,构造组合的股票池,实验中所使用的深度自编码器结构如图3所示。
[0057]
基于深度自编码器的选股模型如下:
[0058]
输入数据:x=[x1,x2,

,xn],xi(i=1,2,

n),是股票i的时间序列数据编码过程:
[0059]
解码过程:
[0060]
w1,w2,w3,w4为自编码器权重,b1,b2,b3,b4为偏差,是激活函数,z可以认为是由n只股票组成的市场组合,包含了不同股票间的非线性交互作用。通过解码后的数据y则包含了指数市场的信息。重构股票数据y与原始数据x之间的相似性可以用来衡量股票和目标指数市场之间的共同信息。重构数据与原数据越相似,则该股票与所包含市场共同信息越多,反之则包含市场非共同信息越多。
[0061]
衡量股票和市场投资组合的共同信息:diffi=||y
i-xi||2。
[0062]
diffi越小,股票和市场组合间的相关性越多。
[0063]
输出数据:y=[y1,y2,

,yn],yi(i=1,2,

n)是股票i的时间序列数据。
[0064]
得到成分股与市场的相关性对比排序后,通过选择用65只股票来复制沪深300指数。由于多只股票提供相似的信息对于构造投资组合没有任何益处,反之指数追踪需要多只尽可能包含所有目标指数市场信息的股票,因此本文选择5支市场相关性强的股票加上60只市场相关性弱的股票来构造深度投资组合;这里使用了更多的市场相关性弱的股票,是因为它们提供了更多市场共同信息中所没有的信息。由此实现了股池构建,为下一步权重配置确定了投资组合组成。
[0065]
权重配置及跟踪效果探究
[0066]
将第一步中选出的65只股票确定为指数序列跟踪组合中的股票。在此基础之上,进一步利用深度神经网络拟合指数序列跟踪组合股票与跟踪指数以最小化跟踪误差,进而确定指数序列跟踪组合中个股的投资权重。由深度神经网络预测所得权重对每只股票按权重组合,构建得到指数追踪的投资组合。
[0067]
为了更精确地衡量探究新指数跟踪组合对沪深300指数的跟踪效果,进一步通过计算指数跟踪组合对沪深300指数的跟踪误差(te)反应跟踪效果。
[0068]
组合跟踪误差(te)可以定义为跟踪组合与标的指数收益率差值的标准差:
[0069][0070]
其中te表示组合跟踪误差,td表示组合的跟踪偏离度,表示组合的跟踪偏离度的样本均值,n为样本数,指数跟踪的组合。
[0071]
前后端交互设计
[0072]
指数追踪的资组合推荐模块在分布式系统中通过消息中间件与前端进行交互。具体工作流程如下:

用户通过前端界面选择想要追踪的目标指数,前端将目标指数代码发送到消息中间件;

指数追踪的资组合推荐模块通过订阅者模式,获取到前端发送到消息中间件的目标指数代码数据;

根据这些数据,从数据库筛选目标指数成分股,特定推荐开始时间的数据,以特定时间粒度整合数据,然后形成投资组合推荐模型的输入;

通过模型得到推荐投资组合结果,发送到消息中间件中;

前端从消息中间件中读取数据,通过ui界面展示投资组合推荐列表。
[0073]
系统总体设计
[0074]
系统的总体设计架构如图4所示,包括两个主要的子系统,即投资组合推荐子系统、投资组合回测子系统。投资组合推荐子系统包括数据采集、数据存储、风险画像、资产配置推荐、指数化投资组合推荐等多个单元模块,投资组合回测子系统包括投资组合回测和历史回测对比等两个单元模块。将系统分为显示层、接口层、业务逻辑层和数据层四部分。其中,显示层web前端利用javascript脚本语言、vue框架和echarts图表库实现页面展示和交互,接口层主要用于前端访问后台数据库和请求后台算法逻辑处理,业务逻辑层又包括了业务处理模块和算法模块,业务处理模块用于响应前端逻辑处理和数据请求等服务,算法模块用于处理数据计算和分析工作,数据层包括mysql用于存放用户数据等关系型数据,redis缓存常用数据信息,而mongodb用于金融数据库的建立。
[0075]
系统框架
[0076]
投资组合推荐原型系统的软件架构分为数据层、业务逻辑层、接口层、显示层。而本系统将在web端实现。系统的工作流程如图5所示。在功能流程方面,业务流程依次是数据采集、数据存储、数据分析处理、数据展示。在数据流程方面,数据采集过程产生原始数据包括股票或基金每日开盘价数据、收盘价数据等,将采集到的数据存储到mongodb数据库中,数据分析处理过程根据设计的标准数据接口对原始数据进行转换,并将标准数据包发送到数据分析和展示模块;数据展示过程则是将后台返回数据在web端展示。
[0077]
运行接口设计
[0078]
投资组合推荐原型系统主要通过web前端请求后台服务器,后台服务端从数据库读取相应数据并返回数据到前端进行展示,因此本系统主要涉及三个方面的系统接口,包括用户与请求之间的接口,请求与数据库之间的接口,python后端与爬虫端的之间的接口。
[0079]
用户请求后台时系统接口交互过程如图6所示,请求与数据库之间的接口交互如图7所示。
[0080]
实验目标是从沪深300指数的156只有效成分股中选取n(n《156)只股票,按照权重组成新的指数追踪的投资组合。实验使用的数据时间范围是2017年01月03日至2020年12月31日4年整数据,共974个交易日,其中训练集的时间范围是2017年01月03日至2019年12月31日,共731天交易,测试集的时间范围是2019年01月02日至2020年12月31日,共243天交易日,
[0081]
第一步选股,通过复制每只股票的涨跌幅并将复制后的涨跌幅与股票原始涨跌幅进行比较,原始涨跌幅与复制涨跌幅之间的接近程度间接描述了股票与市场共同信息之间的相关性,如图8所示,左边是市场相关性强的股票,它们与市场有着更多的相同信息,越到右边是市场相关性越弱的股票,它们与市场有着更少的相同信息。
[0082]
将第一步中选出的65只股票确定为指数序列跟踪组合中的股票。在此基础之上,进一步利用深度神经网络拟合指数序列跟踪组合股票与跟踪指数以最小化跟踪误差,进而确定指数序列跟踪组合中个股的投资权重。由深度神经网络预测所得权重对每只股票按权重组合,构建得到指数追踪的投资组合。
[0083]
由图9可以看出,上述构建的指数跟踪组合以及确定的对应的持仓权重所得到的涨跌幅与沪深300指数的涨跌幅拟合程度较高,这说明该组合可以较好地跟踪沪深300指数的走势。
[0084]
为了探究深度神经网络配置权重的指数跟踪组合跟踪效果,文章将深度神经网络
配置权重所构建的投资组合与经济学上等权重策略所构建的投资组合进行对比,图10为等权重策略所构建投资组合与沪深300指数日涨跌幅,等权策略所构建的投资组合与沪深300指数的涨跌幅拟合程度稍差,这说明与传统等权重策略相比通过深度神经网络配置股票权重可以更好地对指数进行跟踪。
[0085]
为了更精确地衡量探究新指数跟踪组合对沪深300指数的跟踪效果,进一步通过计算指数跟踪组合对沪深300指数的跟踪误差(te)反应跟踪效果。指数跟踪组合的跟踪误差如表5所示,传统的等权重策略跟踪误差为0.771%,而通过深度神经网络配置权重的组合跟踪误差为0.381%。这进一步说明基于深度自动编码器和深度神经网络的指数序列跟踪方法不仅是有效的,同时在实际应用中也具备可行性,可以有效跟踪标的指数的走势。这对于通过较少的股票来跟踪指数、降低交易成本具有重要的价值。
[0086]
表5两组策略投资组合跟踪误差
[0087][0088]
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

技术特征:
1.一种投资推荐方法,其特征在于,所述投资推荐方法包括:s1:对成分股的相关信息进行预处理,得到成分股的金融数据,其中,所述金融数据为序列形式的金融数据;s2:获取多个目标指数成分股的成分股子集,其中,各所述目标指数成分股至少包括一个成分股子集;s3:利用深度自编码器对所有所述目标指数成分股的成分股子集进行筛选操作,得到多个有效的成分股子集;s4:对各所述有效的成分股子集进行回测操作,得到各目标指数成分股的隶属数据;s5:利用深度学习算法对各所述目标指数成分股的历史数据进行优化,得到各所述有效的成分股子集中的若干优质成分股子集;s6:根据若干所述优质成分股子集,对投资目标进行权重分配推荐。2.根据权利要求1所述的投资推荐方法,其特征在于,所述步骤s3中,所述深度自编码器包括依次连接的输入层、编码层、特征提取层、解码层和输出层,所述编码层用于将高维输入转换为低维编码数据,所述解码层用于将所述低维编码数据转换为高维数据。3.一种基于权利要求1或2所述的投资推荐方法的投资推荐系统,其特征在于,所述投资推荐系统包括依次连接的数据层、业务逻辑层、接口层和显示层,所述数据层用于存放关系型数据、缓存常用数据以及建立金融数据库;所述业务逻辑层用于响应前端逻辑处理和数据请求;所述接口层用于前端访问后台数据库和请求后台算法逻辑;所述显示层用于实现页面展示和交互。4.根据权利要求3所述的投资推荐系统,其特征在于,所述数据层包括关系型数据库管理模块、数据存储模块和分布式文件存储数据库模块;所述业务逻辑层包括业务处理模块和算法模块。

技术总结
本发明公开了一种投资推荐方法和投资推荐系统,所述投资推荐方法包括:S1:对成分股的相关信息进行预处理,得到成分股的金融数据,其中,所述金融数据为序列形式的金融数据;S2:获取多个目标指数成分股的成分股子集,其中,各所述目标指数成分股至少包括一个成分股子集;S3:利用深度自编码器对所有所述目标指数成分股的成分股子集进行筛选操作,得到多个有效的成分股子集;S4:对各所述有效的成分股子集进行回测操作,得到各目标指数成分股的隶属数据;S5:利用深度学习算法对各所述目标指数成分股的历史数据进行优化,得到各所述有效的成分股子集中的若干优质成分股子集;S6:根据若干所述优质成分股子集,对投资目标进行权重分配推荐。分配推荐。


技术研发人员:何儒 宋林泽 邓欢 汤羽 林迪 陈波
受保护的技术使用者:宜宾电子科技大学研究院
技术研发日:2021.12.03
技术公布日:2022/3/8

最新回复(0)