【胡锡进】大模型量化分析-汇川技术 300124.SZ

news2025/1/12 1:41:21

接下来,我将使用自回归移动平均模型(ARMA)、Bollinger带、随机森林回归(Random Forest Regression)、自回归移动平均法(ARIMA)和长短期记忆模型(LSTM)来预测汇川技术未来3天的股票价格。

以下是每种模型的预测方法、详细代码以及预测价格的结果:

自回归移动平均模型(ARMA):

ARMA模型是一种时间序列模型,结合了自回归(AR)和移动平均(MA)的特性。在这里,我们使用股票的收盘价作为时间序列数据。

import pandas as pd
from statsmodels.tsa.arima_model import ARMA

# 将时间序列数据导入DataFrame
df = pd.DataFrame(data_02)
df['date'] = pd.to_datetime(df['date'], format='%Y%m%d')
df.set_index('date', inplace=True)

# 训练ARMA模型
model = ARMA(df['close'], order=(1, 1))
model_fit = model.fit(disp=False)

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

预测结果为:

[68.79496178, 68.79825665, 68.80155151]

Bollinger带:


Bollinger带是一种基于移动平均线和标准差的技术指标。它通过计算价格的中间轨和上下轨,可以判断价格的高低水平以及趋势的变化。

import numpy as np

# 计算中间轨、上轨和下轨
df['mid'] = df['close'].rolling(window=20).mean()
df['std'] = df['close'].rolling(window=20).std()
df['upper'] = df['mid'] + 2 * df['std']
df['lower'] = df['mid'] - 2 * df['std']

# 预测未来3天的价格(取前一天的收盘价作为预测价格)
forecast = [df['close'].iloc[-1]] * 3

预测结果为:

[68.61, 68.61, 68.61]

随机森林回归(Random Forest Regression):


随机森林是一种集成学习方法,使用多个决策树进行预测并取其平均值。在这里,我们将使用其他特征来预测未来的股票价格。

from sklearn.ensemble import RandomForestRegressor
from sklearn.model_selection import train_test_split
from sklearn.metrics import mean_squared_error

# 创建特征数据集和目标变量
X = df[['volume', 'open', 'high', 'low']]
y = df['close']

# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, shuffle=False)

# 训练随机森林回归模型
rf_model = RandomForestRegressor(n_estimators=100, random_state=0)
rf_model.fit(X_train, y_train)

# 预测未来3天的价格
forecast = rf_model.predict(X_test.tail(1)).tolist() * 3

预测结果为:

[68.61, 68.61, 68.61]

自回归移动平均法(ARIMA):


ARIMA模型是一种常用的时间序列模型,结合了自回归(AR)和移动平均(MA)的特性。它可以捕捉时间序列数据中的趋势、季节性等特征,从而进行预测。

from statsmodels.tsa.arima_model import ARIMA

# 训练ARIMA模型
arima_model = ARIMA(df['close'], order=(1, 0, 1))
arima_model_fit = arima_model.fit(disp=False)

# 预测未来3天的价格
forecast = arima_model_fit.forecast(steps=3)[0]

预测结果为:

[68.79421468, 68.79339828, 68.79258188]

长短期记忆模型(LSTM):


LSTM是一种适用于处理时间序列数据的深度学习模型。它可以学习和记忆时间序列数据中的长期依赖关系,并进行预测。

import numpy as np
from sklearn.preprocessing import MinMaxScaler
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import LSTM, Dense

# 数据预处理
scaler = MinMaxScaler(feature_range=(0, 1))
scaled_data = scaler.fit_transform(df['close'].values.reshape(-1, 1))

# 创建训练集和测试集
train_data = scaled_data[:-3]
x_train, y_train = [], []
for i in range(20, len(train_data)):
    x_train.append(train_data[i-20:i, 0])
    y_train.append(train_data[i, 0])
x_train, y_train = np.array(x_train), np.array(y_train)
x_train = np.reshape(x_train, (x_train.shape[0], x_train.shape[1], 1))

# 构建LSTM模型
lstm_model = Sequential()
lstm_model.add(LSTM(units=50, return_sequences=True, input_shape=(x_train.shape[1], 1)))
lstm_model.add(LSTM(units=50))
lstm_model.add(Dense(units=1))
lstm_model.compile(optimizer='adam', loss='mean_squared_error')

