Python遗传算法GA优化SVR支持向量回归、ANFIS自适应神经模糊推理系统预测证券指数ISE数据

news2024/9/22 21:27:20

全文链接:https://tecdat.cn/?p=37060

本文旨在通过应用多种机器学习技术,对交易所的历史数据进行深入分析和预测。我们帮助客户使用了遗传算法GA优化的支持向量回归(SVR)、自适应神经模糊推理系统(ANFIS)等方法,对数据进行了特征选择、数据预处理、模型训练与评估。实验结果表明,这些方法在预测证券交易所指数(ISE)方面具有显著效果,为投资者和市场分析师提供了有价值的参考。

引言

股票指数(ISE)的波动直接影响投资者的决策。因此,准确预测ISE的走势对于市场参与者至关重要。本文利用机器学习技术,通过构建多种预测模型,对ISE的历史数据进行了详细分析,以期提高预测的准确性和实用性。

数据准备与预处理

数据集描述

本文使用的数据集来源于证券交易所,包含了一系列可能影响ISE指数波动的经济指标。数据集以CSV格式存储,通过Pandas库进行读取和处理。

pd.read_csv('Is.csv', delimiter=';')
    #print(df.head())
    return DataPrepare(df)

#data, target = ReadData()

 

# 重新加载数据,跳过可能包含重复列标题的行
df = pd.read_csv(file_path, delimiter=';', skiprows=[0, 1])

# 显示数据的前几行以确认结构
df.head()
# 重命名列名以反映数据的实际含义
df.columns = ['Date', 'ISE', 'ISE_USD', 'SP', 'DAX', 'FTSE', 'NIKKEI', 'BOVESPA', 'EU', 'EM']

# 将日期列转换为日期类型
df['Date'] = pd.to_datetime(df['Date'], format='%d-%b-%y')

# 绘制时间序列图
plt.figure(figsize=(15, 8))
for col in df.columns[1:]:
    plt.plot(df['Date'], df[col], label=col)

plt.title('时间序列数据可视化 - 证券交易所')
plt.xlabel('日期')
plt.ylabel('数值')
plt.legend()
plt.grid(True)
plt.show()
# 重命名列名以反映数据的实际含义
df.columns = ['Date', 'ISE', 'ISE_USD', 'SP', 'DAX', 'FTSE', 'NIKKEI', 'BOVESPA', 'EU', 'EM']

# 将日期列转换为日期类型
df['Date'] = pd.to_datetime(df['Date'], format='%d-%b-%y')

# 绘制时间序列图
plt.figure(figsize=(15, 8))
for col in df.columns[1:]:
    plt.plot(df['Date'], df[col], label=col)

plt.title('时间序列数据可视化 - 证券交易所')
plt.xlabel('日期')
plt.ylabel('数值')
plt.legend()
plt.grid(True)
plt.show()

 

 

数据预处理步骤

  1. 列名与索引处理:将第一行数据作为列名,并删除该行。同时,调整列名以匹配数据含义,如将“ISE”列重命名为“ISE.TL”和“ISE.USD”。
  2. 日期处理:将日期列转换为时间戳格式,以便进行时间序列分析。
  3. 特征与目标分离:将ISE指数作为目标变量,其余经济指标作为特征变量。

特征选择与降维

特征选择

通过随机森林回归模型进行特征选择,设定阈值为0.25,筛选出对目标变量影响较大的特征。该方法有效减少了模型的复杂度,提高了预测效率。

数据标准化

使用MinMaxScaler对数据进行标准化处理,确保所有特征在同一量纲下,避免因量纲差异导致的预测偏差。

模型构建与训练

支持向量回归(SVR)

采用RBF核函数的SVR模型对数据进行训练,通过调整C和epsilon参数优化模型性能。此外,还尝试使用遗传算法(GA)对SVR的参数进行全局优化,进一步提升预测精度。

自适应神经模糊推理系统(ANFIS)

构建ANFIS模型,通过构造高斯型隶属函数并训练模型,实现对ISE指数的模糊推理预测。同样,使用遗传算法对隶属函数的sigma参数进行优化,提高模型的适应性和准确性。

 

模型评估

评估指标

采用解释方差得分(explained variance score)、R²得分(r2_score)和均方根误差(RMSE)作为模型评估指标,全面衡量模型的预测性能。

实验结果

  • SVR模型:在遗传算法优化参数后,SVR模型的预测性能显著提升,尤其是在解释方差得分和R²得分方面表现优异。
SVMEvaluate(svr_model, x_test, y_test)
  • 遗传算法优化

    SVMGA()
    print(datetime.now()-start)
    SVM_ACO_Points

