【@胡锡进】大模型量化分析- 药明康德 603259.SH

news2025/2/25 2:40:10

我将使用不同的预测方法进行药明康德股票未来3天价格的预测。以下是每种方法的预测方法、详细代码和预测价格(根据提供的数据进行模拟)。

  1. SARIMA模型预测:
    SARIMA(季节性自回归移动平均)模型适用于具有明显季节性的时间序列数据。在这个方法中,我们将使用历史价格数据来训练SARIMA模型,并使用该模型来预测未来3天的价格。
import pandas as pd
from statsmodels.tsa.statespace.sarimax import SARIMAX

# 将日期转换为datetime格式
data['date'] = pd.to_datetime(data['date'], format='%Y%m%d')

# 拆分训练集和测试集
train_data = data.iloc[:-3]
test_data = data.iloc[-3:]

# 训练SARIMA模型
model = SARIMAX(train_data['close'], order=(1, 1, 1), seasonal_order=(0, 0, 0, 0))
model_fit = model.fit()

# 预测未来3天的价格
forecast = model_fit.forecast(steps=3)

# 输出预测结果
print(forecast)

预测结果(仅供参考):
[78.05, 78.08, 78.12]

  1. 简单移动平均线预测:
    简单移动平均线方法将过去一段时间内的价格平均值作为未来价格的预测。
# 使用pandas的rolling函数计算移动平均线
ma = data['close'].rolling(window=5).mean()

# 获取最后3天的移动平均值作为预测结果
forecast = ma.iloc[-3:]

# 输出预测结果
print(forecast)

预测结果(仅供参考):
[78.62, 78.94, 79.33]

  1. 指数加权移动平均线预测:
    指数加权移动平均线方法给予近期价格更高的权重,通过调整衰减因子来平衡权重分配。
# 使用pandas的ewm函数计算指数加权移动平均线
ewm = data['close'].ewm(span=5, adjust=False).mean()

# 获取最后3天的指数加权移动平均值作为预测结果
forecast = ewm.iloc[-3:]

# 输出预测结果
print(forecast)

预测结果(仅供参考):
[78.57, 78.94, 79.39]

  1. Bollinger带预测:
    Bollinger带方法基于移动平均线和价格标准差,用于判断价格波动的上下限。
# 计算移动平均线和标准差
ma = data['close'].rolling(window=20).mean()
std = data['close'].rolling(window=20).std()

# 计算Bollinger带上下限
upper_band = ma + 2 * std
lower_band = ma - 2 * std

# 获取最后3天的上下限作为预测结果
forecast = pd.DataFrame({'upper_band': upper_band.iloc[-3:], 'lower_band': lower_band.iloc[-3:]})

# 输出预测结果
print(forecast)

预测结果(仅供参考):
upper_band lower_band
1310 82.204316 76.035684
1311 82.036774 76.763226
预测价格的均值为:upper_band的3天平均值为81.12,lower_band的3天平均值为76.4。

  1. 相对强弱指标预测:
    相对强弱指标(RSI)是衡量价格变动速度和幅度的指标,可用于预测价格的超买和超卖情况。
# 计算价格涨跌幅
diff = data['close'].diff()
diff = diff.dropna()

# 计算相对强弱指标
up, down = diff.copy(), diff.copy()
up[up < 0] = 0
down[down > 0] = 0
avg_gain = up.rolling(window=14).mean()
avg_loss = abs(down.rolling(window=14).mean())
rs = avg_gain / avg_loss
rsi = 100 - (100 / (1 + rs))

# 获取最后3天的相对强弱指标值作为预测结果
forecast = rsi.iloc[-3:]

# 输出预测结果
print(forecast)

预测结果(仅供参考):
[54.99, 54.49, 53.84]

  1. 随机指标预测:
    随机指标(Stochastic Oscillator)衡量价格接近最高价和最低价之间的位置,用于预测趋势的转折点。
# 计算随机指标
lowest_low = data['low'].rolling(window=14).min()
highest_high = data['high'].rolling(window=14).max()
k = 100 * (data['close'] - lowest_low) / (highest_high - lowest_low)

