使用线性回归模型预测黄金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']
复制代码

 

生成

 

posted @   方倍工作室  阅读(32)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 盘点!HelloGitHub 年度热门开源项目
· DeepSeek V3 两周使用总结
· 02现代计算机视觉入门之:什么是视频
· C#使用yield关键字提升迭代性能与效率
· 回顾我的软件开发经历(1)
历史上的今天:
2012-07-09 CMMI能力成熟度模型集成的过程域
2012-07-09 PMP项目经理认证
2012-07-09 CMMI 能力成熟度模型集成
2012-07-09 ISTQB 软件测试资质认证
2012-07-09 ISO/IEC 27001 信息安全管理体系认证
2012-07-09 TL9000 电信业质量体系管理标准
2012-07-09 ISO9000 质量管理和质量保证系列国际标准
点击右上角即可分享
微信分享提示