Python股票价格预测模型 - 线性回归实现

本代码使用Python中的Pandas、Scikit-learn库构建线性回归模型,预测股票价格,并绘制预测结果与实际价格的对比图。

import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error

# 读取数据集
data = pd.read_excel('E:\pythonProject5\深度学习\新建 XLS 工作表.xls')

# 选择特征和目标变量
features = data[['开盘', '涨跌额', '涨跌幅', '最低', '最高', '成交量', '成交金额']]
target = data['收盘']

# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(features, target, test_size=0.2, random_state=42)

# 训练模型
model = LinearRegression()
model.fit(X_train, y_train)

# 预测股票价格
predictions = model.predict(X_test)

# 对比实际价格进行验证
mse = mean_squared_error(y_test, predictions)
print('均方误差(MSE):', mse)

# 输出预测结果和实际价格
result = pd.DataFrame({'预测价格': predictions, '实际价格': y_test})
print(result)

import matplotlib.pyplot as plt

plt.rcParams['font.sans-serif'] = ['SimHei']  # 指定使用SimHei字体
plt.rcParams['axes.unicode_minus'] = False  # 解决负号显示问题

# 绘制预测价格和实际价格的图像
plt.plot(result.index, result['预测价格'], label='预测价格')
plt.plot(result.index, result['实际价格'], label='实际价格')
plt.xlabel('样本编号')
plt.ylabel('股票价格')
plt.title('预测价格 vs 实际价格')
plt.legend()
plt.show()

# 对于第一列的结果按照从大到小的顺序排序,可以使用pandas的sort_values方法。代码如下:

result_sorted = result.sort_values(by='预测价格', ascending=False)
print(result_sorted)

代码功能:

  1. 读取股票数据,并选择特征和目标变量(收盘价)。
  2. 将数据划分为训练集和测试集。
  3. 使用线性回归模型训练模型,并使用测试集进行预测。
  4. 计算预测结果的均方误差(MSE)。
  5. 输出预测结果和实际价格,并将预测价格降序排列。
  6. 绘制预测价格与实际价格的对比图。

使用说明:

  1. 将代码中的'E:\pythonProject5\深度学习\新建 XLS 工作表.xls'替换成你自己的股票数据文件路径。
  2. 运行代码,即可得到预测结果和对比图。

注意事项:

  1. 股票数据文件应为Excel格式。
  2. 股票数据应该包含必要的特征,例如开盘价、最高价、最低价、成交量等。
  3. 线性回归模型可能并不适用于所有类型的股票数据。
  4. 实际应用中,需要对模型进行更深入的评估和优化。

总结:

本代码提供了使用Python进行股票价格预测的基本框架,可以作为学习和研究的参考。在实际应用中,需要根据具体情况选择合适的模型和数据,并进行更深入的分析和优化。

Python股票价格预测模型 - 线性回归实现

原文地址: https://www.cveoy.top/t/topic/f3FB 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录