繁体   English   中英

如何使用 LSTM Keras 预测未来股票

[英]How to predict future Stock using LSTM Keras

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

请帮我澄清这一点。 非常感谢。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  2. 正如我看到的代码,它似乎预测了 22 天历史的股票价格

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM