如何利用机器学习算法解读股市行情?

日期:2018-10-28 14:54:46   来源:互联网   编辑:行业   阅读人数:720
2018 AI 者大会是场由中美人工智能技术高手联袂打造的 AI 技术与产业的年度盛会!这里有 15+ 硅谷实力讲师团、80+AI 领军企业技术核心人物、100+ 技术&大众实力媒体、1500+AI

2018 AI 者大会是场由中美人工智能技术高手联袂打造的 AI 技术与产业的年度盛会!这里有 15+ 硅谷实力讲师团、80+AI 领军企业技术核心人物、100+ 技术&大众实力媒体、1500+AI 专业者——我们只讲技术,拒绝空谈!

参加 2018 AI 者大会,请点击 ↑↑↑

责编 胡巍巍

故事从我们的大数据创业班的作业开始......

项目背景

在证券市场中,存在着大量历史交易数据。近年来随着大数据兴起,数据挖掘技术在股市中也得到了广泛的关注,在阅读文献的基础上我们小组对股市中不同情况如行业板块联动、行业指数涨跌预测、个股价格涨跌预测分别采用不同的机器学习算法进行分析。

关联规则与行业联动‍

、算法介绍

关联规则可以通过特定的规则算法对数据进行分析,在海量的数据中寻找个事件与其他事件的关联性和依赖性,挖掘出数据库中不同的数据项集之间隐藏的有价值的关联关系。

由于行业成长周期和货币财政政策调整给行业带来的机遇不同,造成股市出现行业联动现象。运用关联规则在股市的行业板块中找出这些频繁出现的项集有助于我们了解我国股市行业联动规律。

在此次建模过程中,我们主要采取支持度和置信度两个指标对建模结果进行分析和优化。支持度表示规则发生的频率,置信度表示二者的关联性。

Apriori算法过程:首先找出所有交易数据库中大于或者等于制定的最小支持度的频繁项集,再利用频繁项集生成所需要的关联规则,从而根据所设定的最小值信度筛选出强关联规则。

二、数据收集

首先我们利用同花顺IFIND软件下载AMAC行业指数历史涨跌幅数据。

本组采用中基协基金估值行业分类指数(简称AMAC行业指数”) 2018年1月2日-2018年8月29日每日涨跌幅。

三、数据清洗

由于板块指数每日涨跌幅度相比个股涨跌幅度小,且集中于-2%至2%之间,将行业每日涨跌幅分为六个阶段,在R语言中处理数据。

处理后的数据

四、数据建模

关联规则核心代码:

首先我们采用支持度0.2,置信度0.8的条件,找出2条规则。

返回查表后,可得规则如下:

1.当化学制品指数涨跌幅在-1%<=涨跌幅<0%的时候,建筑指数涨跌幅很大可能在-1%<=涨跌幅<0%

2.当造纸指数指数涨跌幅在-1%<=涨跌幅<0%的时候,建筑指数涨跌幅很大可能在-1%<=涨跌幅<0%

当我们放宽要求,在支持度0.15,置信度0.8条件下,得出27条规则的时候。我们看看排名前10 的规则:

我们可以从中得出行业间存在着显著的行业联动现象,且具有双向对称性,并且从中提取出具有强关联性板块有:

五、结论

在股市行业联动现象分析上关联规则算法表现较好。

在行业上涨阶段,投资者在选择投资组合时可以同时投资纺织行业、橡胶行业等上涨关联类行业以提高获得超额收益的概率。

在行业下跌阶段,投资者避免同时配置建筑行业、专用设备、通用设备等下跌关联类行业。

机器算法与涨跌预测‍

、算法介绍

目前预测股票的建模模型可分为两类,类为传统生成型类模型,包括自回归滑动平均模型和自回归异方差模型及它们的衍生扩展模型,但这类模型需要在样本足够大,且分布较好的情况下,预测效果才会比较理想;另类为数据驱动模型,包括机器学习中的神经网络模型、支持向量机模型、K近邻分类器模型、决策树模型等,此类模型对样本的分布程度和样本量的要求均较低,可以借助对数据的分析进行非线性智能预测。KNN最近邻分类器模型处理分类问题的算法,寻找与样例属性相对最接近的k个训练样例,根据少数服从多数的原则将样例判定为该类型。贝叶斯模型贝叶斯分类是种基于贝叶斯定理的统计学分类方法,可以预测给定样本属于个特定类的概率。决策树模型有学习算法中处理回归问题与分类问题的模型。通过递回式切割的方法寻找最佳的分类标准,进而最终形成分类规则进行预测。神经网络模型神经网络的结构由个输入层、若干个中间隐含层和个输出层组成。神经网络分析法通过不断学习,能够从未知模式的大量的复杂数据中发现其规律,是种自然的非线性建模过程。

二、数据获取

还是利用同花顺IFIND软件下载相关数据。

