LSTM 的股票价格数据操作

数据挖掘 机器学习 Python 神经网络 lstm
2022-02-14 05:27:12

我正在尝试构建一个机器学习模型,使用昨天的 OHLCV(开盘价、最高价、最低价、收盘价、成交量)来预测明天到后天的价格差异。

然而,我的模型(LSTM 和 DNN)给我的输出很差。我认为这是因为数据需要以某种方式、形状或形式重新格式化(即标准化、log-pct 更改等)

操纵输入的最佳方法是什么?我应该使用 sci-kit 'scaler' 还是任何其他方法来规范化数据?如果是这样,缩放器应该在什么范围内?

输出呢?如果我希望输出是线性的(连续的,非 softmax 值),我是否应该操纵输出数据以进行缩放,然后取消缩放预测输出以匹配原始标签?有关系吗?

1个回答

我使用了一个介于 (0, 1) 之间的MinMax 缩放器,适用于 S&P500 的收盘价。RNN 由一个具有 10 天回溯窗口的 LSTM 层组成,用于预测第二天的收盘价。下图是RNN对第二天收盘价的预测(红色)。

在此处输入图像描述

有关用于生成图形的代码,请查看以下ipython 笔记本