如何使用 LSTM Keras 预测未来库存

Posted

技术标签:

【中文标题】如何使用 LSTM Keras 预测未来库存【英文标题】:How to predict future Stock using LSTM Keras 【发布时间】:2020-06-02 00:35:41 【问题描述】:

首先,我必须说,我是这个 AI 事物的初学者。我遵循了大多数关于股市预测的教程,它们几乎都一样。这些教程使用一个数据集并分成两组。第一个是训练集,第二个是测试集。他们正在使用股票的收盘价来训练和制作模型。从该模型中,他们插入包含收盘价并显示两个图表的测试数据集。然后他们说实际和预测的图表几乎相同。 本教程的 github 存储库。 - https://github.com/surajr/Stock-Predictor-using-LSTM/blob/master/Stock-Predictor-using-LSTM.ipynb 这是我的问题, 1. 为什么所有这些教程也将收盘价放在测试集中?他们只是假设插入日期对吗?因为我们在预测收盘价。这令人困惑。请解释一下。 2. 没有人告诉我如何预测未来 7 天的价值。那么如果我们有一个模型,如何获得下一个 7 天的收盘价呢?

请帮我澄清一下。非常感谢。

【问题讨论】:

只是好奇:收盘价是固定时间的价值,还是包括盘后交易? 【参考方案1】:

看看这个链接。我认为它会让你朝着正确的方向前进。

https://www.datacamp.com/community/tutorials/lstm-python-stock-market

【讨论】:

非常感谢,ASH!非常有用。这个链接有链接到 LSTM 的很好的解释。 祝你好运。这东西真的很管用!通过遵循 LSTM 策略和其他一些投资策略,我去年在市场上赚了超过 50 万美元。【参考方案2】:

为什么所有这些教程也将收盘价放在测试集中?

最终目标是预测走势(增长),即收盘价减去开盘价。最终模型是计算测试数据集的增长非常接近实际增长的模型。增长是模型试图解决的主要问题,也是您计算训练模型准确度时的参考点。

他们只是假设插入日期对吗?因为我们在预测收盘价

模型根据给定因素预测增长。对于一家公司,每天都有许多量化的因素。我怀疑您所做的教程使用了为特定日期和不同股票提取的测试集。就像在 1 月 10 日提取所有公司的所有参数一样,然后检查训练模型的准确性。另一方面,训练集大部分时间都包含超过一天的股票。

没有人告诉我如何预测未来 7 天的值。那么如果我们有一个模型,如何获得下一个 7 天的收盘价呢?

要相对准确地预测股票价格,您需要一个训练有素的模型。为此,您需要根据许多因素来训练您的模型。同一模型无法预测不同国家的库存。一种模型可能适用于预测科技股 (AAPL),但不适用于其他领域。

总的来说,这是一个复杂的主题。财务顾问为了使用可靠的模型而支付大量资金。他们中的大多数人根据客户的投资组合使用多种模型。这些教程向您介绍该主题并教您主要概念。恕我直言,我想说下一步是学习然后在 Kaggle 中竞争。

【讨论】:

【参考方案3】:

在训练集中,收盘价作为输入包含在内,因为它与“第二天”价格或“X 天内的价格”相关(对于预测超过 1 天价格变动的模型)。

注意,在训练数据中,通常未来价格(今天 + 1 天)是目标值 (train_Y)。

在测试数据中,包含收盘数据,因为测试数据是预测“未来价格”。

在确定模型的准确性时,将 (today + X days) 的价格预测与未来值 (test_Y) 进行比较,以确定预测的有效性。就像人类股票交易员一样,如果您猜测/预测未来价格是否为 Y(即上涨/下跌),那么您将可以访问当天的收盘价......这就是为什么它是相关输入。显然,在真实世界的模型中,预测的准确性只有在 X 天过去后才能知道。在训练和测试模型时,通常数据是历史数据,因此样本外的值(例如今天的价格 + X 天的价格)用于确定准确度,尽管 FUTURE 值绝对不应该作为输入。

【讨论】:

【参考方案4】:

    为什么所有这些教程也将收盘价放在测试集中? -> 很容易理解,收盘价是一种计算股票价格所需的输入变量。

    当我看到代码时,它似乎可以预测具有 22 天历史的股票价格

X_train (1173, 22, 3) y_train (1173,) X_test (130, 22, 3) y_test (130,)

我认为你应该用 (~~~, 7, 3) 重新训练以预测今天之后 7 天的价格。

【讨论】:

所以,我可以理解收盘价可以很好地预测未来价格。我的问题是,为什么我们也在测试集中使用它。训练集,很好。但是在测试集中我们为什么要使用?我们不是假设使用测试数据集来预测收盘价吗?

以上是关于如何使用 LSTM Keras 预测未来库存的主要内容,如果未能解决你的问题,请参考以下文章

使用 Keras 构建多变量、多任务的 LSTM

使用 LSTM 和 keras 进行时间序列预测的分类变量

Keras LSTM:如何预测超越验证与预测?

你如何使用 LSTM 模型预测未来的预测?

如何使用Keras LSTM与word嵌入来预测单词id

如何让 Keras LSTM 在多变量设置中对多个时间序列进行预测?