机器学习如何破解股市的奥妙预测将来股价?
作者头像
  • 周艳丽
  • 2019-10-17 07:05:09 9

华尔街的工作充满了机遇与挑战。在这里,人们身着正装,神情严肃,手持香烟,仿佛置身于一个充满紧张气氛的世界。金融行业的本质并不是创造价值,而是通过各种手段获取投资回报。

股票市场是最常见的金融工具之一,任何人都可以通过它实现财富的增长。然而,准确预测股市未来走势几乎是不可能的。尽管有许多分析师、研究人员以及聪明的人士都在努力破解这一难题,但至今仍未达成一致意见。

本文主要探讨如何利用机器学习技术预测股市,虽然初衷主要是为了娱乐,但这也为学习机器学习和金融提供了很好的实践机会。

为了深入了解这个项目,您可以访问GitHub上的代码库:https://github.com/jerrytigerxu/Stock-Price-Prediction

使用Stocker模块

Stocker模块是一个简易的Python库,包含了许多有用的股票市场预测功能。虽然它的初始预测效果并不理想,但通过调整参数,可以显著提高其准确性。首先需要从GitHub克隆代码仓库,然后安装必要的库,最后导入Stocker模块。

通过创建一个Stocker对象,我们可以使用其内置的函数来进行股票分析。本文选择了谷歌作为示例公司,但其实任何公司都可以。

谷歌的股票走势

Stocker对象的数据截止日期为2018年3月27日。数据来源于Quandl的WIKI交易所,可能并非实时更新。Stocker使用了Facebook开发的Prophet包,该工具对于加法建模特别有效。

接下来,我们将使用Stocker进行预测。为此,需要创建训练集和测试集,其中训练集包括2014年至2016年的数据,测试集则是2017年的数据。通过比较预测结果和实际结果,可以看出预测的准确性。

预测结果

经过一系列调整,包括更改超参数,预测结果有所改善,但仍不如预期。随后,进行了买入并持有的模拟交易,结果显示,这种方法依然优于复杂的预测算法。

使用机器学习进行预测

接下来,我们尝试使用机器学习方法预测股票价格,而不是依赖Stocker模块。具体步骤包括创建数据集、添加特征以及训练和测试模型。

移动平均线

移动平均线是一种常用的技术分析工具,它通过历史价格预测未来趋势。尽管这种方法在预测整体趋势方面表现良好,但在捕捉价格波动方面仍有不足。

线性回归

接下来,我们尝试使用线性回归算法进行预测。通过增加更多特征,线性回归模型在一定程度上捕捉到了整体趋势,但未能精确预测价格变化。

k元最近邻算法

k元最近邻算法(KNN)也是一种常用的机器学习算法。通过对数据进行不同处理,KNN算法的表现并不理想,显示出明显的过度拟合问题。

多层感知器

最后,我们尝试使用多层感知器(MLP)进行预测。这是一种简单的神经网络模型,尽管经过大量训练,其预测效果仍然不佳。

结论

通过以上实验,我们可以得出结论:试图击败股市是非常困难的,即使是最先进的机器学习技术也无法保证成功。相比之下,采用买入并持有的策略更为稳妥,长期来看,这种策略往往能够带来更好的回报。

如何改进

  1. 使用不同的股票数据:可以尝试使用其他公司的股票数据,或者更长时间跨度的数据。
  2. 尝试不同的机器学习算法:除了已经尝试过的算法外,还有很多其他有效的机器学习算法值得探索。
  3. 调整更多的超参数:每个算法都有多个超参数,通过不断调整和优化,可以进一步提高预测准确性。
    本文来源:图灵汇
责任编辑: : 周艳丽
声明:本文系图灵汇原创稿件,版权属图灵汇所有,未经授权不得转载,已经协议授权的媒体下载使用时须注明"稿件来源:图灵汇",违者将依法追究责任。
    分享
奥妙股价股市将来机器预测破解如何学习
    下一篇