Python线性回归预测股票价格实战指南

晚来风
晚来风
发布时间:2026-10-13| 2人浏览过
原创

本文详细介绍如何利用Python中的线性回归模型预测股票价格。内容涵盖从数据获取、回归对象创建到训练集与测试集划分的完整流程,并通过具体代码示例展示如何实现最佳拟合线及可视化预测结果,适合希望入门量化分析的开发者参考。

线性回归在股票预测中的应用

线性回归在金融领域有着广泛的应用场景。在前面的教程中,我们曾利用普通最小二乘法(OLS)计算了公司Beta值相对于指数的表现。接下来,我们将演示如何使用线性回归技术来估算股票价格。

线性回归是一种用于模拟因变量(y)与自变量(x)之间关系的方法。简单线性回归仅包含一个自变量x,而多元线性回归则涉及多个独立变量。在本例中,我们仅使用一个自变量,即日期。日期被转换为从1开始、长度等于日期向量长度的整数序列,具体数值可根据时间序列数据调整。相应的,因变量即为股票价格。为了深入理解线性回归,我们需要回顾一个基础的数学公式。

y = a + bx

  • Y = 预测值或因变量
  • b = 直线的斜率
  • x = 系数或自变量
  • a = y轴截距

线性回归原理与最佳拟合线

从本质上讲,这构成了对数据的最佳拟合线。在OLS过程中,会绘制多条直线穿过数据集。该过程的目标是找到最佳拟合线,使得股票价格(y)的实际值与数据集中所有点的预测股票价格之间的平方误差和(SSE)最小化。这一过程由下图所示。对于绘制的每一条线,数据集中的每个点与模型输出的相应预测值之间存在差异。将这些差异分别平方后求和,得到平方和。从中选取最小值,从而确定我们的最佳匹配线。参考下图:

第一部分:获取数据:

Python实现:数据获取与模型构建


from matplotlib import style
 
from sklearn.linear_model import LinearRegression
 
from sklearn.model_selection import train_test_split
 
import quandl
 
import datetime
 
style.use('ggplot')
 
#Dates
 
start_date = datetime.date(2017,1,3)
 
t_date=start_date, end_date=end_date, collapse="daily")
 
df = df.reset_index()
 
prices = np.reshape(prices, (len(prices), 1))

第二部分:创建一个回归对象:


', linewidth=3, label = 'Predicted Price') #plotting the line made by linear regression
 
plt.title('Linear Regression | Time vs. Price')
 
plt.legend()
 
predicted_price =regressor.predict(date)

输出:

预测日期输入价格:

创建训练/测试集

训练测试集划分与可视化预测


et
 
xtrain, x , ytrain)
 
#Train
 
plt.title('Linear Regression | Time vs. Price')
 
#Test Set Graph
 
plt.scatter(xtest, ytest, color='yellow', label= 'Actual Price') #plotting the initial datapoints
 
plt.plot(xtest, regressor.predict(xtest), color='blue', linewidth=3, label = 'Predicted Price') #plotting
 
plt.show()

输出:

测试集:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持本站。

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。