我正在做一个使用ANN预测股票价格的项目。我已经使用过去7年的数据训练了系统,它可以很好地预测一天的数据。现在我想预测未来七天的股票价格。
我的想法是使用第一天的数据预测第二天的数据,使用第二天和第一天的预测数据预测第三天的数据,依此类推。但是它不能正常工作。
我已经训练ANN使用开盘价、一天的最高和最低价格来预测收盘价。
预测未来七天的数据的想法是什么?
发布于 2012-05-29 18:10:42
Maruf,如果你对未来1天有可靠的ANN预测器,请联系我进一步讨论!LOL
别开玩笑了。神经网络和其他非线性预测器就是这样的预测器。您正在处理的数据(股票价格数据)在很大程度上是随机的。如果你不相信我,试着使用下面的psuedo代码生成一个随机漫游,并将其绘制在屏幕上:
let min = -0.5
let max = +0.5
let bias = 0.01
let random = rand(min, max)
y[i] = y[i-1] + random + bias稍微调整偏差(从-0.01到0.01),你最终得到的系列看起来很像趋势股票价格。原因是,在任何潜在的趋势中,都有人做出了比抛硬币更好的决定。你知道交易者平均55%的时间都是对的吗?这就是他所需要的..。
现在,如果数据在很大程度上是随机的,那么就很难预测了。您正在寻找大量噪声中的信号。每过一天,你试图预测的预测就会变得越来越不准确。
我可以问一下--你在ANN中输入了什么信息来获得1天前的预测?例如,如果您使用每日股票价格加上其他派生因素(如变化率、成交量、分歧等)。要获得准确的1天预测,您可能会发现,通过将上述所有数据替换为每周股票数据,您可以获得准确的1周预测。
编辑:
其次,你在做什么来测试预测器的准确性?为了补充mikera的回答,我建议采取如下策略。
给出一个1000天的数据窗口,取其中的800天并训练你的神经网络。现在预测未来的某一天。将预测的方向(上涨,下跌)与预测的收盘价(差价百分比)进行比较,以衡量该结果的准确性。现在将窗口向右滑动1天。重新训练ANN,并执行1天的预测,记录结果。
如果你在剩下的200天里继续这样做,有多大比例的结果得到了正确的方向(向上,向下)?实际预测收盘价在10%以内的比例是多少?如果你的ANN在每天的交易结束时下订单,并在第二天结束时完成订单,它会赚多少钱?当然还有拖期和交易费用……
这会让你对这个系统的准确性和价值有一个概念。
发布于 2012-05-29 18:12:14
如果你能有效地预测未来一天,你已经做得很好了--通常的问题是:
假设你没有落入上述陷阱中的一个,那么进行多天预测的方法就是简单地为未来的每一天单独预测变量。在第二天输入第二天的预测没有太多额外的价值(因为你的输入数据中没有任何新的信息),但如果你喜欢的话,你可以尝试一下(不会造成任何伤害,可能会通过提供有用的特征检测器来加快学习速度等)。
此外,您可能会预期未来预测的不确定性/变化会更大(因为从现在到那时,不确定的股票价格波动的天数会更多)。因此,值得尝试预测统计数据的方差以及平均值。
https://stackoverflow.com/questions/10796890
复制相似问题