使用人工神经网络进行长期预测

我正在进行一个使用人工神经网络预测股票价格的项目。我使用过去7年的数据训练了系统,预测一天的数据效果很好。现在我想预测接下来七天的股票价格。

我的想法是使用第一天的数据预测第二天的数据,使用第一天和预测的第二天的数据预测第三天的数据,依此类推。但这种方法效果并不理想。

我已经训练了ANN,使用一天的开盘价、最高价和最低价来预测收盘价。

如何预测接下来七天的数据呢?


回答:

Maruf,如果你有一个可靠的一天预测的ANN,请联系我进一步讨论!哈哈

玩笑归玩笑。神经网络和其他非线性预测器只是预测工具。你处理的数据(股票价格数据)在很大程度上是随机的。如果你不相信我,试着使用以下伪代码生成一个随机游走并在屏幕上绘制它:

let min = -0.5let max = +0.5let bias = 0.01let random = rand(min, max)y[i] = y[i-1] + random + bias

稍微调整偏差(从-0.01到0.01),你会得到一个看起来非常像趋势股票价格的序列。原因是任何潜在趋势中都有像抛硬币一样做决策的人。你知道吗,平均交易者的正确率是55%?这就是他所需要的……

现在,如果数据在很大程度上是随机的,那么预测就变得非常困难。你是在大量噪音中寻找信号。你尝试预测的每一天,你的预测都会变得越来越不准确。

我可以问一下——你输入ANN的用于一天预测的输入是什么?例如,如果你使用每日股票价格加上其他衍生因素(如变化率、成交量、背离等)来获得准确的一天预测,你可能会发现通过用每周股票数据替换上述所有数据,可以获得准确的一周预测。

编辑:

其次,你是如何测试预测器的准确性的?我建议补充mikera的回答,采用以下策略。

给定一个1000天的数据窗口,取其中的800天来训练你的ANN。现在预测未来一天。将预测的方向(上升,下降)与预测的收盘价(百分比差异)进行比较,以评估该结果的准确性。现在将窗口向右滑动一天。重新训练ANN并进行一天的预测,记录结果。

如果你继续这样做剩下的200天,有多少比例的结果预测了正确的方向(上升,下降)?有多少比例的结果在实际预测的收盘价的10%以内?如果你的ANN在每天的收盘时下单,并在下一天的收盘时平仓,它会赚多少钱?当然要考虑到滑点和交易费用……

这将让你了解系统的准确性和价值。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注