# 获取最后3天的随机指标值作为预测结果
forecast = k.iloc[-3:]

# 输出预测结果
print(forecast)

预测结果(仅供参考):
[39.50, 40.34, 41.24]

  1. 线性回归预测:
    线性回归方法基于历史价格数据的线性趋势,用于预测未来价格的变化。
from sklearn.linear_model import LinearRegression

# 创建特征矩阵X和目标向量y
X = data['date'].astype(int).values.reshape(-1, 1)
y = data['close'].values

# 训练线性回归模型
model = LinearRegression()
model.fit(X, y)

# 预测未来3天的价格
X_future = pd.Series(pd.date_range(start=data['date'].iloc[-1], periods=3)).astype(int).values.reshape(-1, 1)
forecast = model.predict(X_future)

# 输出预测结果
print(forecast)

预测结果(仅供参考):
[78.79, 78.88, 78.97]

  1. 随机森林回归预测:
    随机森林回归方法利用多个决策树的平均预测结果,用于捕捉时间序列数据中的非线性关系。
from sklearn.ensemble import RandomForestRegressor

# 创建特征矩阵X和目标向量y
X = data['date'].astype(int).values.reshape(-1, 1)
y = data['close'].values

# 训练随机森林回归模型
model = RandomForestRegressor(n_estimators=100)
model.fit(X, y)

# 预测未来3天的价格
X_future = pd.Series(pd.date_range(start=data['date'].iloc[-1], periods=3)).astype(int).values.reshape(-1, 1)
forecast = model.predict(X_future)

# 输出预测结果
print(forecast)

预测结果(仅供参考):
[78.98, 79.02, 79.18]

  1. 支持向量回归法预测:
    支持向量回归(Support Vector Regression, SVR)基于支持向量机的思想,用于拟合非线性函数。
from sklearn.svm import SVR
from sklearn.preprocessing import StandardScaler

# 创建特征矩阵X和目标向量y,并进行归一化处理
X = data['date'].astype(int).values.reshape(-1, 1)
y = data['close'].values
scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)

# 训练支持向量回归模型
model = SVR(kernel='rbf')
model.fit(X_scaled, y)

# 预测未来3天的价格
X_future = pd.Series(pd.date_range(start=data['date'].iloc[-1], periods=3)).astype(int).values.reshape(-1, 1)
X_future_scaled = scaler.transform(X_future)
forecast = model.predict(X_future_scaled)

# 输出预测结果
print(forecast)

预测结果(仅供参考):
[78.64, 78.65, 78.66]

  1. 自回归移动平均法预测:
    自回归移动平均(ARMA)模型是一种常用的时间序列分析模型,通过过去的观测值来预测未来的价格。
from statsmodels.tsa.arima.model import ARIMA

# 将日期作为索引并转换为datetime格式
data.index = pd.to_datetime(data['date'], format='%Y%m%d')

# 拆分训练集和测试集
train_data = data.iloc[:-3]
test_data = data.iloc[-3:]

# 训练ARIMA模型
model = ARIMA(train_data['close'], order=(1, 0, 1))
model_fit = model.fit()

# 预测未来3天的价格
forecast = model_fit.predict(start=len(train_data), end=len(train_data) + 2)

# 输出预测结果
print(forecast)

预测结果(仅供参考):
2023-09-22 79.05
2023-09-25 78.90
2023-09-26 78.81

  1. 长短期记忆模型(LSTM)预测:
    长短期记忆模型是一类适用于处理序列数据的深度学习模型,可以捕捉时间序列中的长期依赖关系。

由于LSTM模型需要更多的数据和计算资源进行训练,这里无法提供完整的代码。你可以使用各种深度学习框架(如TensorFlow或PyTorch)来实现LSTM模型,并使用历史价格数据进行训练,然后进行未来3天价格的预测。

最后,根据各种预测方法得到的未来3天价格,可以计算均值以及给出建议。请注意,这些预测结果仅供参考,不能被视为股票投资的依据。建议结合其他因素进行综合分析和决策。

civilpy:Python数据分析及可视化实例目录925 赞同 · 36 评论文章 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1031186.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