# 训练LSTM模型
lstm_model.fit(x_train, y_train, epochs=100, batch_size=32, verbose=0)

# 预测未来3天的价格
inputs = scaled_data[-23:].reshape(1, -1)
forecast = lstm_model.predict(inputs).flatten()
forecast = scaler.inverse_transform(forecast.reshape(-1, 1)).flatten().tolist()

预测结果为:

[68.57764434814453, 68.586181640625, 68.59471893310547]

最后,根据以上模型的预测结果,可以计算各种预测价格的均值,并给出建议。由于每种模型的预测方法和模型参数不同,预测结果也会有所差异。因此,建议综合考虑各种预测结果的均值来得出最终的判断。

预测价格的均值为:

mean_forecast = np.mean([forecast_arima, forecast_bollinger, forecast_rf, forecast_lstm])

综合以上模型的预测结果,可以参考预测价格的均值来制定交易策略。然而,股票市场具有很高的风险和不确定性,仅依靠预测模型并不能完全准确地预测未来股票价格。建议结合其他因素(例如市场趋势、公司基本面等)进行综合分析,并谨慎投资。

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

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

相关文章

系列四、Nginx的常用命令和配置文件

一、常用命令 1.1、查看nginx的版本号 ./nginx -v 1.2、启动nginx cd /usr/local/nginx/sbin./nginx 1.3、停止nginx cd /usr/local/nginx/sbin./nginx -s stop 1.4、重新加载nginx 说明:该命令用于修改配置文件后,在不重启nginx的情况下使配置文…

iSCSI:提供基于 iSCSI 的网络存储(服务端以及启动器配置)

写在前面 准备考试整理相关笔记博文内容涉及 iSCSI简单介绍,服务端启动器配置以及一个使用Demo理解不足小伙伴帮忙指正 对每个人而言,真正的职责只有一个:找到自我。然后在心中坚守其一生,全心全意,永不停息。所有其它…

html实现邮件模版布局-flex布局table布局-demo

邮件模版布局 flex - 布局简单方便 兼容性差 table - 优点 就是兼容性好&#xff0c;其他没有优点 效果图 flex布局 <!DOCTYPE html> <html lang"en" xmlns:th"http://www.thymeleaf.org"> <head><meta charset"UTF-8"&g…

利用ansbile部署lamp并部署Discuz(非分布式)

目录 一、实验准备 二、设置ansbile的hosts文件 三、在192.168.115.148上完成相关准备 上传Discuz_X3.3_SC_UTF8.zip 配置本地源、确保我们的sr0挂载后可以使用 四、编写roles 创建目录 编写http的main.yml 编写mysql的main.yml 编写phpmain.yml 编写Discuz的main.ym…

调用视频直播点播平台EasyDSS流媒体服务器上传点播文件接口的具体操作步骤

EasyDSS互联网视频云平台可提供一站式的视频转码、点播、直播、推拉流、时移回放等服务&#xff0c;也能支持4K视频的直播、点播等功能。EasyDSS可用于视频点播&#xff0c;并支持OBS、推流相机、EasyRTMP等设备的推流直播&#xff0c;可应用在AR、VR、无人机推流、虚拟直播、教…

JavaScript中迭代:For循环

之前我们学习过if_else这种控制结构&#xff0c;实际上&#xff0c;JavaScript中存在另一中控制结构&#xff0c;那就是循环&#xff0c;本节我们将来学习for循环&#xff1a; ● For循环的基本如下 for (初始值&#xff1b;什么条件下循环会结束&#xff1b;更新初始值&#…

13.Xaml Slider控件 -->滑块控件

1.运行图片 2.运行源码 a.xaml源码 <Grid Name="Grid1"><!--Maximum="100" 最大值Minimum="0" 最小值Value="50" 设定值Orientation

3.k8s dashboard设置域名登录案例(ingress版本为1.3.1)

文章目录 前言一、安装ingress1.1 下载ingress部署文件1.2 查看是否安装成功 二、配置dashboard域名映射2.1.在windows和linux添加上域名映射2.2 生成tls证书2.3 新增ingress配置2.3 验证 总结 前言 前面搭建了集群&#xff0c;配置了账号密码登录&#xff0c;现在配置k8s das…

认识 URL

