前言
股票市场风起云涌,只有对股价有良好的预测才能够更好的抓住盈利机会。那么传统的机器学习分类模型在这方面的效果如何呢?
本文考虑了移动平均值、指数移动平均值、DMI、MACD、KDJ、RSI等四十多个指标的情况下,比较了支持向量机、决策树、随机森林三种模型预测股价涨跌的效果
免责声明
此构想和分析中的任何内容均不应解释为投资建议,过去的表现并不一定表示未来的结果。
我们统一选择茅台股票(600519)作为研究对象,数据日期范围为2020-01-01到2020-12-30。统一采用最后55天数据作为测试集,最后64天前的数据作为训练集
支持向量机
支持向量机(SVM)是一类按监督学习方式对数据进行二元分类的广义线性分类器,其决策边界是对学习样本求解的最大边距超平面
为了增加模型的非线性,采用RBF核函数,模型的效果如下
相比前一篇文章只使用六项指标的情况下,从42.47%的准确率提高到了49.9%。
决策树
决策树(Decision Tree)是在已知各种情况发生概率的基础上,通过构成决策树来求取净现值的期望值大于等于零的概率,评价项目风险,判断其可行性的决策分析方法,是直观运用概率分析的一种图解法。由于这种决策分支画成图形很像一棵树的枝干,故称决策树。在机器学习中,决策树是一个预测模型,他代表的是对象属性与对象值之间的一种映射关系
定义数的深度为5,模型效果如下
相比上一篇只使用六项指标的情况,总体来看还是有一定提升的
训练集上准确率从 77.53% 大幅提高到了 97.66%
测试集上准确率从 56.25% 提高了一点为 56.36%
但是召回率从 53.53% 提高到了 56.35%
随机森林
随机森林是一个包含多个决策树的分类器, 并且其输出的类别是由个别树输出的类别的众数而定
定义树的深度为5,随机树的数目为10,模型效果如下
相比上一篇只使用六项指标的情况,总体来看还是有一定提升的
训练集上准确率从 86.52% 大幅提高到了 100%
测试集上准确率从 57.81% 提高了一点为 58.18%
但是召回率从 56.76% 提高到了 58.40%
总结
经过简单的测试,随机森林的效果相对来说最优
但是预测效果仍然存在很大的问题,提升效果很微小,说明需要更加合适的机器学习方法