import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression
from datetime import datetime
import yfinance as yf
# 获取股票数据
symbol = 'AAPL'
start_date = '2022-01-01'
end_date = '2023-01-01'
stock_data = yf.download(symbol, start=start_date, end=end_date)
# 选择多个特征作为y轴数据
y_data = stock_data[['Open', 'High', 'Low', 'Close']].values
# 使用日期作为x轴数据
x_data = np.array([(date - datetime(1970, 1, 1)).days for date in stock_data.index]).reshape(-1, 1)
# 创建多变量线性回归模型
model = LinearRegression()
# 训练模型
model.fit(x_data, y_data)
# 预测
y_pred = model.predict(x_data)
# 绘制原始数据和拟合线
plt.plot(stock_data.index, y_data, label='Actual Stock Prices')
plt.plot(stock_data.index, y_pred, label='Linear Fit', linestyle='--')
plt.title('Multivariate Linear Regression Fit for Stock Prices')
plt.xlabel('Date')
plt.ylabel('Stock Price')
plt.legend()
plt.show()
记录一下简单使用python实现股票的线程回归模型(多特征)
于 2023-11-15 21:50:51 首次发布