如何利用机器学习算法解读股市行情?
2018 AI 开发者大会是一场由中美人工智能技术高手联袂打造的 AI 技术与产业的年度盛会!这里有 15+ 硅谷实力讲师团、80+AI 领军企业技术核心人物、100+ 技术&大众实力媒体、1500+AI 专业开发者——我们只讲技术,拒绝空谈!
参加 2018 AI 开发者大会,请点击 ↑↑↑
作者 | Yura
责编 | 胡巍巍
故事从我们的大数据创业班的作业开始......
项目背景
在证券市场中,存在着大量历史交易数据。近年来随着大数据兴起,数据挖掘技术在股市中也得到了广泛的关注,在阅读文献的基础上我们小组对股市中不同情况如行业板块联动、行业指数涨跌预测、个股价格涨跌预测分别采用不同的机器学习算法进行分析。
关联规则与行业联动
一、算法介绍
关联规则可以通过特定的规则算法对数据进行分析,在海量的数据中寻找一个事件与其他事件的关联性和依赖性,挖掘出数据库中不同的数据项集之间隐藏的有价值的关联关系。
由于行业成长周期和货币财政政策调整给行业带来的机遇不同,造成股市出现行业联动现象。运用关联规则在股市的行业板块中找出这些频繁出现的项集有助于我们了解我国股市行业联动规律。
在此次建模过程中,我们主要采取支持度和置信度两个指标对建模结果进行分析和优化。支持度表示规则发生的频率,置信度表示二者的关联性。
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 公众号秉持着「与千万技术人共成长」理念,不仅以「极客头条」、「畅言」栏目在第一时间以技术人的独特视角描述技术人关心的行业焦点事件,更有「技术头条」专栏,深度解读行业内的热门技术与场景应用,让所有的开发者紧跟技术潮流,保持警醒的技术嗅觉,对行业趋势、技术有更为全面的认知。
如果你有优质的文章,或是行业热点事件、技术趋势的真知灼见,或是深度的应用实践、场景方案等的新见解,欢迎联系 CSDN 投稿,联系方式:微信(guorui_1118,请备注投稿+姓名+公司职位),邮箱(guorui@csdn.net)。
推荐阅读:
宇宙第一 IDE Visual Studio 支持 Java 了!
华为绝不降速老机型;马云曾恨比尔·盖茨;马蜂窝点评一条 2 元 | 极客头条
云漫圈 | 我觉得我的手机被监听了。。。
为什么比特币是对政府最友好的加密货币?三大原因揭晓!
我和8个程序员聊了一下午,攒齐这些了观点...
Dropbox如何使用机器学习从数十亿图片中自动提取文字
荐书丨进阶安全圈,不得不读的一本书 ——《加密与解密》第4版
如何利用机器学习算法解读股市行情?相关推荐
- 利用机器学习算法对实验室小鼠的睡眠阶段自动分类
目录 本分享为脑机学习者Rose整理发表于公众号:脑机接口社区 .QQ交流群:941473018 筑波大学(Universityof Tsukuba)的研究人员结合两种流行的机器学习方法,创造了一种 ...
- ML/DL之预测分析类:利用机器学习算法进行预测分析的简介、分析、代码实现之详细攻略
ML/DL之预测分析类:利用机器学习算法进行预测分析的简介.分析.代码实现之详细攻略 目录 机器学习算法进行预测的简介 机器学习算法进行预测的分析 机器学习算法进行预测的代码实现 机器学习算法进行预测 ...
- 研究人员利用机器学习算法检测医疗保险欺诈
文章来源:ATYUN AI平台 佛罗里达大西洋大学工程与计算机科学学院的研究人员发表了一项健康信息科学与系统的研究,该研究展示了机器学习和高级分析如何检测医疗保险欺诈检测.这一突破可能避免每年医疗保险 ...
- 【数据分析】利用机器学习算法进行预测分析(五):Prophet
时间序列预测中的机器学习方法(五):Prophet 本文是"时间序列预测中的机器学习方法"系列文章的第五篇,如果您有兴趣,可以先阅读前面的文章: [数据分析]利用机器学习算法进行预 ...
- 独家 | 数据分析@爱可可-爱生活是否利用机器学习算法运营微博
微博账号@爱可可-爱生活是数据科学圈的网红,因每天分享大量精选的数据科学领域的学习资料而出名,深受粉丝关注和喜爱.该账号每天从早晨4-5点开始发微博,日均发布大几十条原创,有人不禁质疑,它的运营者北邮 ...
- 基于不同机器学习算法的股市行情研究
故事从我们的大数据创业班的作业开始... 项目背景 在证券市场中,存在着大量历史交易数据.近年来随着大数据兴起,数据挖掘技术在股市中也得到了广泛的关注,在阅读文献的基础上我们小组对股市中不同情况如行业 ...
- 【数据分析】利用机器学习算法进行预测分析(一):移动平均(Moving Average)
时间序列预测中的机器学习方法(一):移动平均(Moving Average) 1.背景介绍 如果可能的话,每个人都想成为先知,预测在未来会发生什么事.实际上,这种预测非常困难.试想某个人提前知晓了市场 ...
- 利用机器学习算法挖掘群控网络黑产设备
群控,是黑产团伙中一种比较流行的作弊工具,可以批量操作多台手机.黑产团伙使用群控设备的一般流程是,自动化注册.登录.操作,从业务行为上伪装成正常的用户,不断重复操作使得获利最大化. 前面介绍的多种手段 ...
- 机器学习算法机器人足球_购买足球队:一种机器学习方法
机器学习算法机器人足球 An approach that is better than random guessing or choosing players from a pool of 18000 ...
最新文章
- python符号求导
- mysql1300错误什么意思_mysql error 1201-1300错误大全
- 机器学习网站收集(to be continued)
- 利用 Cosole 来学习、调试JavaScrip
- CodeForces - 1437E Make It Increasing(确定首尾的最长不下降子序列)
- 简单的01背包和完全背包
- HDU 1016 DFS
- GetCommandLine()和CommandLineToArgvW()
- Mapped Statements collection already contains value for com.wen.mapper.ProjectMapper.xxx
- C语言 - 直接插入排序、希尔排序、直接选择排序、堆排序、冒泡排序、快速排序、归并排序、基数排序。
- Md5是什么?MD5怎么校验?Md5校验工具怎么用?
- php网站开题报告该怎么答辩,如何应对开题报告答辩?看完你就明白了
- python经典例题及答案_python经典例题100道
- python网络爬虫(web spider)系统化整理总结(一):入门
- Android 8.0系统透明主题适配解决办法
- 如何使用ChatGPT做一份五一出游攻略?
- 基于JAVA的KTV交易_Java 基于sshktv预定管理系统
- AES加密解密算法设计(C++)
- Vue移动端----页面旋转进入特效功能实现
- 基于Montgomery算法的高速、可配置 RSA密码IP核硬件设计系列(五)——模幂模块(抵抗侧信道攻击)模块的设计实现方案
热门文章
- leetcode python3 简单题202. Happy Number
- 数据中心生成器行业调研报告 - 市场现状分析与发展前景预测
- 2017级C语言大作业 - 密室逃生
- puml绘制思维导图_思维导图的使用方法和技巧
- 你和大厂 Offer 有多近?C 认证免费测试一波,提前备考大厂
- 绝密邮件曝光!看乔布斯如何拯救濒危的苹果?
- 放弃 Python 2 之后,这家公司写了 50 万行的 Go 代码来迁移!
- 12 年!Android 系统的漫漫设计路
- 云计算正在“抹杀”开源?
- 踢掉 Docker 后,Kubernetes 还能欢快地跑 GPU?