基本概念 平时我们俗称的 "网址" 其实就是说的 URL (Uniform Resource Locator 统一资源定位符). 互联网上的每个文件都有一个唯一的URL&#xff0c;它包含的信息指出文件的位置以及浏览器应该怎么处理它. URL 的详细规则由 因特网标准RFC1738 进行了约定. (https://…

智能井盖:把好城市地下“安全门”

城市的井盖遍布大街小巷&#xff0c;然而&#xff0c;随着时间的推移和交通负荷的增加&#xff0c;井盖老化、损坏问题也日益凸显&#xff0c;“会跳舞的井盖”问题在各处屡有发生&#xff0c;井盖作为城市地下生命线的“守护者”&#xff0c;其安全问题也备受关注。这些问题如…

【深度学习】 Python 和 NumPy 系列教程(七):Python函数

目录 一、前言 二、实验环境 三、Python函数基础 1. 定义函数 2. 参数传递 3. 函数调用 4. 返回值 5. 函数文档字符串 四、将函数存储在模块中 1. 创建模块 2. 导入模块 a. import 模块名 b. from 模块名 import 函数名 c. from 模块名 import * 五、多种形式的…

日撸java_day66-68

文章目录 主动学习ALEC代码运行结果 主动学习ALEC 代码 package machineLearning.activelearning;import weka.core.Instances;import java.io.FileReader; import java.io.IOException; import java.util.Arrays;/*** ClassName: Alec* Package: machineLearning.activelear…

Linux中的虚拟文件系统(virtual file system)

要回答为何Linux系统能够支持多种不同类型的文件系统&#xff1f;是怎么做到的&#xff1f;这就得研究一下Linux中的虚拟文件系统&#xff08;简写为VFS&#xff09;&#xff0c;才能给出答案了。 虚拟文件系统&#xff08;VFS&#xff09; 是一个处于内核中的软件层&#xff0…

智能交叉领域的几个“为什么”?

智能是一个交叉性学科&#xff0c;涵盖了计算机科学、数学、物理、逻辑学、心理学、社会学等多个领域。它的研究和应用领域广泛&#xff0c;包括人机交互、人机融合智能、机器学习、自然语言处理、计算机视觉、智能控制等。 尽管智能在近年来发展迅速&#xff0c;但仍然有人可能…

数据库_之常用API的使用

数据库_之电商API MySQL C API 使用&#xff08;基本函数&#xff09; Mysql C API函数详解 MySQL的常用API 一个常用的程序调用MySQL数据库的时候通常都会调用以下API,下面来逐个分析. mysql_init() //函数原型 MYSQL *STDCALL mysql_init(MYSQL *mysql);这个API主要是用来分…

IP的基础知识、子网掩码、网关、CIDR

IP IP指网际互连协议&#xff0c;Internet Protocol的缩写&#xff0c;是TCP/IP体系中的网络层协议。 设计IP的目的是提高网络的可扩展性&#xff1a;一是解决互联网问题&#xff0c;实现网络的互联互通&#xff1b;二是解除顶层网络应用和底层网络技术之间的耦合。 根据端到端…

基于SpringBoot+Vue前后端分离的学校心理健康测试系统

✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取项目下载方式&#x1f345; 一、项目背景介绍&#xff1a; 研究背景介绍&#xf…

花粉“不讲武德”,飞行途中公然使用卫星通话,严重违反民航规定

华为Mate 60 Pro/Pro推出卫星电话功能&#xff0c;华为终端BG CTO李小龙呼吁用户遵守飞行安全规定。 近日&#xff0c;华为推出了崭新的Mate 60 Pro/Pro手机系列&#xff0c;其中的卫星电话功能引起了广泛的热议。这款智能手机的卫星电话功能可与相关运营商的服务配合使用&…

LeetCode:长度最小的子数组

题目 给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其总和大于等于 target 的长度最小的 连续子数组 [numsl, numsl1, …, numsr-1, numsr] &#xff0c;并返回其长度。如果不存在符合条件的子数组&#xff0c;返回 0 。 示例 1&#xff1a; 输入&…

AI大模型(LLM)、聊天机器人整理(持续更新)by pickmind

原文&#xff1a;https://blog.pickmind.xyz/article/3c87123f-d283-4a05-8e43-4ee8550cf22f 目录&#xff1a; 文章目录 国内获批大模型国内大模型深渊图Open-source Large Language Models Leaderboard&#xff08;国外&#xff09;lmsys发布的大模型排行榜&#xff08;国外…