最近时常有小伙伴问flare老师,听说AI可以帮助实现股价预测,这是真的吗?
如果可以的话,那应该也很复杂吧?可能几千上万行代码,想想就恐怖。
今天,flare老师教大家快速搭建一个简化版的股价预测模型,核心代码不过几十行
Let’s start!
任务:基于平安银行2018年6月-2019年6月数据,建立模型,实现对第二天股票价格的动态预测
1、获取数据并加载
数据源:链接:https://pan.baidu.com/s/1Uh29EFpaiGO7JHN0jSytBA
提取码:ku7f
#加载训练数据
import pandas as pd
import numpy as np
data = pd.read_csv(‘payh-1806-1906.csv’)
data.head()
2、数据的可视化(看看数据的样子)
#提取数据
close_price = data.loc[:,‘close’]
#数据可视化
%matplotlib inline
from matplotlib import pyplot as plt
fig1 = plt.figure(figsize=(7,5))
plt.plot(close_price)
plt.title(‘stock price’)
plt.xlabel(‘data’)
plt.ylabel(‘price’)
plt.show()
3、数据的预处理(把数据转换为可以用于模型的格式)
#数据预处理,为rnn输入做准备
#define method to extract X and y
def extract_data(data,time_step):
X = []
y = []
#0,1,2,3…9:10个样本;time_step=8;0,1…7;1,2…8;2,3…9三组(两组样本)
for i in range(len(data)-time_step):
X.append([a for a in data[i:i+time_step]])
y.append(data[i+time_step])
X = np.array(X)
X = X.reshape(X.shape[0],X.shape[1],1)
return X, y
time_step = 8
#define X and y
X,y = extract_data(close_price,time_step)
4、建立预测模型(7行代码)
建立RNN模型
from keras.models import Sequential
from keras.layers import Dense,SimpleRNN
model = Sequential()
model.add(SimpleRNN(units=5, input_shape=(time_step,1),activation=‘relu’))
model.add(Dense(units=1,activation=‘linear’))
model.compile(optimizer=‘adam’,loss=‘mean_squared_error’)
model.summary()
#模型训练
model.fit(X,y,batch_size=30,epochs=200)
#模型预测
y_predict = model.predict(X)
5、看效果!
6、对2019年下半年的新数据做预测
load new data
data_new = pd.read_csv(‘payh-1906-2002.csv’)
close_price_new = data_new.loc[:,‘close’]
#define X and y
X_new,y_new = extract_data(close_price_new,time_step)
#对新数据预测
y_new_predict = model.predict(X_new)
#可视化预测结果
fig3 = plt.figure(figsize=(7,5))
plt.plot(y_new,label=‘实际股价’)
plt.plot(y_new_predict,label=‘预测股价’)
plt.title(‘新数据股价预测’)
plt.xlabel(‘日期’)
plt.ylabel(‘股价’)
plt.show()
What we can learn from the result??
- 简单的循环神经网络模型对股价的趋势有较好的预测和跟踪效果;
- 针对为用于训练的新的股价数据,该模型的结果也可以用于决策参考
- 借助AI工具实现股价预测其实很简单,当然,这个模型还很粗糙,如果要达到好的效果,很多地方可以优化
finally:flare老师的实战课程“零基础入门人工智能:系统学习+实战”课程已经上线,欢迎小伙伴们订阅,和flare老师一起学习AI,掌握AI工具,解决实际问题。
热门评论
百度网盘的数据没有了??
百度网盘是空的???