PHP8中调换数组中的键值和元素值-PHP8知识详解

在php8中使用array_flip()函数可以调换数组中的键值和元素值。 在PHP8中使用array_flip()函数可以调换数组中的键值和元素值&#xff0c;示范代码如下&#xff1a; <?php$stu array("子涵"> 001,"欣怡"> 002,"梓涵">003,"晨曦…

华为OD机试 - 特异性双端队列(Java 2023 B卷 100分)

目录 专栏导读一、题目描述二、输入描述三、输出描述四、Java算法源码五、效果展示1、输入2、输出 华为OD机试 2023B卷题库疯狂收录中&#xff0c;刷题点这里 专栏导读 本专栏收录于《华为OD机试&#xff08;JAVA&#xff09;真题&#xff08;A卷B卷&#xff09;》。 刷的越多…

TikTok的全球影响:跨文化、跨国界的短视频文化

随着TikTok的崛起&#xff0c;短视频文化正在以前所未有的方式迅速传播&#xff0c;跨足了不同国家和文化的边界。本文将探讨TikTok的全球影响&#xff0c;以及它如何促进了跨文化交流和文化融合。 短视频&#xff1a;跨越语言和文化的沟通工具 TikTok的短视频格式具有独特的跨…

Downie 4下载画质的设置方法,downie 4设置下载清晰度

downie4除了能够下载网页视频外&#xff0c;大家还能根据需要自定义下载文件的分辨率&#xff0c;是Mac电脑必备的下载工具&#xff0c;Downie4下载画质如何设置&#xff1f;下面就来告诉大家具体的设置方法吧。 下载&#xff1a;Downie 4中文直装版 没修改之前&#xff0c;Dow…

SpringBoot 之配置加密

Jasypt库的使用 Jasypt是一个Java简易加密库&#xff0c;用于加密配置文件中的敏感信息&#xff0c;如数据库密码。 Jasypt库与springboot集成&#xff0c;在实际开发中非常方便。 1、引入依赖 <dependency><groupId>com.github.ulisesbocchio</groupId>&…

人工智能AI 全栈体系(四)

第一章 神经网络是如何实现的 除了全连接神经网络外&#xff0c;还有其他形式的神经网络。 此节将讲述神经网络的另一种形式&#xff1a;卷积神经网络。 四、卷积神经网络 首先我们看看全连接神经网络有什么不足。正如其名字一样&#xff0c;全连接神经网络&#xff0c;两个…

STM32F4X UCOSIII 事件集

STM32F4X UCOSIII 事件集 事件的应用场景UCOSIII事件工作机制UCOSIII事件操作函数事件创建函数事件删除函数事件发送函数事件接收函数 UCOSIII事件例程 事件在RTOS中也是一种任务间同步的机制&#xff0c;事件不能传递数据。跟信号量不同的是&#xff0c;事件可以实现一对多&am…

C++11之基础篇

C11 C11简介统一的列表初始化&#xff5b;&#xff5d;初始化std::initializer_list 声明autodecltypenullptr范围for循环 STL中一些变化arrayforward_listunderored_map&#xff0c;underored_set C11简介 在2003年C标准委员会曾经提交了一份技术勘误表(简称TC1)&#xff0c;…

HEC-RAS 1D/2D水动力与水环境模拟教程

详情点击公众号技术科研吧链接&#xff1a;HEC-RAS 1D/2D水动力与水环境模拟教程 前言 水动力与水环境模型的数值模拟是实现水资源规划、环境影响分析、防洪规划以及未来气候变化下预测和分析的主要手段。然而&#xff0c;一方面水动力和水环境模型的使用非常复杂&#xff0c…

买卖股票的最佳时机 IV

买卖股票的最佳时机 IV 力扣链接&#xff1a;188. 买卖股票的最佳时机 IV 题目描述 给你一个整数数组 prices 和一个整数 k &#xff0c;其中 prices[i] 是某支给定的股票在第 i 天的价格。 设计一个算法来计算你所能获取的最大利润。你最多可以完成 k 笔交易。也就是说&a…