本组在进步机器学习算法预测中选用上部分板块联动中出现频率较高的建筑指数,并在建筑指数的成分股中挑选了财务指标较好的两只个股海波重科、亚翔集成进行涨跌预测分析。

三、数据清洗

本组在阅读文献后,我们将大部分学者集中选取的七种行情指标作为特征,选取下日的涨跌情况为(注:涨为1,跌为0)。

行情指标分别为:开盘价、最高价、最低价、收盘价、涨跌幅、成交金额、换手率。

R语言对数据进行量纲标准化、删除空缺值等预处理。

原始数据

0-1标准化之后的数据

四、数据建模随机划分训练集与集。

通过决策树模型、贝叶斯模型、KNN与神经网络模型四种机器学习算法分别对数据集进行训练。

通过交叉验证,改变k值学习曲线的k值等方法进行调优。

进行拟合度讨论,对比分析四种机器学法算法的准确率,最终结果如图所示。

预测结果:

建筑指数涨跌预测中KNN模型效果最好,训练集准确率为0.63。

亚翔集成涨跌预测中神经网络模型训练集、集准确率均最高。

从决策树模型的变量重要性结果中可以得知:亚翔集成的当日开盘价变量对下日涨跌影响最大。

神经网络模型训练集准确率最高,但贝叶斯网络集准确率最高。

值得关注的是海波重科的成交金额变量影响相比其他变量更大。

五、结论

在预测指数和个股涨跌方面机器学习算法预测股市涨跌整体效果般。

集准确率整体在50%左右,其中神经网络模型模拟训练集时准确率均在90%以上,但集准确率在60%左右,过拟合现象严重,但神经网络模型相比其他三种模型,总体准确率较高,模拟效果相对更好。

其次模型效果较好的为KNN最近邻分类器模型与贝叶斯模型,决策树模型效果最差。

在继续构建机器学习算法预测股票涨跌模型中,首要关注算法仍是神经网络模型。

模型改进

在分析行业联动方面,我们只选择了2018年的行业指数,数据量可以继续扩大,找出更多的关联规则。且只分析了每日的行业指数,可以进步找出周行情、月行情的关联规则,分析行业关于日周月的轮动规则。

在分析股票涨跌方面,选用了开盘价等七种行情指标作为特征,可以扩大至技术指标如布林线、KDJ指标、PSY心理指标等,增加特征,提高准确率。

神经网络模型在股票涨跌预测效果虽然是4种算法中最好的,但是过拟合现象严重,仍需优化及寻找其他解决方法。:Yura,计算机科学与技术专业大四在读,因在澳洲交换学习接触了大数据,甚感兴趣。遂开Yura不说数据说”督促自己学习数据分析!欢迎大家关注我的个人,起(我)学习。

想快速看到CSDN的热乎文章,

赶快把CSDN设为星标吧,

打开,点击设为星标”就可以啦!

征稿啦”

CSDN 秉持着与千万技术人共成长理念,不仅以极客头条、畅言栏目在第时间以技术人的独特视角描述技术人关心的行业焦点事件,更有技术头条专栏,深度解读行业内的热门技术与场景应用,让所有的者紧跟技术潮流,保持警醒的技术嗅觉,对行业趋势、技术有更为全面的认知。

推荐阅读:


本文相关词条概念解析:

模型

模型是所研究的系统、过程、事物或概念的一种表达形式,也可指根据实验、图样放大或缩小而制作的样品,模型一般用于展览或实验或铸造机器零件等用的模子。对于现实世界的事物、现象、过程或系统的简化描述,或其部分属性的模仿。在一般的意义下是指模仿实物或设计中的构造物的形状制成的雏型,其大小可以分为缩小型、实物型和放大型。

算法

算法是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制;它是求解问题类的、机械的、统一的方法,常用于计算、数据处理(英语:Dataprocessing)和自动推理。可以理解为有基本运算及规定的运算顺序所构成的完整的解题步骤。或者看成按照要求设计好的有限的确切的计算序列,并且这样的步骤和序列可以解决一类问题。算法中的指令描述的是一个计算,当其运行时能从一个初始状态和(可能为空的)初始输入开始,经过一系列有限而清晰定义的状态,最终产生输出并停止于一个终态。一个状态到另一个状态的转移不一定是确定的。随机化算法在内的一些算法,包含了一些随机输入。

行业

行业,指主要根据职业、性质或具体事物,对社会各个领域称呼。“行业”属于中文表述的一种习惯,极少作为术语来表示特定的概念,有时与词汇“产业”混淆使用,来表示同一概念,常指社会领域。行业属于概念广泛的常用中文词汇,其分类具有随意性。

延伸 · 推荐

如何创建复杂的机器学习项目?

翻译 光城scikit-learn最先进的机器学习算法。但是,这些算法不能直接用于原始数据。原始数据需要事先进行预处理。因此,除了机器学习算法之外,scikit-learn还了一套预处理方法。此外,s...

  • 网友评论
返回顶部