使用线性回归模型预测黄金ETF价格
代码
# 用于数据处理 import numpy as np import pandas as pd # 用于获取数据 import akshare as ak # 导入线性回归模型 from sklearn.linear_model import LinearRegression # 导入画图库、设置主题和中文显示 import matplotlib.pyplot as plt import re plt.style.use('seaborn-darkgrid') plt.style.use('seaborn-v0_8-darkgrid') plt.rcParams['font.sans-serif'] = ['SimHei'] # 中文显示 plt.rcParams['axes.unicode_minus'] = False # 负数显示 # 设置忽略警告 import warnings warnings.filterwarnings('ignore') from datetime import datetime # 获取黄金ETF的历史行情数据 etf_data = ak.fund_etf_hist_em(symbol='518880', period='daily', start_date='20130801', end_date='20240517') # 只需要收盘价序列 Df = etf_data[['收盘']].rename(columns={'收盘':'Close'}) # 将Index设置为datetime格式的日期 Df.index = pd.to_datetime(etf_data['日期']).tolist() # 去除空值 Df = Df.dropna() # 画出黄金ETF的价格走势图 Df.Close.plot(figsize=(15, 8), color='red') plt.ylabel('黄金ETF价格') plt.title('黄金ETF价格序列') plt.show() # 计算均线因子 Df['S1'] = Df['Close'].rolling(window=55).mean() Df['S2'] = Df['Close'].rolling(window=60).mean() # 第二天的收盘价 Df['next_day_price'] = Df['Close'].shift(-1) Df = Df.dropna() # 定义解释变量 X = Df[['S1', 'S2']] # 定义因变量 y = Df['next_day_price']
生成
本文来自博客园,作者:方倍工作室,转载请注明原文链接:https://www.cnblogs.com/txw1958/p/18292591