SVMEvaluate(svr_model, x_test, y_test)

  • ANFIS模型:通过遗传算法优化隶属函数参数,ANFIS模型在模糊推理预测中展现了良好的适应性和准确性,特别是在处理非线性关系时表现突出。
ANFISEvaluate(anf, x_test, y_test)

ANFIS模型:遗传算法优化后的ANFIS

ANFISGA()
print(datetime.now()-start)

 

 

 

 

结论与展望

本文通过应用多种机器学习技术,对证券交易所的历史数据进行了深入分析和预测。实验结果表明,SVR和ANFIS模型在预测ISE指数方面具有显著效果。未来工作可以进一步探索更多先进的机器学习算法,如深度学习模型,以及结合更丰富的数据源,以进一步提高预测的准确性和实用性。同时,也可以考虑将预测结果应用于实际的投资决策中,为投资者提供更为精准的市场分析服务。

参考文献

[1]阚子良,蔡志丹.基于优化参数的LS-SVM模型的股票价格时间序列预测[J].长春理工大学学报(自然科学版).2018,(1).
[2]郝知远.基于改进的支持向量机的股票预测方法[J].江苏科技大学学报(自然科学版).2017,(3).DOI:10.3969/j.issn.1673-4807.2017.03.015 .
[3]傅航聪,张伟.机器学习算法在股票走势预测中的应用[J].软件导刊.2017,(10).DOI:10.11907/rjdk.171549 .
[4]郝知远.基于数据挖掘方法的股票预测系统[D].2017.
[5]张建宽,盛炎平.支持向量机对股票价格涨跌的预测[J].北京信息科技大学学报(自然科学版).2017,(3).DOI:10.16508/j.cnki.11-5866/n.2017.03.008 .
[6]毕军龙.基于股指涨跌预测的投资策略[D].2016.
[7]Kumar, Deepak,Meghwani, Suraj S.,Thakur, Manoj.Proximal support vector machine based hybrid prediction models for trend forecasting in financial markets[J].Journal of computational science.2016,17(Nov. Pt.1).1-13.DOI:10.1016/j.jocs.2016.07.006 .
[8]尹小琴.基于支持向量机的混合时间序列模型的研究与应用[D].2016.
[9]朱磊.基于支持向量机的股价预测研究--以上证50成分股为例[D].2016.
[10]冯华萍.基于支持向量机的股票价格预测算法研究及应用[D].2016.

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

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

相关文章

全球价值链贸易核算matlab程序(TIVA与WWZ分解方法大全)以及区域表链接方法

数据来源:基础数据来源于世界银行、国家统计局时间范围:2007年数据范围:国家与行业层面样例数据: 包含内容: 全部数据下载链接:https://download.csdn.net/download/samLi0620/89567902

CAS乐观锁原理

1、什么是CAS? compare and swap也就是比较和交换,他是一条CPU的并发原语。 他在替换内存的某个位置的值时,首先查看内存中的值与预期值是否一致,如果一致,执行替换操作。 这个操作是一个原子性操作。 Java中基于Un…

学生选课表练习(面试题)

