python做股票预测实例
时间: 2023-06-29 09:12:36 浏览: 103
好的,这里提供一个简单的股票预测实例,使用的是 Python 中的 scikit-learn 库和 pandas 库。
首先,我们需要获取股票数据,可以使用 pandas_datareader 库来获取。这里以获取苹果公司(AAPL)的历史股价数据为例:
```python
import pandas_datareader as pdr
# 获取苹果公司股票数据
aapl = pdr.get_data_yahoo('AAPL', start='2020-01-01', end='2021-01-01')
```
接下来,我们需要对数据进行预处理,将数据分为训练集和测试集,并进行标准化处理,使得数据在同一数量级上:
```python
from sklearn.preprocessing import MinMaxScaler
# 将数据分为训练集和测试集
train_data = aapl[:int(len(aapl)*0.8)]
test_data = aapl[int(len(aapl)*0.8):]
# 对数据进行标准化处理
scaler = MinMaxScaler()
train_data = scaler.fit_transform(train_data)
test_data = scaler.transform(test_data)
```
然后,我们需要构建模型,这里使用 LSTM 神经网络模型进行预测:
```python
from keras.models import Sequential
from keras.layers import LSTM, Dense
# 构建模型
model = Sequential()
model.add(LSTM(units=50, return_sequences=True, input_shape=(train_data.shape[1], 1)))
model.add(LSTM(units=50))
model.add(Dense(1))
# 编译模型
model.compile(loss='mean_squared_error', optimizer='adam')
# 训练模型
model.fit(train_data, train_data, epochs=100, batch_size=64, verbose=1)
```
最后,我们可以使用训练好的模型进行预测,并将预测结果与实际结果进行对比:
```python
# 使用模型进行预测
predicted_stock_price = model.predict(test_data)
predicted_stock_price = scaler.inverse_transform(predicted_stock_price)
# 将预测结果与实际结果进行对比
import matplotlib.pyplot as plt
plt.plot(test_data, color='blue', label='Actual Stock Price')
plt.plot(predicted_stock_price, color='red', label='Predicted Stock Price')
plt.title('AAPL Stock Price Prediction')
plt.xlabel('Time')
plt.ylabel('Stock Price')
plt.legend()
plt.show()
```
以上就是一个简单的股票预测实例,可以根据需要进行修改和优化。
阅读全文