一种基于互联网公开的大数据预测股票的方法及系统的制作方法

文档序号:10656299阅读:435来源:国知局
一种基于互联网公开的大数据预测股票的方法及系统的制作方法
【专利摘要】本发明公开一种基于互联网公开的大数据预测股票的方法及系统,首先爬取交易日前股票的相关信息;然后利用上步爬取的数据进行特征提取,构造训练数据集,并使用Group Lasso进行预测模型训练,所述模型的评价标准为按照每天开盘卖出上个交易日买入的股票,买进当前交易日推荐的股票这样的操作方式一段时间的收益率;再根据爬取交易日当天的数据构造新的测试集,并使用上步训练好的预测模型进行预测,得到最终推荐的股票。本发明为量化选股或股票预测提供了新的有用的可靠的信息来源,这些信息的加入结合传统的信息更加能反映市场,在此基础上使用机器学习技术得到的股票预测模型更加能够捕捉市场的内在运行机制,可以有效提高投资人的收益。
【专利说明】
-种基于互联网公开的大数据预测股票的方法及系统
技术领域
[0001] 本发明设及一种大数据股票预测方法,特别设及一种基于互联网公开的股民操 作、分析师预测、股民评论、新闻、公告、历史股价、资金流向、基本面等大数据股票预测方法 及系统。
【背景技术】
[0002] 上世纪70年代W前,股票投资是一种定性的分析,没有数据应用,而是一口主观的 艺术。随着电脑的普及,很多人开始研究驱动股价变化的规律,把传统基本面研究方法用模 型代替,市盈率、市净率的概念诞生,量化投资由此兴起。
[0003] 从主观判断到量化投资,是从艺术转为科学的过程。上世纪70年代W前一个基本 面研究员只能关注20只到50只股票,覆盖面很有限。有了量化模型就可W覆盖所有股票,运 就是一个大的飞跃。此外,随着计算机处理能力的发展,信息的用量也有一个飞跃变化。过 去看=个指标就够了,现在看的指标越来越多,做出的预测越来越准确。
[0004] 随着21世纪的到来,量化投资又遇到了新的瓶颈,就是同质化竞争。各家机构的量 化模型越来越趋同,导致投资结果同涨同跌。"能否在看到报表数据之前,用更大的数据寻 找规律?"运是大数据策略创业者们试图解决的问题。
[0005] 2013年诺贝尔经济学奖得主罗伯特.席勒于设计的投资模型至今仍被业内称道。 在他的模型中,主要参考=个变量:投资项目计划的现金流、公司资本的估算成本、股票市 场对投资的反应(市场情绪)。他认为,市场本身带有主观判断因素,投资者情绪会影响投资 行为,而投资行为直接影响资产价格。计算机通过分析新闻、研究报告、社交信息、捜索行为 等,借助自然语言处理方法,提取有用的信息;而借助机器学习智能分析,过去量化投资只 能覆盖几十个策略,大数据投资则可W覆盖成千上万个策略。
[0006] 据此得出传统的股票预测都是基于股票价格的历史走势,资金流向,W及各股票 的市值,市盈率等信息进行股票分析预测。在现在互联网深度影响诸多传统行业的情形下, 相比于几十年前互联网还没发明前,乃至于互联网还没有运么普及前,除了传统的那些股 票数据外,互联网上还有很多关于股票的数据,包括公开数据的股民的实际操作、分析师的 预测、股民的评论、新闻,公告等等信息。运些信息在一定程度上是对当前股市的反应,也会 表现出对未来股市的预期的反应。本发明试图利用运些新的有用的数据W及传统的数据利 用自然语言处理、机器学习等技术创造一种大数据股票预测模型。

【发明内容】