一、表结构: 学生表:Student(编号sid,姓名sname,生日birthday,性别ssex,班级 classid) 课程表:Course(课程编号cid,课程名称cname,教师编号tid&a…

《0基础》学习Python——第十九讲__爬虫/<2>

一、用get请求爬取一般网页 首先由上节课我们可以找到URL、请求方式、User-Agent以及content-type 即:在所在浏览器页面按下F12键,之后点击网路-刷新,找到第一条双击打开标头即可查看上述所有内容,将上述URL、User-Agent所对应的…

高考完的假期想学c语言 要注意那些问题?

在高考完的假期学习C语言是一个非常好的选择,可以为以后大学的专业学习打下坚实的基础。我收集制作一份C语言学习包,对于新手而言简直不要太棒,里面包括了新手各个时期的学习方向,包括了编程教学,数据处理,…

参考椭球体与坐标系|大地水准面|地理坐标系|投影坐标系|EPSG|SRID

相关概念之间的关系: 大地水准面 **大地水准面(Geoid)**是海洋表面在排除风力、潮汐等其他影响后,只考虑重力和地球自转影响下的形状,这个形状延伸过陆地生成的一个密闭的曲面。 简单来说:就是一个假想的由地球自由静止的海水平面&#xf…

最新matlab2024a安装教程

一、软件领取 领取方式: https://pan.baidu.com/s/1TeH5F7ilPQVeLc9S9eDmSQ?pwdqot6 二、安装步骤 1、右击下载好的安装包,选择解压缩。(用电脑自带的解压功能或解压软件都可以,我这里用的电脑自带的) 2、打开…

购物车案例(源码分享)

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 非常期待和您一起在这个小…

3D建模软件--犀牛Rhino for Mac

Mac分享吧 文章目录 效果一、下载软件二、开始安装1、双击运行软件,将其从左侧拖入右侧文件夹中,等待安装完毕2、应用程序显示软件图标,表示安装成功 三、运行测试安装完成!!! 效果 一、下载软件 下载软件…

中国城市房地产政策汇总数据(1957-2024.7)

房地产政策是ZF为了引导和调控房地产市场,确保其健康稳定发展而制定的一系列法律法规和行政措施。包括政策类型、政策内容、限价、限购、土地供应、人才政策等,旨在平衡供需、稳定房价、保护消费者权益、促进资源合理配置及维护市场秩序。包括1957年以来…

看准JS逆向案例:webpack逆向解析

🔍 逆向思路与步骤 抓包分析与参数定位 首先,我们通过抓包工具对看准网的请求进行分析。 发现请求中包含加密的参数b和kiv。 为了分析这些加密参数,我们需要进一步定位JS加密代码的位置。 扣取JS加密代码 定位到JS代码中的加密实现后&a…

C++ 基础和基本语法

文章目录 1. 简介 2. 基本解释 示例解释 3. 程序结构 HELLO WORLD 编译 & 执行 C 程序 4. 分号 和 语句块 5. 标识符 6. 关键字 7. 注释 1. 简介 C 是一种静态类型的、编译式的、通用的、大小写敏感的、不规则的编程语言,支持过程化编程、面向对象编…

【HCIA-综合实验】

实验拓扑 实验要求 总经理VLAN2 财务部VLAN3 销售部VLAN4 DNS服务器VLAN5。SW3为VLAN2 3 4 5的网关, SW3启用接口地址池为VLAN2 3动态分配地址。交换机连接终端开启边缘端口,并进行BPDU保护,在SW1和SW2、SW3进行STP优化。R1和SW3链路聚合&am…

Linux 内核模块加载知多少

文章目录 目录 1. 内核模块 内核模块的作用 2. 内核模块的加载 2.1 内核模块的加载过程 2.2 内核模块加载方式 使用 insmod 加载模块 使用 modprobe 加载模块 2.3 内核模块加载顺序 3. 常用的相关命令 4. 总结 工作还在继续,学习还在继续,学习…

【算法/学习】前缀和差分

前缀和&&差分目录 1. 前缀和的概念及作用 🌈概念 🌈用途 🌙一维前缀和 🌙二维前缀和 2. 差分的概念及用途 🌈概念: 🌈用途 🌙一维差分 🌙二维差分 1. …

sap 权限控制例子

文章目录 1 T-code2 Method3 Summary 1 T-code We use t-code is ‘su21’ and ‘PFCG’ . Creat Authorization objects . Create role 2 Method DATA: zbz(1).CLEAR:zbz.SELECT SINGLE COUNT(*) FROM agr_users WHERE uname sy-uname AND agr_name ZMM_PRICE001.&q…

redis全局唯一ID生成策略、countDownLatch、Lambda表达式总结

redis全局唯一ID生成策略 一、有哪些生成全局唯一ID的策略二、使用Redis自增1. 分析2. RedisIdWorker配置类3 单元测试注解分析(难点较多)3.1 countDownLatch前言3.2 常用方法 一、有哪些生成全局唯一ID的策略 二、使用Redis自增 1. 分析 2. RedisIdWor…

《数据结构1800题》基础回合总结——第1章 绪论

前言:《数据结构1800》这本书相信大家或多或少都有所耳闻,收录了诸多不同档次学校的考研真题,因为和汤老师的1800撞名所以备受调侃。这1800道题目里面有选择有填空,也有简答和一些编程题,总的来说质量良莠不齐——亦或…

Transformer之Swin-Transformer结构解读

写在最前面之如何只用nn.Linear实现nn.Conv2d的功能 很多人说,Swin-Transformer就是另一种Convolution,但是解释得真就是一坨shit,这里我郑重解释一下,这是为什么? 首先,Convolution是什么? Co…

GaussianPro使用笔记

1. 介绍 GaussianPro: 3D Gaussian Splatting with Progressive Propagation 3D高斯分布(3DGS)最近以其高保真度和效率彻底改变了神经渲染领域。然而,3DGS在很大程度上依赖于运动结构(SfM)技术生成的初始化点云。当处理不可避免地包含无纹理…