股票训练机器学习全过程

使用 Python 进行股票价格预测的简单机器学习示例,使用线性回归算法。这个示例仅作为学习参考,实际股票市场复杂多变,不能完全依赖此类简单模型进行投资决策。

1. 数据获取与准备:我们使用  pandas  和  yfinance  库来获取股票数据。首先确保你已经安装了这两个库( pip install pandas yfinance )。

import pandas as pd

import yfinance as yf

import numpy as np

from sklearn.linear_model import LinearRegression

from sklearn.model_selection import train_test_split

import matplotlib.pyplot as plt

# 获取股票数据

ticker = 'AAPL' # 这里以苹果公司股票为例,你可以换成其他股票代码

data = yf.download(ticker, start='2010-01-01', end='2024-12-31')

# 选择特征和目标变量

# 这里简单地使用前一天的收盘价作为特征,预测当天的收盘价

data['Tomorrow'] = data['Close'].shift(-1)

data = data.dropna()

X = data[['Close']]

y = data['Tomorrow']

2. 划分训练集和测试集:将数据划分为训练集和测试集,通常训练集用于训练模型,测试集用于评估模型的性能。

# 划分训练集和测试集

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

3. 训练模型:使用线性回归模型进行训练。

# 创建并训练线性回归模型

model = LinearRegression()

model.fit(X_train, y_train)

4. 评估模型:使用测试集来评估模型的性能,这里使用均方误差(MSE)来衡量预测的准确性。

# 进行预测

y_pred = model.predict(X_test)

# 计算均方误差

from sklearn.metrics import mean_squared_error

mse = mean_squared_error(y_test, y_pred)

print(f"均方误差: {mse}")

5. 可视化结果:将预测结果与实际结果进行可视化展示。

# 可视化预测结果

plt.figure(figsize=(12, 6))

plt.scatter(X_test, y_test, label='实际值')

plt.plot(X_test, y_pred, color='red', linewidth=2, label='预测值')

plt.xlabel('前一天收盘价')

plt.ylabel('当天收盘价')

plt.title(f'{ticker} 股票价格预测')

plt.legend()

plt.show()

以上代码展示了一个基本的股票价格预测的机器学习过程。在实际应用中,可以尝试使用更多的特征(如成交量、技术指标等)、更复杂的模型(如神经网络、随机森林等)来提高预测的准确性。同时,要注意股票市场的不确定性和风险。