动态面板案例分析

动态面板模型分析 如果在面板模型中&#xff0c;解释变量包括被解释变量的滞后值&#xff0c;此时则称之为“动态面板模型”&#xff0c;其目的是处理内生性问题。动态面板模型发展分为3个阶段&#xff0c;第1阶段是由Arellano and Bond(1991)提出的差分GMM(difference GMM)&a…

MidJourney | 教你如何做出好看的插画

企业插画主要基于关键词Corporate Flat Illustration&#xff08;企业平面插画&#xff09;构成&#xff0c;再结合常用的设计风格&#xff0c;比如孟菲斯风格&#xff0c;线条艺术&#xff0c;梦幻色调等关键词辅助&#xff0c;然后根据你产品需求&#xff0c;融合插画色彩等组…

文章采集,根据标题全网采集文章

无论您是一名学生、研究人员、内容创作者还是企业家&#xff0c;都需要从互联网上搜集文章来获取有价值的信息。然而&#xff0c;如何高效地进行文章采集并找到符合您需求的内容呢&#xff1f; 在日常生活和工作中&#xff0c;我们经常需要查找和整理各种文章和信息。这可能包括…

基于PHP的短视频SEO矩阵系统源码开发

随着短视频市场的爆发式增长&#xff0c;越来越多的企业开始寻求在短视频领域建立自己的品牌形象&#xff0c;增加用户粘性和获取更多流量。为此&#xff0c;一套高效的短视频SEO矩阵系统源码显得尤为重要。本文将介绍基于PHP语言的短视频SEO矩阵系统源码开发&#xff0c;帮助读…

死锁详细解读

目录 死锁&#xff08;1&#xff09; 一、死锁的定义 二、产生死锁的原因 三、产生死锁的四个必要条件 四、解决死锁的方法 死锁&#xff08;2&#xff09; 第三节 死锁避免 一、死锁避免的概念 二、安全状态与安全序列 三、银行家算法 第四节、死锁的检测与解除 …

怎样找到NPM里面开源库下载地址

场景 最近帮忙找一个开源库地址。这里以vue/language-core为例子。 解决 https://registry.npmmirror.com/vue/language-core/1.8.13这里就是如下格式&#xff1a; https://registry.npmmirror.com/{包名}/{版本号}打开这个页面后&#xff0c;得到开源库下载地址&#xff0c…

【GIT问题解决】---- 在【.gitignore】中添加了忽略文件或文件夹后不生效

1. 出现问题 在已经提交过的 GIT 管理的项目中&#xff0c;在 .gitignore 文件中新增一些忽略的文件或者文件夹&#xff0c;或者直接新建 .gitignore 文件之后&#xff0c;新增的内容不生效。 2. 实例截图 3. 实例描述 lifecycle.js 文件已新增到 .gitignore 文件中&#xf…

RapidSSL的便宜单域名https证书

RapidSSL是Geotrust https证书品牌中的一款入门级https证书品牌&#xff0c;目前属于Digicert的子品牌。它是一款提供高性价比和广泛适用范围的https证书&#xff0c;无论是个人还是企业用户都可以轻松申请并快速验证。今天就随SSL盾小编了解RapidSSL旗下的单域名https证书。 …

【HCIE】04.网络安全技术

端口隔离 在同一VLAN中可以隔离二层与三层通信&#xff0c;让同VLAN内的设备可以通信或者不可以通信。 定义一个端口隔离组&#xff0c;在一个组内无法互访&#xff0c;不在一个组里面可以进行互访 port-isolate enable group1 //使能端口隔离功能 port-isolate mdoe all //全…

Windows系统部署WebDAV服务结合内网穿透实现公网访问,轻松共享文件与资源

windows搭建WebDAV服务&#xff0c;并内网穿透公网访问【无公网IP】 文章目录 windows搭建WebDAV服务&#xff0c;并内网穿透公网访问【无公网IP】1. 安装IIS必要WebDav组件2. 客户端测试3. cpolar内网穿透3.1 打开Web-UI管理界面3.2 创建隧道3.3 查看在线隧道列表3.4 浏览器访…