[0007] 发明目的:针对现有技术中存在的问题,本发明提出一种基于互联网上公开的股 民和分析师操作行为的大数据量化选股方法及系统,为广大股民,基金公司等做投资参考。 [000引技术方案:本发明提出一种基于互联网公开的大数据预测股票的方法,包括如下 步骤:
[0009] 1)爬取交易日前股票的相关信息;
[0010] 具体的爬取方法为:先爬取一些代理IP,而后使用Scrapy框架爬取相关网站的数 据,将数据转化成json格式后存入Mongo化数据库中;
[0011] 爬取的具体信息包括雪球网、金罗盘、股吧、凤凰财经、新浪财经等网站上关于股 票的票的股民的股票操作、分析师的预测、股民评论、新闻、公告,W及每只股票的历史价格 数据、市值、净资产收益率、资产收益率、每股收益增长率、流动负债比率、企业价值倍数、净 利润同比增长率、股权集中度、自由流通市值W及最近一个月的股价格收益率和波动率。
[0012] 2)利用步骤1爬取的数据进行特征提取,构造训练数据集,并使用Group Lasso进 行预测模型训练;
[0013] 构造的训练数据集:由当前交易日的前一个星期的5个交易日的数据组成,对于运 5个交易日的每个交易日,每只股票由特征和类别组成,其中特征用根据相关信息处理得到 的向量表示,类别为下一个交易日该股票价格是否增涨,如果涨就为1否则为0,运样便得到 初始训练矩阵;由于数据存在冗余,该步骤会先过滤掉信息量不足的数据,具体的过滤标准 为:过滤掉爬取的数据中当日股民对股票的操作数低于10次的样本。
[0014] 表征股票特征的向量的提取方法为:对于股民操作数据,按照股民的上个月收益 率,将股民分为10个组,对每个等级的组提取该组对该股票的前1天、3天、7天、15天、30天 等时间戳中每个时间戳中的买进个数、卖出个数、持仓量、仓位改变量、该组在每个时间戳 的平均收益率等特征;
[0015] 对于分析师预测数据,提取分析师对该股票的前1天、3天、7天、15天、30天等时间 戳中每个时间戳中的买进个数、卖出个数等特征;
[0016] 对于股民评论数据,提取分析师对该股票的前1天、3天、7天、15天、30天等时间戳 中每个时间戳中该股票的评论数,各个评论的情感值的均值,方差等特征;
[0017] 对于新闻数据,提取分析师对该股票的前1天、3天、7天、15天、30天等时间戳中每 个时间戳中该股票的新闻个数,各个新闻的情感值的均值,方差等特征;
[0018] 对于公告数据,提取分析师对该股票的前1天、3天、7天、15天、30天等时间戳中每 个时间戳中该股票的公告个数,各个公告中对应的公告关键词库中的词出现的次数的总和 等特征;
[0019] 对于历史股价数据,提取分析师对该股票的前1天、3天、7天、15天、30天等时间戳 中每个时间戳中该股票的开盘价、收盘价、最高价、最低价、与前30日价格的比值、3日线斜 率、7日线斜率、10日线斜率、15日线斜率、30日线斜率等特征;
[0020] 对于资金流向数据,提取分析师对该股票的前1天、3天、7天、15天、30天等时间戳 中每个时间戳中该股票主力资金的流进量和流出量的比值等特征;
[0021] 对于其他信息数据,提取该股票当前的市值、净资产收益率、资产收益率、每股收 益增长率、流动负债比率、企业价值倍数、净利润同比增长率、股权集中度、自由流通市值W 及最近一个月的股价格收益率和波动率等特征;
[0022] 对于股民评论、新闻、公告等文本数据首先基于金融情感词库、公告关键词库两个 词库采用自然语言处理技术对文本进行分词,再根据文本中出现的金融情感词计算每条股 民评论、新闻等的情感值,W及公告中相应关键词出现的的次数,金融情感词库中列举了一 些股票情感关键词W及该关键词对应的情感得分,公告关键词库中列举了一些和公告相关 的关键词,运两个词库是用过众包的方式人工标注得到的。
[0023] 由于在特征提取中对于股民操作数据,按照股民的上个月收益率,将股民分为10 个组,在此的每个组相当于一个分组(Group),每个分组内部的特征是有较强的关联的,而 不同分组之间的特征间的关联性则没有那么强,在模型训练时,希望能对同一个分组内的 特征有整体考虑的因素,在此基础上使用机器学习中的Group Lasso算法能够更好的考虑 到运些因素,所W选用Group Lasso算法。
[0024] Group Lasso算法表示如下:
[0025]
[0026] 其中,为模型训练结果,X为训练样本矩阵,Y为样本的类别向量,Ig表示属于第g 个Group的特征索引,其中g=l,...,G,%表示属于第g个Group的特征索引对应的模型训 练出的权重结果的值。
[0027] 在模型训练的过程中,利用交叉检验的方法,针对每一轮测试集根据预测的概率 降序选取预测概率最高的股票,然后按照每天开盘卖出上个交易日买入的股票,买进当前 交易日推荐的股票运样的操作方式两周时间总收益的收益率,W此调节模型的参数。
[0028] 3)爬取交易日当天的数据构造新的测试集,并使用步骤2训练好的预测模型进行 预测,得到最终推荐的股票。
[0029] 本发明还提出一种基于互联网公开的大数据预测股票的系统,包括数据爬取存储 模块、预测模型训练模块和股票预测模块;其中,数据爬取存储模块用于爬取和存储股票的 相关信息;预测模型训练模块利用交易日前爬取的数据构造训练数据集,并使用Group Lasso训练预测模型;股票预测模块,利用交易日当天爬取的数据构造新的测试集,并使用 训练好的预测模型预测最终推荐的股票。
[0030] 基于互联网公开数据的大数据预测股票的系统还包括展示模块,用于将股票预测 结果展示给客户。
[0031] 有益效果:本发明为量化选股或股票预测提供了新的有用的可靠的信息来源,诸 如股民的操作、分析师的预测、新闻、公告、研报等数据相对于传统的例如股票的历史价格、 资金流向等数据是新型的数据来源,运些信息在一定程度上是对当前股市的反应,也会表 现出对未来股市的预期的反应。由于有大量的文本数据,运些数据的实时爬取和分析的难 度比传统股票数据的爬取和处理要困难,本发明使用Scrapy框架爬虫和自然语言处理等技 术针对运些类型的数据进行实时爬取和处理,W及和传统的例如股票的历史价格、资金流 向等数据的结合更加能反映市场。由于本发明的提取的特征有些部分是按照股民的上个月 收益率,将股民分为多个分组,每个分组内部的特征是有较强的关联的,而不同分组之间的 特征间的关联性则没有那么强,在模型训练时,我们希望能对同一个分组内的特征有整体 考虑的因素,在此基础上使用机器学习中的Group Lasso算法能够更好的考虑到运些因素, 得到的股票预测模型更加能够捕捉市场的内在运行机制,大大提高了给资者带来的收益。
【附图说明】
[0032] 图1为本发明的股票预测系统的整体架构图;
[0033] 图2为本发明的数据爬取存储模块的架构图;
[0034] 图3为本发明的预测模型训练模块的架构图;
[0035] 图4为本发明的股票预测预测模块的架构图。
【具体实施方式】
[0036] 下面结合具体实施例,进一步阐明本发明,应理解运些实施例仅用于说明本发明 而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价 形式的修改均落于本申请所附权利要求所限定的范围。
[0037] 图1为本发明的股票预测系统的整体框架,包括四个模块,数据爬取存储模块、股 票预测模型训练模块、股票预测模块和展示模块。本发明语言使用Python,数据库使用 MongodbD
[0038] 数据爬取存储模块如图2所示,爬虫使用Scrapy框架,Scrapy是一个基于Python开 发的快速、高层次的Web信息抓取系统,主要用于自动访问相关Web站点并从页面中提取结 构化的数据。Scrapy使用的是高效的Twisted异步网络库来处理网络通讯,Scrapy整体架构 如图3所示。
[0039] 在爬虫中,为了解决诸如雪球网等网站的防爬问题,先爬取一些代理IP,而后使用 Scrapy框架爬取雪球网、金罗盘、股吧、凤凰财经、新浪财经、巨潮资讯等网站的数据,将数 据转化成json格式后存入Mongol数据库中。其中,雪球网中可W爬取到一些股民的操作数 据、股民评论、新闻、公告等数据,金罗盘可W爬取到分析师的预测等数据,股吧可W爬取到 股民评论等数据,凤凰财经和新浪财经可W爬取到新闻W及股票的历史价格、资金流向、基 本面等数据,巨潮资讯可W爬取到公告等数据。
[0040] 股票预测模型训练模块如图4所示,先构造机器学习的训练数据集,训练数据集由 距离当前交易日的前一个星期的5个交易日的数据组成。对于运5个交易日的每个交易日,A 股2780只股票每只股票由特征和类别组成,其中特征用一个向量表示,该向量有700维左 右,类别为下一个交易日该股票价格是否增涨,如果涨就为1否则为0,运样可W得到一个5* 2780*701左右的矩阵。运是初始训练集。
[0041] 表1 700维左右的特征向量的组成
[0042]
[0043]
[0044] 由于有的股票某天爬取的数据不是很多,所W用原有的700维向量描述可能失真, 所W股票预测模型训练模块会过滤掉信息量不足的数据,具体的过滤标准可W根据评价准 则进行调节,现阶段本发明过滤掉爬取的数据中当日股民对股票的操作数低于10次的样 本。运样可W得到过滤后训练集。
[0045] 接着用机器学习中的Group Lasso算法进行模型训练,相同类型的统计量为一个 Group。在此和传统的机器学习问题不同,运里的模型好坏的评价标准不是准确率、Fl等,而 是根据模型每天推荐8只股票、按照每天开盘卖出上个交易日买入的股票,买进当前交易日 推荐的股票运样的操作方式运段时间的收益率。W此来调节模型的参数。Group Lasso算法 表示如下:
[0046]
[0047] 其中,为模型训练结果,X为训练样本矩阵,Y为样本的类别向量,Ig表示属于第g 个Group的特征索引、其中g=l,...,G,供。表示属于第g个Group的特征索引对应的模型训 练出的权重结果的值。
[0048] 运样就得到了大数据股票预测模型,在每个交易日开盘前的10个小时左右,本发 明进行当日模型的训练。
[0049] 大数据股票预测模型的预测模块如图4所示,根据当日爬取的数据提取特征得到 测试数据集,运样可W得到A股2780只股票的2780条样本。再按照训练数据及过滤的方法, 去除掉信息量少的样本,得到过滤后的测试集。最后使用训练好的大数据股票预测模型对 过滤后的测试集进行预测,挑选输出概率最高的8只股票作为下个交易日的推荐股票。
【主权项】
1. 一种基于互联网公开的大数据预测股票的方法,包括如下步骤: 1) 爬取交易日前股票的相关数据信息; 2) 利用步骤1爬取的数据进行特征提取,构造训练集,并使用Group Lasso算法进行大 数据股票预测模型的训练; 3) 爬取交易日当天的数据构造新的测试集,并使用步骤2训练好的预测模型进行预测, 得到最终推荐的股票。2. 根据权利要求1所述的基于互联网公开的大数据预测股票的方法,所述步骤1提取股 票信息的方法为:先爬取一些代理IP,而后使用Scrapy框架爬取相关网站的数据,将数据转 化成Json格式后存入Mongodb数据库中。3. 根据权利要求1所述的基于互联网公开的大数据预测股票的方法,所述步骤1爬取的 具体信息包括雪球网、金罗盘、股吧、凤凰财经、新浪财经等网站上关于股票的股民的股票 操作、分析师的预测、股民评论、新闻、公告,研报以及每只股票的价格历史数据、市值、净资 产收益率、资产收益率、每股收益增长率、流动负债比率、企业价值倍数、净利润同比增长 率、股权集中度、自由流通市值以及最近一个月的股价格收益率和波动率。4. 根据权利要求1所述的基于互联网公开的大数据预测股票的方法,所述步骤2会过滤 掉信息量不足的数据,具体的过滤标准为:过滤掉爬取的数据中当日股民对股票的操作数 低于10次的样本。5. 根据权利要求1所述的基于互联网公开的大数据预测股票的方法,所述步骤2构造的 训练数据集由当前交易日的前一个星期的5个交易日的数据组成,对于这5个交易日的每个 交易日,每只股票由特征和类别组成,其中特征用根据相关信息处理得到的向量表示,类别 为下一个交易日该股票价格是否增涨,如果涨就为1否则为〇,这样便得到初始训练矩阵。6. 根据权利要求5所述的基于互联网公开的大数据预测股票的方法,所述表征股票特 征的向量提取方法为: 对于股民操作数据,按照股民的上个月收益率,将股民分为10个组,对每个等级的组提 取该组对该股票的前1天、3天、7天、15天、30天等时间戳中每个时间戳中的买进个数、卖出 个数、持仓量、仓位改变量、该组在每个时间戳的平均收益率等特征; 对于分析师预测数据,提取分析师对该股票的前1天、3天、7天、15天、30天等时间戳中 每个时间戳中的买进个数、卖出个数等特征; 对于股民评论数据,提取分析师对该股票的前1天、3天、7天、15天、30天等时间戳中每 个时间戳中该股票的评论数,各个评论的情感值的均值,方差等特征; 对于新闻数据,提取分析师对该股票的前1天、3天、7天、15天、30天等时间戳中每个时 间戳中该股票的新闻个数,各个新闻的情感值的均值,方差等特征; 对于公告数据,提取分析师对该股票的前1天、3天、7天、15天、30天等时间戳中每个时 间戳中该股票的公告个数,各个公告中对应的公告关键词库中的词出现的次数的总和等特 征; 对于历史股价数据,提取分析师对该股票的前1天、3天、7天、15天、30天等时间戳中每 个时间戳中该股票的开盘价、收盘价、最高价、最低价、与前30日价格的比值、3日线斜率、7 日线斜率、10日线斜率、15日线斜率、30日线斜率等特征; 对于资金流向数据,提取分析师对该股票的前1天、3天、7天、15天、30天等时间戳中每 个时间戳中该股票主力资金的流进量和流出量的比值等特征; 对于其他信息数据,提取该股票当前的市值、净资产收益率、资产收益率、每股收益增 长率、流动负债比率、企业价值倍数、净利润同比增长率、股权集中度、自由流通市值以及最 近一个月的股价格收益率和波动率等特征; 对于股民评论、新闻、公告等文本数据首先基于金融情感词库、公告关键词库两个词库 采用自然语言处理技术对文本进行分词,再根据文本中出现的金融情感词计算每条股民评 论、新闻等的情感值,以及公告中相应关键词出现的的次数,金融情感词库中列举了一些股 票情感关键词以及该关键词对应的情感得分,公告关键词库中列举了一些和公告相关的关 键词,这两个词库是用过众包的方式人工标注得到的。7. 根据权利要求6所述的基于互联网公开的大数据预测股票的方法,由于在特征提取 中对于股民操作数据,按照股民的上个月收益率,将股民分为10个组,在此的每个组相当于 一个分组,每个分组内部的特征是有较强的关联的,而不同分组之间的特征间的关联性则 没有那么强,为了能对同一个分组内的特征有整体的考虑,在此基础上使用机器学习中的 Group Lasso算法进行预测模型训练,Group Lasso算法表示如下:其中,为模型训练结果,X为训练样本矩阵,Y为样本的类别向量,Ig表示属于第g个 Group的特征索引,其中g=l,...,G,Ai7次示属于第g个Group的特征索引对应的模型训练 出的权重结果的值; 在模型训练的过程中,利用交叉检验的方法,针对每一轮测试集根据预测的概率降序 选取预测概率最高的股票,然后按照每天开盘卖出上个交易日买入的股票,买进当前交易 日推荐的股票这样的操作方式两周时间总收益的收益率,以此调节模型的参数。8. -种基于互联网公开的大数据预测股票的系统,包括数据爬取存储模块、预测模型 训练模块和股票预测模块;其中,数据爬取存储模块用于爬取和存储股票的相关信息;预测 模型训练模块利用交易日前爬取的数据构造训练数据集,并使用Group Lasso训练预测模 型;股票预测模块,利用交易日当天爬取的数据构造新的测试集,并使用训练好的预测模型 预测最终推荐的股票。9. 根据权利要求8所述的基于互联网公开的大数据预测股票的系统,还包括展示模块, 用于将股票预测结果展示给客户。
【文档编号】G06Q40/04GK106022522SQ201610338598
【公开日】2016年10月12日
【申请日】2016年5月20日
【发明人】马健, 俞扬
【申请人】南京大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1